diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/.gitignore b/frameworks/bridge/arkts_frontend/koala_mirror/.gitignore index a8fabecf693ed2e3ba01e28a1fb70d7f71d71132..7440df3c77f5f1fafbe41de25e347e545c5b23b3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/.gitignore +++ b/frameworks/bridge/arkts_frontend/koala_mirror/.gitignore @@ -1,5 +1,6 @@ **/node_modules build +build-m3* dist arkoala/tools/peer-generator/arkoala **/package-lock.json @@ -9,7 +10,6 @@ arkoala/tools/peer-generator/arkoala **/target **/cjpm.lock **/CallsiteKey.o -sdk interface_sdk-js .ninja_log **/.hvigor @@ -20,8 +20,15 @@ interface_sdk-js **/*.abc cachegrind.out.* perf.data* -**/arktsconfig-unmemoized-merged.json -koala_build.log +/ui2abc/memo-plugin/tests/out +*.tsbuildinfo +ui2abc/libarkts/lib +ui2abc/memo-plugin/lib +ui2abc/ui-plugins/lib +incremetal-cj/runtime/ck .rollup.cache tsconfig.tsbuildinfo -**/out +*.meta.json +out +sdk +koala_build.log diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/gn/command/npm.py b/frameworks/bridge/arkts_frontend/koala_mirror/gn/command/npm_util.py similarity index 54% rename from frameworks/bridge/arkts_frontend/koala_mirror/incremental/gn/command/npm.py rename to frameworks/bridge/arkts_frontend/koala_mirror/gn/command/npm_util.py index 3001ce911cc005fed1fa117fba34a2191706f9ee..37b992e6f58a577394c7cc0f22369034334cd569 100755 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/gn/command/npm.py +++ b/frameworks/bridge/arkts_frontend/koala_mirror/gn/command/npm_util.py @@ -13,58 +13,54 @@ # See the License for the specific language governing permissions and # limitations under the License. +import argparse +import shutil import subprocess -import sys import os -import shutil -import argparse +import sys NPM_REPO = "https://repo.huaweicloud.com/repository/npm/" - + parser = argparse.ArgumentParser(description="npm command parser") parser.add_argument("--project-path", help="project directory in koala repo") parser.add_argument("--node-path", help="nodejs path") parser.add_argument("--arklink-path", help="ark-link path") parser.add_argument("--es2panda-path", help="es2panda path") parser.add_argument("--stdlib-path", help="stdlib path") -parser.add_argument("--target-out-path", help="out directory of built target", default=None) -parser.add_argument("--built-file-path", help="result of building", default=None) +parser.add_argument("--target-out-path", help="out directory of built target") +parser.add_argument("--built-file-path", help="result of building") +parser.add_argument("--install", action="store_true", help="request npm install") +parser.add_argument("--install-path", help="path to install in") parser.add_argument("--npm-args", nargs='+', help="npm command args") args = parser.parse_args() project_path = args.project_path -node_path = args.node_path -arklink_path = args.arklink_path -es2panda_path = args.es2panda_path -ets_stdlib_path = args.stdlib_path +koala_log = os.path.join(project_path, "koala_build.log") -target_out_path = args.target_out_path -built_file_path = args.built_file_path -npm_args = args.npm_args +if args.node_path is None: + print("Error: --node-path is expected") + sys.exit(1) -env = os.environ.copy() -env_orig = env["PATH"] -env["PATH"] = f"{node_path}:{env['PATH']}" +os.environ["PATH"] = f"{args.node_path}:{os.environ['PATH']}" -if (es2panda_path != ""): - env["ES2PANDA_PATH"] = es2panda_path -if (arklink_path != ""): - env["ARKLINK_PATH"] = arklink_path -if (ets_stdlib_path != ""): - env["ETS_STDLIB_PATH"] = ets_stdlib_path +if args.es2panda_path: + os.environ["ES2PANDA_PATH"] = args.es2panda_path +if args.arklink_path: + os.environ["ARKLINK_PATH"] = args.arklink_path +if args.stdlib_path: + os.environ["ETS_STDLIB_PATH"] = args.stdlib_path -env["PANDA_SDK_PATH"] = os.path.join(project_path, "../ui2abc/build/sdk") +os.environ["PANDA_SDK_PATH"] = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../ui2abc/build/sdk") -koala_log = os.path.join(project_path, "koala_build.log") +def run(args, dir = None): + os.chdir(dir or project_path) -def execute(dir, args): - os.chdir(dir) - if env.get("KOALA_LOG_STDOUT") is not None: - subprocess.run(args, env=env, text=True, check=True, stderr=subprocess.STDOUT) + if os.environ.get("KOALA_LOG_STDOUT"): + subprocess.run(["npm"] + args, env=os.environ, text=True, check=True, stderr=subprocess.STDOUT) return try: - ret = subprocess.run(args, capture_output=True, env=env, text=True, check=True) + ret = subprocess.run(["npm"] + args, capture_output=True, env=os.environ, text=True, check=True) with open(koala_log, "a+") as f: f.write("\n") f.write("install log:\n" + ret.stdout) @@ -75,23 +71,23 @@ def execute(dir, args): f.write("error message: "+ e.stderr + "\n") f.close() -def install(dir): - execute(dir, ["npm", "install", "--registry", NPM_REPO, "--verbose"]) +def install(dir = None): + run(["install", "--registry", NPM_REPO, "--verbose"], dir or project_path) -def npm_command(dir, command): - execute(dir, ["npm"] + command) +def copy_target(): + if not os.path.exists(args.built_file_path): + print(f"Error: Built file not found at {args.built_file_path}") + sys.exit(1) + out_dir = os.path.join(args.target_out_path, os.path.basename(args.built_file_path)) + shutil.copy(args.built_file_path, out_dir) def main(): - install(project_path) - npm_command(project_path, npm_args) - - if target_out_path and built_file_path: - if not os.path.exists(built_file_path): - print(f"Error: Built file not found at {built_file_path}") - sys.exit(1) - - out_dir = os.path.join(target_out_path, os.path.basename(built_file_path)) - shutil.copy(built_file_path, out_dir) + if args.install: + install(args.install_path) + if args.npm_args: + run(args.npm_args) + if args.target_out_path and args.built_file_path: + copy_target() if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/BUILD.gn b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/BUILD.gn index d1d58e1c619ba49fc7b777b337c0488fc425a446..e941632dc7fa763d641104251153b0239a347d12 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/BUILD.gn +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/BUILD.gn @@ -15,14 +15,25 @@ import("//build/config/components/ets_frontend/ets2abc_config.gni") import("//build/ohos.gni") import("//foundation/arkui/ace_engine/ace_config.gni") -incremental_root = "" koala_root = ".." node_version = "v16.20.2" host_arch = "${host_os}-${host_cpu}" +action("incremental_install") { + script = "../gn/command/npm_util.py" + outputs = [ + "$target_out_dir/incremental_install" + ] + args = [ + "--project-path", rebase_path("."), + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--install" + ] +} + action("incremental.abc") { - script = "gn/command/npm.py" + script = "../gn/command/npm_util.py" outputs = [ "$target_out_dir/incremental.abc" ] @@ -36,8 +47,7 @@ action("incremental.abc") { ] deps = [ - "${ohos_ets_api_deps}", - "${ohos_ets_arkts_deps}", + ":incremental_install", "$koala_root/ui2abc:ui2abc" ] @@ -51,6 +61,7 @@ action("incremental.abc") { group("incremental") { deps = [ - "$incremental_root:incremental.abc" + "../ui2abc:fast_arktsc_build", + ":incremental.abc" ] } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/build-common/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/build-common/package.json index 183b404f641bc4f4182d5cdc844ced5414ff6a76..4f4c02b3ff1190dcc26f95371c02d477c101dc59 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/build-common/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/build-common/package.json @@ -1,11 +1,11 @@ { "name": "@koalaui/build-common", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "files": [ "tsconfig.json" ], "scripts": { - "compile": "" + "compile:release": "" } } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/package.json index 56a5434918e018202f752985c4f03082dd232fd0..61fc1f609a8fa328208c7efcded4314e28590d49 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/package.json @@ -1,6 +1,6 @@ { "name": "@koalaui/common", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "main": "build/lib/src/index.js", "types": "./index.d.ts", @@ -33,6 +33,7 @@ }, "scripts": { "compile": "ets-tsc -b .", + "compile:release": "ets-tsc -b .", "clean": "rimraf build", "test": "mocha", "test:coverage": "nyc mocha", @@ -43,7 +44,7 @@ }, "keywords": [], "dependencies": { - "@koalaui/compat": "1.7.3+devel" + "@koalaui/compat": "1.7.4+devel" }, "devDependencies": { "@ohos/hypium": "1.0.6", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/KoalaProfiler.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/KoalaProfiler.ts index 639b5d82b5ee4a30bada9869e40f464bf3901a49..3eba324d8ed29b526e06490aaf2573e77afbc55e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/KoalaProfiler.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/KoalaProfiler.ts @@ -22,7 +22,7 @@ import { int32 } from "@koalaui/compat" const DEBUG_WITH_NODE_STATS = false export class KoalaProfiler { - private static readonly map = DEBUG_WITH_NODE_STATS + private static readonly map: Map > | undefined = DEBUG_WITH_NODE_STATS ? new Map>() : undefined diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/Matrix33.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/Matrix33.ts index 9ff2feb33895acfd48b904e54e2d98c708139a89..c7087e64598d5d043e57abfeb0eb269c641996e3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/Matrix33.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/Matrix33.ts @@ -13,13 +13,13 @@ * limitations under the License. */ -import { Array_from_number, float32, float64 } from "@koalaui/compat" +import { Array_from_number, float32, float64, float64To32 } from "@koalaui/compat" export function mat33(array?: Float32Array): Matrix33 { return (array == undefined) ? new Matrix33 () : new Matrix33(array) } -const tolerance: float32 = (1.0 / (1 << 12)) +const tolerance: float32 = float64To32(1.0 / (1 << 12)) export class Matrix33 { public readonly array: Float32Array diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/PerfProbe.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/PerfProbe.ts index 61db32f6711c99d473ca8791c13d497d280fdf6f..5fd57dd2c070fdff4d8158641fe3366aea54e298 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/PerfProbe.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/PerfProbe.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import { float64, int32, timeNow, numberToFixed } from "@koalaui/compat" +import { float64, int32, timeNow, numberToFixed, float64ToInt } from "@koalaui/compat" /** * A probe to measure performance. @@ -312,7 +312,7 @@ class MainPerfProbeImpl extends PerfProbeImpl implements MainPerfProbe { push(probe: PerfProbeImpl) { probe.parent = this.currentProbe - probe.index = probe.parent ? probe.parent!.children.length as int32 : 0 + probe.index = probe.parent ? float64ToInt(probe.parent!.children.length) : 0 if (probe.parent) probe.parent!.children.push(probe) this.currentProbe = probe } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/index.ts index 8ecbb2c9ab689964d652307eb21cebcd8a4a9827..ec40ff6d2383e1de8d98761a0f8bee355c8a4668 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/index.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -20,7 +20,10 @@ export { float32, float64, asArray, asFloat64, + charToInt, float32FromBits, + float64ToInt, + float64ToLong, int32BitsFromFloat, Array_from_set, AtomicRef, @@ -37,6 +40,7 @@ export { propDeepCopy, refEqual, int8Array, + errorAsString, unsafeCast, scheduleCoroutine, memoryStats, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/sha1.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/sha1.ts index 6f75fe0f18d2fecb97d3894c804a082a194660d0..9cdb305e987e4019b83df2d64d266d85f737db0f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/sha1.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/common/src/sha1.ts @@ -206,7 +206,7 @@ export class SHA1Hash { offset = ((offset ?? 0) | 0) as int32 while (i < inputWords) { - W[i++] = swap32(data[offset++] as int32) + W[i++] = swap32(data[offset!++] as int32) } for (i = inputWords; i < workWords; i++) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/package.json index 7f42861e0874228c1cf78f11a076e5b0a2ee2768..78ba1a9eb07230d54e51a726e650d97522f707ec 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/package.json @@ -1,6 +1,6 @@ { "name": "@koalaui/compat", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -24,6 +24,7 @@ "scripts": { "clean": "rimraf build dist", "compile": "ets-tsc -b .", + "compile:release": "ets-tsc -b .", "compile:ohos": "ets-tsc -b ./tsconfig-ohos.json", "compile:all": "npm run compile && npm run compile:ohos", "build:compat": "npm run build:compat:inc", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/index.ts index 95ec1799f3ee2e82960a2bc4c7e1a6ac41ebf1c7..610fafc3ffb8b55ef552769eb184e54d1eec36e1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/index.ts @@ -15,7 +15,7 @@ export * from "./array" export * from "./atomic" -export * from "./double" +export * from "./primitive" export * from "./finalization" export * from "./performance" export * from "./prop-deep-copy" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/observable.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/observable.ts index 81f0d7a1bdbc0e1d84293fe4c1d10c968e8acb57..7a6cd65b33a309bd8c92a4909d0403695240f0a8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/observable.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/observable.ts @@ -14,9 +14,8 @@ */ export function getObservableTarget(proxy: Object): Object { - if (PROXY_DISABLED) return proxy try { - return Proxy.tryGetTarget(proxy) ?? proxy + return (Proxy.tryGetTarget(proxy) as Object|undefined|null) ?? proxy } catch (error) { return proxy } @@ -178,8 +177,6 @@ export function observableProxyArray(...value: Value[]): Array { return observableProxy(Array.of(...value)) } -const PROXY_DISABLED = true // because of ArkTS Reflection performance - /** @internal */ export function observableProxy(value: Value, parent?: ObservableHandler, observed?: boolean, strict: boolean = true): Value { if (value instanceof ObservableHandler) return value as Value // do not proxy a marker itself @@ -210,9 +207,22 @@ export function observableProxy(value: Value, parent?: ObservableHandler, } else if (value instanceof Date) { return ObservableDate(value, parent, observed) as Value } - if (PROXY_DISABLED) return value as Value - // TODO: proxy the given object - return Proxy.create(value as Object, new CustomProxyHandler()) as Value + + // TODO: Fatal error on using proxy with generic types + // see: panda issue #26492 + + // const valueType = Type.of(value) + // if (valueType instanceof ClassType && !(value instanceof BaseEnum)) { + // if (valueType.hasEmptyConstructor()) { + // const result = Proxy.create(value as Object, new CustomProxyHandler()) as Value + // ObservableHandler.installOn(result as Object, new ObservableHandler(parent)) + // return result + // } else { + // throw new Error(`Class '${valueType.getName()}' must contain a default constructor`) + // } + // } + + return value as Value } class CustomProxyHandler extends DefaultProxyHandler { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/double.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/primitive.ts similarity index 68% rename from frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/double.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/primitive.ts index ed3fb70a5e246c47827b5744cab19d74d3464eb5..99d14992b46c1c009334a58e51903ce0c4b1a04e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/double.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/primitive.ts @@ -13,7 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { float64, int32, float32 } from "./types" +import { float64, int32, float32, int64 } from "./types" + +export function float32To64(value: float32): float64 { + return Float.toDouble(value) +} + +export function float64To32(value: float64): float32 { + return Double.toFloat(value) +} export function asFloat64(value: string): float64 { return (new Number(value)).valueOf() @@ -31,3 +39,16 @@ export function float32FromBits(value: int32): float32 { export function int32BitsFromFloat(value: float32): int32 { return Float.bitCastToInt(value) } + +export function float64ToInt(value: float64): int32 { + return value.toInt() +} + +export function float64ToLong(value: float64): int64 { + return value.toLong() +} + +export function charToInt(value: char): int32 { + return value.toInt() +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/strings.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/strings.ts index 852320fd77ed1c6d8f12bbb2ab2a58b0f2b7c9b1..66442a51c036426dd868104f6ee1900edd4dfe78 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/strings.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/strings.ts @@ -73,7 +73,7 @@ export class CustomTextEncoder { } private addLength(array: Uint8Array, offset: int32, length: int32 | number): void { - const len = length as int32 + const len = length.toInt() array.set(offset, len & 0xff) array.set(offset + 1, (len >> 8) & 0xff) array.set(offset + 2, (len >> 16) & 0xff) @@ -82,10 +82,10 @@ export class CustomTextEncoder { static getHeaderLength(array: Uint8Array, offset: int32 = 0): int32 { return ( - (array.at(offset) as int32) | - (array.at(((offset + 1) << 8)) as int32) | - (array.at((offset + 2) << 16) as int32) | - (array.at((offset + 3) << 24)) as int32) + (array.at(offset)!.toInt()) | + (array.at(((offset + 1) << 8))!.toInt()) | + (array.at((offset + 2) << 16)!.toInt()) | + (array.at((offset + 3) << 24))!.toInt()) } // Produces array of bytes with encoded string headed by 4 bytes (little endian) size information: @@ -103,7 +103,7 @@ export class CustomTextEncoder { this.encodeInto(input, result, headerLen) } if (addLength) { - this.addLength(result, 0, (result.length - headerLen) as int32) + this.addLength(result, 0, (result.length - headerLen).toInt()) } return result } @@ -119,10 +119,10 @@ export class CustomTextEncoder { } let array = new Uint8Array(totalBytes) let position = 0 - this.addLength(array, position, lengths.length as int32) + this.addLength(array, position, lengths.length.toInt()) position += CustomTextEncoder.HeaderLen for (let i = 0; i < lengths.length; i++) { - this.addLength(array, position, lengths[i] as int32) + this.addLength(array, position, lengths[i].toInt()) position += CustomTextEncoder.HeaderLen this.encodeInto(strings[i], array, position) position += lengths[i] @@ -179,7 +179,7 @@ export class CustomTextDecoder { let index = 0 let result = "" while (index < input.length) { - let elem = input[index] as uint8 + let elem = input[index].toByte() let lead = elem & 0xff let count = 0 let value = 0 @@ -187,15 +187,15 @@ export class CustomTextDecoder { count = 1 value = elem } else if ((lead >> 5) == 0x6) { - value = (((elem << 6) & 0x7ff) + (input[index + 1] & 0x3f)) as int32 + value = (((elem << 6) & 0x7ff) + (input[index + 1] & 0x3f)).toInt() count = 2 } else if ((lead >> 4) == 0xe) { value = (((elem << 12) & 0xffff) + ((input[index + 1] << 6) & 0xfff) + - (input[index + 2] & 0x3f)) as int32 + (input[index + 2] & 0x3f)).toInt() count = 3 } else if ((lead >> 3) == 0x1e) { value = (((elem << 18) & 0x1fffff) + ((input[index + 1] << 12) & 0x3ffff) + - ((input[index + 2] << 6) & 0xfff) + (input[index + 3] & 0x3f)) as int32 + ((input[index + 2] << 6) & 0xfff) + (input[index + 3] & 0x3f)).toInt() count = 4 } codePoints[cpIndex++] = value diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/utils.ts index c49c8e7113a07302bbd8e56d6de0e88f88c7acfd..0523e835a3140a173c71fe89e9cee790a52a5918 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/arkts/utils.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -13,6 +13,13 @@ * limitations under the License. */ +export function errorAsString(error: Error): string { + const stack = error.stack + return stack + ? error.toString() + '\n' + stack + : error.toString() +} + export function unsafeCast(value: Object): T { return value as T } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/index.ts index ca2f90f6a53edd7c720689e47127ec1862937fce..2eb224152ccc9251d033353d8e8a7cdf2103014d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/index.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -21,8 +21,13 @@ export { AtomicRef, asFloat64, asString, + float64To32, + float64ToInt, + float64ToLong, + float32To64, float32FromBits, int32BitsFromFloat, + charToInt, Thunk, finalizerRegister, finalizerUnregister, @@ -52,6 +57,7 @@ export { float32, float64, int8Array, + errorAsString, unsafeCast, scheduleCoroutine, memoryStats, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/ohos/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/ohos/index.ts index efa5fb787e1c0f898f02c544690f9c9162a480d7..5d2e84d033e1f6a0f91556d321652b8e17ed154f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/ohos/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/ohos/index.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -50,6 +50,7 @@ export { float32, float64, int8Array, + errorAsString, unsafeCast, scheduleCoroutine, memoryStats, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/index.ts index 03bb4fbddd19dc1b318e50ee6c3a5eac5f4cc9d9..e5ca0c3be7c24d909bb2bfb5d9f36946e9437ca6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/index.ts @@ -15,7 +15,7 @@ export * from "./array" export * from "./atomic" -export * from "./double" +export * from "./primitive" export * from "./finalization" export * from "./observable" export * from "./performance" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/double.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/primitive.ts similarity index 68% rename from frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/double.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/primitive.ts index 64ed41d2ac6b73aef4178b9339b99b7b6b1d8110..08ffda6e11f5f27bcb8827cbcf3b993a5b256ab5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/double.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/primitive.ts @@ -13,7 +13,15 @@ * limitations under the License. */ -import { float64, int32, float32 } from "./types" +import { float64, int32, float32, int64 } from "./types" + +export function float32To64(value: float32): float64 { + return value +} + +export function float64To32(value: float64): float32 { + return value +} export function asFloat64(value: string): float64 { return Number(value) @@ -30,3 +38,16 @@ export function float32FromBits(value: int32): float32 { export function int32BitsFromFloat(value: float32): int32 { return value } + +export function float64ToInt(value: float64): int32 { + return value +} + +export function float64ToLong(value: float64): int64 { + return value +} + +export function charToInt(value: string): int32 { + return parseInt(value) +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/utils.ts index c3303e93fd4b6c5faa1f8d30e80f89b3a7f73a6c..1d72692be8e3240af81231ee0389f62ee023758b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/compat/src/typescript/utils.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -13,6 +13,10 @@ * limitations under the License. */ +export function errorAsString(error: Error): string { + return error.stack ?? error.toString() +} + export function unsafeCast(value: unknown): T { return value as unknown as T } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/.mocharc.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/.mocharc.json new file mode 100644 index 0000000000000000000000000000000000000000..fba4c55b0e4952e1ef019b1f94cd0a854eac2599 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/.mocharc.json @@ -0,0 +1,7 @@ +{ + "ui": "tdd", + "spec": "./test/**/*.test.ts", + "exclude": "./test/browser/**/*", + "extension": ["ts"], + "require": ["../test-utils/scripts/register"] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/arktsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/arktsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..f94282f3163505ac2ba6b550465c20ee669218a4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/arktsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "package": "@koalaui/harness", + "outDir": "build/abc", + "rootDir": "./src/arkts", + "baseUrl": "./src/arkts", + "paths": { + "@koalaui/compat": ["../../../compat/src/arkts"], + "@koalaui/common": ["../../../common/src"] + } + }, + "include": ["./src/arkts/**/*.ts"], + "references": [ + { "path": "../common" }, + { "path": "../compat" } + ] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/golden.js b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/golden.js new file mode 100644 index 0000000000000000000000000000000000000000..52c48305e1ba01138c6fbdb20b9973810a9e3d29 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/golden.js @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const path = require("path") +const process = require("process") + +function goldenSetup(resDir, testDir) { + const root = path.resolve(".", resDir) + const testRoot = path.resolve(testDir) + if (root != testRoot) { + process.env.KOALAUI_RESOURCE_ROOT = root + } + process.env.KOALAUI_TEST_ROOT = path.relative(root, testRoot) + const argGenGolden = "--gen-golden" + for (let str of process.argv) { + if (str.startsWith(argGenGolden)) { + process.env.KOALAUI_TEST_GOLDEN_GEN_DIR = path.relative(root, path.resolve(testRoot, "test", "resources", "golden")) + if (str.length > argGenGolden.length + 1) { + const gdir = str.substring(argGenGolden.length + 1); + if (gdir.length > 0 && gdir != "true") { + process.env.KOALAUI_TEST_GOLDEN_GEN_DIR = path.relative(root, path.resolve(gdir)) + } + } + break + } + } +} + +exports.goldenSetup = goldenSetup diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/register.js b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/register.js new file mode 100644 index 0000000000000000000000000000000000000000..c87312c19b58b9ab7a5961d80417953c323ff017 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/js/register.js @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { goldenSetup } from "./golden.js" + +const tsNode = require("ts-node") +const path = require("path") + +goldenSetup('.', '.') + +unmemoized_suffix = process.env.UNMEMOIZED_SUFFIX +if (unmemoized_suffix == undefined) { + unmemoized_suffix = '' +} + +tsNode.register({ + files: true, + // If uncommented, running tests doesn't perform type checks. + // transpileOnly: true, + project: path.resolve(`test`, `tsconfig${unmemoized_suffix}.json`), + compiler: "@koalaui/ets-tsc" +}) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/package.json new file mode 100644 index 0000000000000000000000000000000000000000..dff6385d50b67aef39c52c3fd2555a1f09469a94 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/package.json @@ -0,0 +1,58 @@ +{ + "name": "@koalaui/harness", + "version": "1.7.4+devel", + "description": "A harness library compatible with OHOS and ArkTS", + "main": "build/src/index.js", + "types": "build/src/index.d.ts", + "files": [ + "js/golden.js", + "js/register.js", + "build/src/**/*.js", + "build/src/**/*.d.ts" + ], + "imports": { + "#harness": { + "ark": "./build/src/ohos/index.js", + "ios": "./build/src/typescript/index.js", + "browser": "./build/src/typescript/index.js", + "node": "./build/src/typescript/index.js", + "default": "./build/src/typescript/index.js" + } + }, + "exports": { + "./golden": "./js/golden.js", + "./register": "./js/register.js", + ".": "./build/src/index.js" + }, + "scripts": { + "clean": "rimraf build dist", + "compile": "ets-tsc -b .", + "compile:release": "ets-tsc -b .", + "test": "mocha", + "compile:ohos": "ets-tsc -b ./tsconfig-ohos.json", + "compile:all": "npm run compile && npm run compile:ohos", + "compile:arkts": "fast-arktsc --config ./arktsconfig.json --link-name ./build/harness.abc --compiler ../tools/panda/arkts/arktsc", + "compile:arkts:ui2abc": "fast-arktsc --config ./arktsconfig.json --link-name ./build/harness.abc --compiler ../tools/panda/arkts/ui2abc", + "build:harness": "npm run build:harness:inc", + "build:harness:inc": "npm run compile:arkts && ninja ${NINJA_OPTIONS} -f build/abc/build.ninja", + "build:harness:inc:ui2abc": "npm run compile:arkts:ui2abc && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/abc/build.ninja" + }, + "keywords": [], + "dependencies": { + "@koalaui/common": "1.7.4+devel", + "@koalaui/compat": "1.7.4+devel" + }, + "devDependencies": { + "@ohos/hypium": "1.0.6", + "@types/chai": "^4.3.1", + "@types/mocha": "^9.1.0", + "@typescript-eslint/eslint-plugin": "^5.20.0", + "@typescript-eslint/parser": "^5.20.0", + "chai": "^4.3.6", + "eslint": "^8.13.0", + "eslint-plugin-unused-imports": "^2.0.0", + "mocha": "^9.2.2", + "rimraf": "^3.0.2", + "source-map-support": "^0.5.21" + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/assert.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/assert.ts new file mode 100644 index 0000000000000000000000000000000000000000..370e776d28df9c5e4b8b4b6e5105d12264145d4d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/assert.ts @@ -0,0 +1,797 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { int32 } from "@koalaui/common" + +export class Assert { + static $_invoke(value: boolean, message?: string) { + if (!value) Assert.fail(message) + } + + /** + * Throws a failure. + * @param message - message to display on error + */ + static fail(message?: string): never { + throw new Error(message ?? "assert") + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + static isOk(value: T, message?: string): void { + Assert.fail("Assert.isOk unsupported") + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + static ok(value: T, message?: string): void { + Assert.fail("Assert.ok unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + static isNotOk(value: T, message?: string): void { + Assert.fail("Assert.isNotOk unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + static notOk(value: T, message?: string): void { + Assert.fail("Assert.notOk unsupported") + } + + /** + * Asserts non-strict equality (==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + static equal(actual: T, expected: T, message?: string): void { + if (actual == expected) return + Assert.fail(message ?? `actual '${actual}' is not equal to expected '${expected}'`) + } + + /** + * Asserts non-strict inequality (!=) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + static notEqual(actual: T, expected: T, message?: string): void { + if (actual != expected) return + Assert.fail(message ?? `actual '${actual}' is equal to expected '${expected}'`) + } + + /** + * Asserts strict equality (===) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + static strictEqual(actual: T, expected: T, message?: string): void { + if (actual === expected) return + Assert.fail(message ?? `actual '${actual}' is not strictly equal to expected '${expected}'`) + } + + /** + * Asserts strict inequality (!==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + static notStrictEqual(actual: T, expected: T, message?: string): void { + if (actual !== expected) return + Assert.fail(message ?? `actual '${actual}' is strictly equal to expected '${expected}'`) + } + + /** + * Asserts that actual is deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + static deepEqual(actual: Array, expected: Array, message?: string): void { + if (equalArrayContent(actual, expected)) return + Assert.fail(message ?? `actual '${actual}' is not deeply equal to expected '${expected}'`) + } + + /** + * Asserts that actual is not deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + static notDeepEqual(actual: Array, expected: Array, message?: string): void { + if (!equalArrayContent(actual, expected)) return + Assert.fail(message ?? `actual '${actual}' is deeply equal to expected '${expected}'`) + } + + /** + * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. + * + * @param valueToCheck Actual value. + * @param valueToBeAbove Minimum Potential expected value. + * @param message Message to display on error. + */ + static isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void { + Assert.fail("Assert.isAbove unsupported") + } + + /** + * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. + * + * @param valueToCheck Actual value. + * @param valueToBeAtLeast Minimum Potential expected value. + * @param message Message to display on error. + */ + static isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void { + Assert.fail("Assert.isAtLeast unsupported") + } + + /** + * Asserts valueToCheck is strictly less than (<) valueToBeBelow. + * + * @param valueToCheck Actual value. + * @param valueToBeBelow Minimum Potential expected value. + * @param message Message to display on error. + */ + static isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void { + Assert.fail("Assert.isBelow unsupported") + } + + /** + * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. + * + * @param valueToCheck Actual value. + * @param valueToBeAtMost Minimum Potential expected value. + * @param message Message to display on error. + */ + static isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void { + Assert.fail("Assert.isAtMost unsupported") + } + + /** + * Asserts that value is true. + * @param value - actual value + * @param message - message to display on error + */ + static isTrue(value?: boolean, message?: string): void { + if (value == true) return + Assert.fail(message ?? `actual '${value}' is not true unexpectedly`) + } + + /** + * Asserts that value is not true. + * @param value - actual value + * @param message - message to display on error + */ + static isNotTrue(value?: boolean, message?: string): void { + if (value != true) return + Assert.fail(message ?? `actual '${value}' is true unexpectedly`) + } + + /** + * Asserts that value is false. + * @param value - actual value + * @param message - message to display on error + */ + static isFalse(value?: boolean, message?: string): void { + if (value == false) return + Assert.fail(message ?? `actual '${value}' is not false unexpectedly`) + } + + /** + * Asserts that value is not false. + * @param value - actual value + * @param message - message to display on error + */ + static isNotFalse(value?: boolean, message?: string): void { + if (value != false) return + Assert.fail(message ?? `actual '${value}' is false unexpectedly`) + } + + /** + * Asserts that value is null. + * @param value - actual value + * @param message - message to display on error + */ + static isNull(value: T, message?: string): void { + if (value == null) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is not null unexpectedly`) + } + + /** + * Asserts that value is not null. + * @param value - actual value + * @param message - message to display on error + */ + static isNotNull(value: T, message?: string): void { + if (value != null) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is null unexpectedly`) + } + + /** + * Asserts that value is NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNaN(value: T, message?: string): void { + Assert.fail("Assert.isNaN unsupported") + } + + /** + * Asserts that value is not NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotNaN(value: T, message?: string): void { + Assert.fail("Assert.isNotNaN unsupported") + } + + /** + * Asserts that the target is neither null nor undefined. + * @param value - actual value + * @param message - message to display on error + */ + static exists(value: T, message?: string): void { + if (value == undefined || value == null) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' does not exist unexpectedly`) + } + + /** + * Asserts that the target is either null or undefined. + * @param value - actual value + * @param message - message to display on error + */ + static notExists(value: T, message?: string): void { + if (value != undefined && value != null) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' exists unexpectedly`) + } + + /** + * Asserts that value is undefined. + * @param value - actual value + * @param message - message to display on error + */ + static isUndefined(value: T, message?: string): void { + if (value == undefined) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is defined unexpectedly`) + } + + /** + * Asserts that value is not undefined. + * @param value - actual value + * @param message - message to display on error + */ + static isDefined(value: T, message?: string): void { + if (value != undefined) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is undefined unexpectedly`) + } + + /** + * Asserts that value is a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isFunction(value: T, message?: string): void { + Assert.fail("Assert.isFunction unsupported") + } + + /** + * Asserts that value is not a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotFunction(value: T, message?: string): void { + Assert.fail("Assert.isNotFunction unsupported") + } + + /** + * Asserts that value is an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + * @remarks The assertion does not match subclassed objects. + */ + static isObject(value: T, message?: string): void { + Assert.fail("Assert.isObject unsupported") + } + + /** + * Asserts that value is not an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotObject(value: T, message?: string): void { + Assert.fail("Assert.isNotObject unsupported") + } + + /** + * Asserts that value is an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isArray(value: T, message?: string): void { + Assert.fail("Assert.isArray unsupported") + } + + /** + * Asserts that value is not an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotArray(value: T, message?: string): void { + Assert.fail("Assert.isNotArray unsupported") + } + + /** + * Asserts that value is a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isString(value: T, message?: string): void { + Assert.fail("Assert.isString unsupported") + } + + /** + * Asserts that value is not a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotString(value: T, message?: string): void { + Assert.fail("Assert.isNotString unsupported") + } + + /** + * Asserts that value is a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNumber(value: T, message?: string): void { + Assert.fail("Assert.isNumber unsupported") + } + + /** + * Asserts that value is not a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotNumber(value: T, message?: string): void { + Assert.fail("Assert.isNotNumber unsupported") + } + + /** + * Asserts that value is a finite number. + * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. + * + * T Type of value + * @param value Actual value + * @param message Message to display on error. + */ + static isFinite(value: T, message?: string): void { + Assert.fail("Assert.isFinite unsupported") + } + + /** + * Asserts that value is a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isBoolean(value: T, message?: string): void { + Assert.fail("Assert.isBoolean unsupported") + } + + /** + * Asserts that value is not a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + static isNotBoolean(value: T, message?: string): void { + Assert.fail("Assert.isNotBoolean unsupported") + } + + /** + * Asserts that value's type is name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + static typeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.typeOf unsupported") + } + + /** + * Asserts that value's type is not name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + static notTypeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.notTypeOf unsupported") + } + + /** + * Asserts that value is an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param construct Potential expected contructor of value. + * @param message Message to display on error. + * / + static instanceOf(value: T, construct: Function, message?: string): void*/ + + /** + * Asserts that value is not an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param constructor Potential expected contructor of value. + * @param message Message to display on error. + * / + static notInstanceOf(value: T, type: Function, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static include(haystack: string, needle: string, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static include(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: string, needle: string, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static notInclude(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that value matches the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + static match(value: string, regexp: RegExp, message?: string): void { + Assert.fail("Assert.match unsupported") + } + + /** + * Asserts that value does not match the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + static notMatch(expected: string, regexp: RegExp, message?: string): void { + Assert.fail("Assert.notMatch unsupported") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + * / + static throw(func: () => void): void { + Assert.throws(func) + } + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + */ + static throws(func: () => void): void { + let expected: Error | undefined = undefined + try { + func() + } catch (error) { + expected = error as Error + } + if (expected) return + Assert.fail("expected error is not thrown") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static throws( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static Throw( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static doesNotThrow( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Compares two values using operator. + * + * @param val1 Left value during comparison. + * @param operator Comparison operator. + * @param val2 Right value during comparison. + * @param message Message to display on error. + * / + static operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void;*/ + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + * / + static closeTo(actual: number, expected: number, delta: number, message?: string): void;*/ + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + * / + static approximately(act: number, exp: number, delta: number, message?: string): void;*/ + + /** + * Asserts that non-object, non-array value inList appears in the flat array list. + * + * T Type of list values. + * @param inList Value expected to be in the list. + * @param list List of values. + * @param message Message to display on error. + */ + static oneOf(inList: T, list: T[], message?: string): void { + Assert.fail("Assert.oneOf unsupported") + } + + /** + * Asserts that the target does not contain any values. For arrays and + * strings, it checks the length property. For Map and Set instances, it + * checks the size property. For non-function objects, it gets the count + * of own enumerable string keys. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + static isEmpty(object: T, message?: string): void { + const size = getContainerSize(object) + if (size != 0) Assert.fail(message ?? (size < 0 ? "unsupported container" : "container is not empty unexpectedly")) + } + + /** + * Asserts that the target contains values. For arrays and strings, it checks + * the length property. For Map and Set instances, it checks the size property. + * For non-function objects, it gets the count of own enumerable string keys. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + static isNotEmpty(object: T, message?: string): void { + const size = getContainerSize(object) + if (size <= 0) Assert.fail(message ?? (size < 0 ? "unsupported container" : "container is empty unexpectedly")) + } +} + +function equalArrayContent(actual: Array, expected: Array): boolean { + const length = actual.length + if (expected.length != length) return false + for (let i = 0; i < length; i++) { + if (expected[i] != actual[i]) return false + } + return true +} + +/** + * @param object - a container to check + * @returns a container size, or -1 if the given container is not supported + */ +function getContainerSize(container: T): int32 { + if (container instanceof Map) return container.size as int32 + if (container instanceof Set) return container.size as int32 + if (container instanceof Array) return container.length as int32 + if (container instanceof String) return container.length as int32 + return -1 +} + +export type assert = Assert diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..f01bfe8b8e990f3989e0a30ef4ddce7cf1ed17d6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/index.ts @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { doTest, TestKind } from "./shared" +export { Assert, assert } from "./assert" + +export class test { + static $_invoke(name: string, content?: () => void) { + doTest(TestKind.PASS, `test: "${name}"`, content) + } + + static skip(name: string, content?: () => void) { + doTest(TestKind.SKIP, `test: "${name}"`, content) + } + + static expectFailure(reason: string, name: string, content?: () => void) { + doTest(TestKind.FAIL, `test: "${name}"; reason: "${reason}"`, content) + } + + static conditional(condition: boolean, name: string, content?: () => void) { + if (condition) { + doTest(TestKind.PASS, `test: "${name}"`, content) + } else { + test.skip(name, content) + } + } + + static expect(expectSuccess: boolean, name: string, content?: () => void) { + if (expectSuccess) { + doTest(TestKind.PASS, `test: "${name}"`, content) + } else { + test.expectFailure("Description of the problem", name, content) + } + } +} + +export class suite { + static $_invoke(name: string, content?: () => void) { + doTest(TestKind.PASS, `suite: "${name}"`, content, true) + } + + static skip(name: string, content?: () => void) { + doTest(TestKind.SKIP, `suite: "${name}"`, content) + } +} + +export function suiteSetup(name: string, content?: () => void) { + throw new Error("unsupported suiteSetup: " + name) +} + +export function startTests(generateGolden: boolean = false) { + throw new Error("unsupported startTests: " + generateGolden) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/shared.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/shared.ts new file mode 100644 index 0000000000000000000000000000000000000000..d178cd09622cbdaa61fa90ff0867989fd301e2d7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/arkts/shared.ts @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { errorAsString, int32 } from "@koalaui/common" + +const stack = new Array() +const array = new Array() + +const PASSED_PREFIX = "✅ \x1b[32m passed \x1b[0m" +const FAILED_PREFIX = "❌ \x1b[31m failed \x1b[0m" +const SKIPPED_PREFIX = "➡️ \x1b[36m skipped \x1b[0m" +const FAILED_AS_EXPECTED_PREFIX = "⚠️ \x1b[33m expected failed \x1b[0m" +const PASSED_UNEXPECTEDLY_PREFIX = "❌ \x1b[31m passed unexpectedly \x1b[0m" + +export enum TestKind { + PASS, // test something and expect it is passed + FAIL, // test something and expect it is failed + SKIP, // skip something from testing +} + +export function doTest(kind: TestKind, name: string, content?: () => void, suite: boolean = false) { + const time = Date.now() + const test = new Test(kind, name, suite) + console.log(`start processing ${name}`) + array.push(test) + const length = stack.length + const parent = 0 < length ? stack[length - 1] : undefined + if (parent?.suite == false) throw new Error("test is already running") + + try { + stack.push(test) + if (kind != TestKind.SKIP) content?.() + } catch (error) { + test.error = error instanceof Error + ? errorAsString(error) + : JSON.stringify(error) + console.log(test.error) + } finally { + stack.pop() + console.log(`${Date.now() - time}ms to process ${name}`) + if (parent) { + if (test.passed == (test.kind == TestKind.FAIL)) parent.error = "" + } else { + logResults(array.splice(0, array.length)) + if (!test.passed) throw new Error("TEST FAILED") + } + } +} + +function logResults(array: ReadonlyArray) { + console.log("-".repeat(50)) + const map = new Map + array.forEach((test: Test) => { + const result = test.result + console.log(test.prefix + result + test.name) + if (!test.suite) map.set(result, (map.get(result) ?? 0) + 1) + }) + console.log("-".repeat(50)) + logResult(map, PASSED_PREFIX) + logResult(map, SKIPPED_PREFIX) + logResult(map, FAILED_AS_EXPECTED_PREFIX) + logResult(map, PASSED_UNEXPECTEDLY_PREFIX) + logResult(map, FAILED_PREFIX) +} + +function logResult(map: Map, key: string) { + const count = map.get(key) ?? 0 + if (count > 0) console.log(key + "tests: " + count) +} + +class Test { + readonly kind: TestKind + readonly name: string + readonly suite: boolean + readonly prefix: string + error: string | undefined = undefined + constructor(kind: TestKind, name: string, suite: boolean = false) { + this.kind = kind + this.name = name + this.suite = suite + this.prefix = " ".repeat(stack.length + 1) + } + get passed(): boolean { + return this.error === undefined + } + get result(): string { + if (this.kind == TestKind.PASS) { + return this.passed ? PASSED_PREFIX : FAILED_PREFIX + } + if (this.kind == TestKind.FAIL) { + return this.passed ? PASSED_UNEXPECTEDLY_PREFIX : FAILED_AS_EXPECTED_PREFIX + } + return SKIPPED_PREFIX + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..0f4a2178ad3175e9360a04df1eaffa319dd67295 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { Assert, assert, suite, test } from "#harness" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/assert.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/assert.ts new file mode 100644 index 0000000000000000000000000000000000000000..0dba303e91f5732653f69e8478bce1054096e2ca --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/assert.ts @@ -0,0 +1,786 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from "@ohos/hypium" + +export function Assert(value: boolean, message?: string) { + if (!value) Assert.fail(message) +} + +export namespace Assert { + /** + * Throws a failure. + * @param message - message to display on error + */ + export function fail(message?: string): never { + expect().assertFail() + throw new Error("OHOS failed: " + message) + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isOk(value: T, message?: string): void { + Assert.fail("Assert.isOk unsupported") + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function ok(value: T, message?: string): void { + Assert.fail("Assert.ok unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isNotOk(value: T, message?: string): void { + Assert.fail("Assert.isNotOk unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function notOk(value: T, message?: string): void { + Assert.fail("Assert.notOk unsupported") + } + + /** + * Asserts non-strict equality (==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function equal(actual: T, expected: T, message?: string): void { + expect(actual).assertEqual(expected) + } + + /** + * Asserts non-strict inequality (!=) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function notEqual(actual: T, expected: T, message?: string): void { + // todo: not accurate impl, because compared values are not printed + expect(actual != expected).assertTrue() + } + + /** + * Asserts strict equality (===) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function strictEqual(actual: T, expected: T, message?: string): void { + // todo: not accurate impl, because compared values are not printed + expect(actual === expected).assertTrue() + } + + /** + * Asserts strict inequality (!==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function notStrictEqual(actual: T, expected: T, message?: string): void { + // todo: not accurate impl, because compared values are not printed + expect(actual !== expected).assertTrue() + } + + /** + * Asserts that actual is deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + export function deepEqual(actual: Array, expected: Array, message?: string): void { + // todo: implement + expect(actual).assertEqual(actual/*expected*/) + } + + /** + * Asserts that actual is not deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + export function notDeepEqual(actual: Array, expected: Array, message?: string): void { + // todo: implement + expect(actual).assertEqual(actual/*expected*/) + } + + /** + * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. + * + * @param valueToCheck Actual value. + * @param valueToBeAbove Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void { + expect(valueToCheck).assertLarger(valueToBeAbove) + } + + /** + * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. + * + * @param valueToCheck Actual value. + * @param valueToBeAtLeast Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void { + if (valueToCheck == valueToBeAtLeast) + expect(valueToCheck).assertEqual(valueToBeAtLeast) + else + expect(valueToCheck).assertLarger(valueToBeAtLeast) + } + + /** + * Asserts valueToCheck is strictly less than (<) valueToBeBelow. + * + * @param valueToCheck Actual value. + * @param valueToBeBelow Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void { + expect(valueToCheck).assertLess(valueToBeBelow) + } + + /** + * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. + * + * @param valueToCheck Actual value. + * @param valueToBeAtMost Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void { + Assert.fail("Assert.isAtMost unsupported") + } + + /** + * Asserts that value is true. + * @param value - actual value + * @param message - message to display on error + */ + export function isTrue(value?: boolean, message?: string): void { + expect(value).assertTrue() + } + + /** + * Asserts that value is not true. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotTrue(value?: boolean, message?: string): void { + if (value != true) return + Assert.fail(message ?? `actual '${value}' is true unexpectedly`) + } + + /** + * Asserts that value is false. + * @param value - actual value + * @param message - message to display on error + */ + export function isFalse(value?: boolean, message?: string): void { + expect(value).assertFalse() + } + + /** + * Asserts that value is not false. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotFalse(value?: boolean, message?: string): void { + if (value != false) return + Assert.fail(message ?? `actual '${value}' is false unexpectedly`) + } + + /** + * Asserts that value is null. + * @param value - actual value + * @param message - message to display on error + */ + export function isNull(value: T | null, message?: string): void { + expect(value).assertNull() + } + + /** + * Asserts that value is not null. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotNull(value: T | null, message?: string): void { + expect(value ? null : value).assertNull() + } + + /** + * Asserts that value is NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNaN(value: T, message?: string): void { + Assert.fail("Assert.isNaN unsupported") + } + + /** + * Asserts that value is not NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotNaN(value: T, message?: string): void { + Assert.fail("Assert.isNotNaN unsupported") + } + + /** + * Asserts that the target is neither null nor undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function exists(value?: T | null, message?: string): void { + // todo: not accurate impl + expect(value == null).assertFalse() + } + + /** + * Asserts that the target is either null or undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function notExists(value?: T | null, message?: string): void { + if (value !== undefined && value !== null) return + Assert.fail(message ?? `actual '${value}' exists unexpectedly`) + } + + /** + * Asserts that value is undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function isUndefined(value?: T, message?: string): void { + expect(value).assertUndefined() + } + + /** + * Asserts that value is not undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function isDefined(value?: T, message?: string): void { + // todo: not accurate impl + expect(value === undefined).assertFalse() + } + + /** + * Asserts that value is a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isFunction(value: T, message?: string): void { + Assert.fail("Assert.isFunction unsupported") + } + + /** + * Asserts that value is not a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotFunction(value: T, message?: string): void { + Assert.fail("Assert.isNotFunction unsupported") + } + + /** + * Asserts that value is an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + * @remarks The assertion does not match subclassed objects. + */ + export function isObject(value: T, message?: string): void { + Assert.fail("Assert.isObject unsupported") + } + + /** + * Asserts that value is not an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotObject(value: T, message?: string): void { + Assert.fail("Assert.isNotObject unsupported") + } + + /** + * Asserts that value is an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isArray(value: T, message?: string): void { + Assert.fail("Assert.isArray unsupported") + } + + /** + * Asserts that value is not an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotArray(value: T, message?: string): void { + Assert.fail("Assert.isNotArray unsupported") + } + + /** + * Asserts that value is a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isString(value: T, message?: string): void { + Assert.fail("Assert.isString unsupported") + } + + /** + * Asserts that value is not a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotString(value: T, message?: string): void { + Assert.fail("Assert.isNotString unsupported") + } + + /** + * Asserts that value is a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNumber(value: T, message?: string): void { + Assert.fail("Assert.isNumber unsupported") + } + + /** + * Asserts that value is not a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotNumber(value: T, message?: string): void { + Assert.fail("Assert.isNotNumber unsupported") + } + + /** + * Asserts that value is a finite number. + * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. + * + * T Type of value + * @param value Actual value + * @param message Message to display on error. + */ + export function isFinite(value: T, message?: string): void { + Assert.fail("Assert.isFinite unsupported") + } + + /** + * Asserts that value is a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isBoolean(value: T, message?: string): void { + Assert.fail("Assert.isBoolean unsupported") + } + + /** + * Asserts that value is not a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotBoolean(value: T, message?: string): void { + Assert.fail("Assert.isNotBoolean unsupported") + } + + /** + * Asserts that value's type is name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + export function typeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.typeOf unsupported") + } + + /** + * Asserts that value's type is not name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + export function notTypeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.notTypeOf unsupported") + } + + /** + * Asserts that value is an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param construct Potential expected contructor of value. + * @param message Message to display on error. + */ + export function instanceOf(value: T, construct: Function, message?: string): void { + // todo: not accurate impl + // expect(value).assertInstanceOf(construct.name) + expect(value instanceof construct).assertTrue() + } + + /** + * Asserts that value is not an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param constructor Potential expected contructor of value. + * @param message Message to display on error. + * / + static notInstanceOf(value: T, type: Function, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static include(haystack: string, needle: string, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static include(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: string, needle: string, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static notInclude(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that value matches the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + export function match(value: string, regexp: RegExp, message?: string): void { + // todo: not accurate impl + expect(regexp.test(value)).assertTrue() + } + + /** + * Asserts that value does not match the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + export function notMatch(expected: string, regexp: RegExp, message?: string): void { + Assert.fail("Assert.notMatch unsupported") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + * / + export function throw(func: () => void): void { + Assert.throws(func) + } + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + */ + export function throws(func: () => void): void { + let fnWrapper = () => { + try { + func() + } catch (e) { + throw new Error("fn thrown exception") + } + } + expect(fnWrapper).assertThrowError("fn thrown exception") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static throws( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static Throw( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static doesNotThrow( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Compares two values using operator. + * + * @param val1 Left value during comparison. + * @param operator Comparison operator. + * @param val2 Right value during comparison. + * @param message Message to display on error. + * / + static operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void;*/ + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + */ + export function closeTo(actual: number, expected: number, delta: number, message?: string): void { + // implementation of 'assertClose' does not fit: + // expect(actual).assertClose(expected, delta) + + const diff = Math.abs(actual - expected) + if (diff == delta) + expect(diff).assertEqual(delta) + else + expect(diff).assertLess(delta) + } + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + * / + static approximately(act: number, exp: number, delta: number, message?: string): void;*/ + + /** + * Asserts that non-object, non-array value inList appears in the flat array list. + * + * T Type of list values. + * @param inList Value expected to be in the list. + * @param list List of values. + * @param message Message to display on error. + */ + export function oneOf(inList: T, list: T[], message?: string): void { + Assert.fail("Assert.oneOf unsupported") + } + + /** + * Asserts that the target does not contain any values. For arrays and + * strings, it checks the length property. For Map and Set instances, it + * checks the size property. For non-function objects, it gets the count + * of own enumerable string keys. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + export function isEmpty(object: T, message?: string): void { + // todo: implement + expect(object !== undefined).assertTrue() + } + + /** + * Asserts that the target contains values. For arrays and strings, it checks + * the length property. For Map and Set instances, it checks the size property. + * For non-function objects, it gets the count of own enumerable string keys. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isNotEmpty(object: T, message?: string): void { + // todo: implement + expect(object !== undefined).assertTrue() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..d06437bd2faa0852f285c5a825b4992182a99214 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/index.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { Assert, Assert as assert } from "./assert" +export { startTests } from "./mocha" + +export function test(title: any, fn?: any) { + throw new Error("unsupported test: " + title) +} + +export function suite(title: any, fn?: any) { + throw new Error("unsupported suite: " + title) +} + +export function suiteSetup(title: any, fn?: any) { + throw new Error("unsupported suiteSetup: " + title) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/mocha.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/mocha.ts new file mode 100644 index 0000000000000000000000000000000000000000..ba874380c52d1260d3f8a6c098f69316bcc9ee42 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/ohos/mocha.ts @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { describe, beforeEach, it, Size } from "@ohos/hypium" + +declare namespace globalThis { + let __OpenHarmony: boolean + let __generateGolden: boolean +} + +globalThis.__OpenHarmony = true + +type Fn = () => void + +const suiteMap = new Map() + +export function startTests(generateGolden: boolean = false) { + globalThis.__generateGolden = generateGolden + suiteMap.forEach((fn: Fn, title: string) => { + describe(title, function () { + fn() + }) + }) +} + +(suiteSetup as any) = (title: string, fn: Fn): void => { + beforeEach(fn) +} + +(suite as any) = (title: string, fn: Fn): void => { + suiteMap.set(title, fn) +} + +(test as any) = (title: string, fn?: Fn): void => { + it(fn ? title : `[SKIP] ${title}`, Size.MEDIUMTEST, fn ? fn : () => { }) +} + +(test as any).skip = (title: string, fn?: Fn): void => { + it(`[SKIP] ${title}`, Size.MEDIUMTEST, () => { }) +} + + +interface TimeFn { + now: () => number +} + +(performance as TimeFn) = { + now: (): number => { + return Date.now() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/assert.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/assert.ts new file mode 100644 index 0000000000000000000000000000000000000000..5064fc656e791f50ea13f270c82d09f8ea94d820 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/assert.ts @@ -0,0 +1,793 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export function Assert(value: boolean, message?: string) { + if (!value) Assert.fail(message) +} + +export namespace Assert { + /** + * Throws a failure. + * @param message - message to display on error + */ + export function fail(message?: string): never { + throw new Error(message ?? "assert") + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isOk(value: T, message?: string): void { + Assert.fail("Assert.isOk unsupported") + } + + /** + * Asserts that object is truthy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function ok(value: T, message?: string): void { + Assert.fail("Assert.ok unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isNotOk(value: T, message?: string): void { + Assert.fail("Assert.isNotOk unsupported") + } + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function notOk(value: T, message?: string): void { + Assert.fail("Assert.notOk unsupported") + } + + /** + * Asserts non-strict equality (==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function equal(actual: T, expected: T, message?: string): void { + if (actual == expected) return + Assert.fail(message ?? `actual '${actual}' is not equal to expected '${expected}'`) + } + + /** + * Asserts non-strict inequality (!=) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function notEqual(actual: T, expected: T, message?: string): void { + if (actual != expected) return + Assert.fail(message ?? `actual '${actual}' is equal to expected '${expected}'`) + } + + /** + * Asserts strict equality (===) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function strictEqual(actual: T, expected: T, message?: string): void { + if (actual === expected) return + Assert.fail(message ?? `actual '${actual}' is not strictly equal to expected '${expected}'`) + } + + /** + * Asserts strict inequality (!==) of actual and expected. + * @param actual - actual value + * @param expected - potential expected value + * @param message - message to display on error + */ + export function notStrictEqual(actual: T, expected: T, message?: string): void { + if (actual !== expected) return + Assert.fail(message ?? `actual '${actual}' is strictly equal to expected '${expected}'`) + } + + /** + * Asserts that actual is deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + export function deepEqual(actual: Array, expected: Array, message?: string): void { + if (equalArrayContent(actual, expected)) return + Assert.fail(message ?? `actual '${actual}' is not deeply equal to expected '${expected}'`) + } + + /** + * Asserts that actual is not deeply equal to expected. + * @param actual - actual value array + * @param expected - potential expected value array + * @param message - message to display on error + */ + export function notDeepEqual(actual: Array, expected: Array, message?: string): void { + if (!equalArrayContent(actual, expected)) return + Assert.fail(message ?? `actual '${actual}' is deeply equal to expected '${expected}'`) + } + + /** + * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. + * + * @param valueToCheck Actual value. + * @param valueToBeAbove Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void { + Assert.fail("Assert.isAbove unsupported") + } + + /** + * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. + * + * @param valueToCheck Actual value. + * @param valueToBeAtLeast Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void { + Assert.fail("Assert.isAtLeast unsupported") + } + + /** + * Asserts valueToCheck is strictly less than (<) valueToBeBelow. + * + * @param valueToCheck Actual value. + * @param valueToBeBelow Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void { + Assert.fail("Assert.isBelow unsupported") + } + + /** + * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. + * + * @param valueToCheck Actual value. + * @param valueToBeAtMost Minimum Potential expected value. + * @param message Message to display on error. + */ + export function isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void { + Assert.fail("Assert.isAtMost unsupported") + } + + /** + * Asserts that value is true. + * @param value - actual value + * @param message - message to display on error + */ + export function isTrue(value?: boolean, message?: string): void { + if (value == true) return + Assert.fail(message ?? `actual '${value}' is not true unexpectedly`) + } + + /** + * Asserts that value is not true. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotTrue(value?: boolean, message?: string): void { + if (value != true) return + Assert.fail(message ?? `actual '${value}' is true unexpectedly`) + } + + /** + * Asserts that value is false. + * @param value - actual value + * @param message - message to display on error + */ + export function isFalse(value?: boolean, message?: string): void { + if (value == false) return + Assert.fail(message ?? `actual '${value}' is not false unexpectedly`) + } + + /** + * Asserts that value is not false. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotFalse(value?: boolean, message?: string): void { + if (value != false) return + Assert.fail(message ?? `actual '${value}' is false unexpectedly`) + } + + /** + * Asserts that value is null. + * @param value - actual value + * @param message - message to display on error + */ + export function isNull(value: T, message?: string): void { + if (value == null) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is not null unexpectedly`) + } + + /** + * Asserts that value is not null. + * @param value - actual value + * @param message - message to display on error + */ + export function isNotNull(value: T, message?: string): void { + if (value != null) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is null unexpectedly`) + } + + /** + * Asserts that value is NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNaN(value: T, message?: string): void { + Assert.fail("Assert.isNaN unsupported") + } + + /** + * Asserts that value is not NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotNaN(value: T, message?: string): void { + Assert.fail("Assert.isNotNaN unsupported") + } + + /** + * Asserts that the target is neither null nor undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function exists(value: T, message?: string): void { + if (value == undefined || value == null) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' does not exist unexpectedly`) + } + + /** + * Asserts that the target is either null or undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function notExists(value: T, message?: string): void { + if (value != undefined && value != null) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' exists unexpectedly`) + } + + /** + * Asserts that value is undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function isUndefined(value: T, message?: string): void { + if (value == undefined) return // replace with '===' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is defined unexpectedly`) + } + + /** + * Asserts that value is not undefined. + * @param value - actual value + * @param message - message to display on error + */ + export function isDefined(value: T, message?: string): void { + if (value != undefined) return // replace with '!==' when panda-issue-19588 is fixed + Assert.fail(message ?? `actual '${value}' is undefined unexpectedly`) + } + + /** + * Asserts that value is a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isFunction(value: T, message?: string): void { + Assert.fail("Assert.isFunction unsupported") + } + + /** + * Asserts that value is not a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotFunction(value: T, message?: string): void { + Assert.fail("Assert.isNotFunction unsupported") + } + + /** + * Asserts that value is an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + * @remarks The assertion does not match subclassed objects. + */ + export function isObject(value: T, message?: string): void { + Assert.fail("Assert.isObject unsupported") + } + + /** + * Asserts that value is not an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotObject(value: T, message?: string): void { + Assert.fail("Assert.isNotObject unsupported") + } + + /** + * Asserts that value is an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isArray(value: T, message?: string): void { + Assert.fail("Assert.isArray unsupported") + } + + /** + * Asserts that value is not an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotArray(value: T, message?: string): void { + Assert.fail("Assert.isNotArray unsupported") + } + + /** + * Asserts that value is a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isString(value: T, message?: string): void { + Assert.fail("Assert.isString unsupported") + } + + /** + * Asserts that value is not a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotString(value: T, message?: string): void { + Assert.fail("Assert.isNotString unsupported") + } + + /** + * Asserts that value is a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNumber(value: T, message?: string): void { + Assert.fail("Assert.isNumber unsupported") + } + + /** + * Asserts that value is not a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotNumber(value: T, message?: string): void { + Assert.fail("Assert.isNotNumber unsupported") + } + + /** + * Asserts that value is a finite number. + * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. + * + * T Type of value + * @param value Actual value + * @param message Message to display on error. + */ + export function isFinite(value: T, message?: string): void { + Assert.fail("Assert.isFinite unsupported") + } + + /** + * Asserts that value is a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isBoolean(value: T, message?: string): void { + Assert.fail("Assert.isBoolean unsupported") + } + + /** + * Asserts that value is not a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + export function isNotBoolean(value: T, message?: string): void { + Assert.fail("Assert.isNotBoolean unsupported") + } + + /** + * Asserts that value's type is name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + export function typeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.typeOf unsupported") + } + + /** + * Asserts that value's type is not name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + export function notTypeOf(value: T, name: string, message?: string): void { + Assert.fail("Assert.notTypeOf unsupported") + } + + /** + * Asserts that value is an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param construct Potential expected contructor of value. + * @param message Message to display on error. + * / + static instanceOf(value: T, construct: Function, message?: string): void*/ + + /** + * Asserts that value is not an instance of constructor. + * + * T Type of value. + * @param value Actual value. + * @param constructor Potential expected contructor of value. + * @param message Message to display on error. + * / + static notInstanceOf(value: T, type: Function, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static include(haystack: string, needle: string, message?: string): void*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static include(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static include(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: string, needle: string, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude( + haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + * / + static notInclude(haystack: WeakSet, needle: T, message?: string): void;*/ + + /** + * Asserts that haystack does not includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + * / + static notInclude(haystack: T, needle: Partial, message?: string): void;*/ + + /** + * Asserts that value matches the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + export function match(value: string, regexp: RegExp, message?: string): void { + Assert.fail("Assert.match unsupported") + } + + /** + * Asserts that value does not match the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + export function notMatch(expected: string, regexp: RegExp, message?: string): void { + Assert.fail("Assert.notMatch unsupported") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + * / + static throw(func: () => void): void { + Assert.throws(func) + } + + /** + * Asserts that the given function will throw an error. + * @param func - a function that may throw an error + */ + export function throws(func: () => void): void { + let expected: Error | undefined = undefined + try { + func() + } catch (error) { + expected = error as Error + } + if (expected) return + Assert.fail("expected error is not thrown") + } + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static throws( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static Throw( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + * / + static doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void;*/ + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + * / + static doesNotThrow( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void;*/ + + /** + * Compares two values using operator. + * + * @param val1 Left value during comparison. + * @param operator Comparison operator. + * @param val2 Right value during comparison. + * @param message Message to display on error. + * / + static operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void;*/ + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + * / + static closeTo(actual: number, expected: number, delta: number, message?: string): void;*/ + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + * / + static approximately(act: number, exp: number, delta: number, message?: string): void;*/ + + /** + * Asserts that non-object, non-array value inList appears in the flat array list. + * + * T Type of list values. + * @param inList Value expected to be in the list. + * @param list List of values. + * @param message Message to display on error. + */ + export function oneOf(inList: T, list: T[], message?: string): void { + Assert.fail("Assert.oneOf unsupported") + } + + /** + * Asserts that the target does not contain any values. For arrays and + * strings, it checks the length property. For Map and Set instances, it + * checks the size property. For non-function objects, it gets the count + * of own enumerable string keys. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + export function isEmpty(object: T, message?: string): void { + const size = getContainerSize(object) + if (size != 0) Assert.fail(message ?? (size < 0 ? "unsupported container" : "container is not empty unexpectedly")) + } + + /** + * Asserts that the target contains values. For arrays and strings, it checks + * the length property. For Map and Set instances, it checks the size property. + * For non-function objects, it gets the count of own enumerable string keys. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + export function isNotEmpty(object: T, message?: string): void { + const size = getContainerSize(object) + if (size <= 0) Assert.fail(message ?? (size < 0 ? "unsupported container" : "container is empty unexpectedly")) + } +} + +function equalArrayContent(actual: Array, expected: Array): boolean { + const length = actual.length + if (expected.length != length) return false + for (let i = 0; i < length; i++) { + if (expected[i] != actual[i]) return false + } + return true +} + +/** + * @param object - a container to check + * @returns a container size, or -1 if the given container is not supported + */ +function getContainerSize(container: T): number { + if (container instanceof Map) return container.size + if (container instanceof Set) return container.size + if (container instanceof Array) return container.length + if (container instanceof String) return container.length + return -1 +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..8938a24fb31d6e81c00c477b515f9a1ba977377e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/src/typescript/index.ts @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { doTest, TestKind } from "../arkts/shared" +export { Assert, Assert as assert } from "./assert" + +export function test(name: string, content?: () => void) { + doTest(TestKind.PASS, `test: "${name}"`, content) +} + +export namespace test { + export function skip(name: string, content?: () => void) { + doTest(TestKind.SKIP, `test: "${name}"`, content) + } + + export function expectFailure(reason: string, name: string, content?: () => void) { + doTest(TestKind.FAIL, `test: "${name}"; reason: "${reason}"`, content) + } + + export function conditional(condition: boolean, name: string, content?: () => void) { + if (condition) { + test(name, content) + } else { + test.skip(name, content) + } + } + + export function expect(expectSuccess: boolean, name: string, content?: () => void) { + if (expectSuccess) { + test(name, content) + } else { + test.expectFailure("Description of the problem", name, content) + } + } +} + +export function suite(name: string, content?: () => void) { + doTest(TestKind.PASS, `suite: "${name}"`, content, true) +} + +export namespace suite { + export function skip(name: string, content?: () => void) { + doTest(TestKind.SKIP, `suite: "${name}"`, content) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/CheckKind.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/CheckKind.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..05c2810931b7983800220a6500b7d304b542b9c8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/CheckKind.test.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Assert as assert, suite, test } from "@koalaui/harness" + +function checkKind(actual: string, expected: string) { + assert.equal(actual, expected) +} + +suite("CheckTestKind", () => { + test("passed", () => { checkKind("passed", "passed") }) + test("failed", () => { checkKind("failed", "fail failed") }) + + test.expectFailure("because", "expected failed", () => { checkKind("expected failed", "expected failed - fail!") }) + test.expectFailure("because", "unexpectedly passed", () => { checkKind("unexpectedly passed", "unexpectedly passed") }) + + test.skip("skipped", () => { checkKind("skipped", "skipped") }) + suite.skip("skip several tests", () => { + test("skip1", () => {}) + test("skip2", () => {}) + test("skip3", () => {}) + }) +}) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/tsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..b7d6499a4bdc78869a40dfae5a6b74880efdcd7a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/test/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "baseUrl": "./", + "outDir": "build/test", + "module": "CommonJS" + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig-ohos.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig-ohos.json new file mode 100644 index 0000000000000000000000000000000000000000..128c234b63fe7478719b59bfdae08efb71998846 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig-ohos.json @@ -0,0 +1,18 @@ +{ + "extends": "@koalaui/build-common/tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": ".", + "outDir": "build", + "module": "CommonJS", + "paths": { + "@koalaui/compat": ["../compat/src/ohos"], + "@koalaui/common": ["../common/src"], + "#harness": ["./src/ohos"] + } + }, + "include": [ + "./src/index.ts", + "./src/ohos/**/*" + ] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..cc00e19fc0a7083e1d4caed5ba84057049d84515 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/harness/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "@koalaui/build-common/tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": ".", + "outDir": "build", + "module": "CommonJS", + "paths": { + "@koalaui/compat": ["../compat/src/typescript"], + "@koalaui/common": ["../common/src"], + "#harness": ["./src/typescript"] + } + }, + "include": [ + "./src/index.ts", + "./src/arkts/shared.ts", + "./src/typescript/**/*" + ], + "references": [ + { "path": "../common" }, + { "path": "../compat" } + ] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/package.json index f654dcbdcd55429f6a0c8b896bf5c7d91af6ea9c..ce00be24475c4bc95258cbc6818843c0f29f021c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/package.json @@ -22,7 +22,7 @@ "all:clean": "npm run clean --ws --if-present -s", "all:clean:unmemoized": "npm run clean:unmemoized --ws --if-present -s", "compile": "npm run compile -w ./compat && npm run compile -w ./common && npm run compile -w ./harness && npm run compile -w ./runtime && npm run compile -w ./demo-playground && npm run compile -w ./compiler-plugin", - "build:incremental:gn": "npm run build:incremental:inc:ui2abc --prefix runtime" + "build:incremental:gn": "npm run compile -C compiler-plugin && npm run build:incremental:inc:ui2abc -C runtime" }, "dependencies": { "@koalaui/fast-arktsc": "1.5.15", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/package.json index 58a8a23d8f29e731c8c4de9d2eb4b49faf52e6bc..1a3f83f180e1bf45a15726256901e2ae11aeb98e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@koalaui/runtime", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "main": "./build/lib/src/index.js", "types": "./build/lib/src/index.d.ts", @@ -12,6 +12,7 @@ ], "scripts": { "compile": "npm run build:compiler-plugin && ets-tsc -p .", + "compile:release": "npm run build:compiler-plugin && ets-tsc -p .", "compile:test": "ets-tsc -b tsconfig-test.json", "clean": "rimraf build ets", "test": "mocha", @@ -35,8 +36,9 @@ "build:runtime:inc": "npm run unmemoize && fast-arktsc --config ./arktsconfig-run-unmemoized.json --compiler ../tools/panda/arkts/arktsc --link-name ./build/runtime.abc && ninja ${NINJA_OPTIONS} -f build/unmemoized/abc/build.ninja", "build:runtime:inc:ui2abc:restart": "npm run unmemoize && fast-arktsc --config ./ui2abcconfig-only-restart.json --compiler ../tools/panda/arkts/ui2abc --link-name ./build/runtime.abc --restart-stages && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/build.ninja", "annotate": "npm run compile --prefix ../../ui2abc/annotate && node ../../ui2abc/annotate", - "build:runtime:inc:ui2abc": "npm run annotate && fast-arktsc --config ./ui2abcconfig.json --compiler ../tools/panda/arkts/ui2abc --link-name ./build/runtime.abc --restart-stages && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/build.ninja", - "build:runtime:inc:ui2abc:recheck": "npm run annotate && fast-arktsc --config ./ui2abcconfig-recheck.json --compiler ../tools/panda/arkts/ui2abc --link-name ./build/runtime.abc && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/recheck/build.ninja", + "fast-arktsc": "npm run compile --prefix ../../ui2abc/fast-arktsc", + "build:runtime:inc:ui2abc": "npm run annotate && npm run fast-arktsc && node ../../ui2abc/fast-arktsc --config ./ui2abcconfig.json --compiler ../tools/panda/arkts/ui2abc --link-name ./build/runtime.abc --restart-stages --group-by 5 && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/build.ninja", + "build:runtime:inc:ui2abc:recheck": "npm run annotate && npm run fast-arktsc && node ../../ui2abc/fast-arktsc --config ./ui2abcconfig-recheck.json --compiler ../tools/panda/arkts/ui2abc --link-name ./build/runtime.abc --group-by 5 && PANDA_SDK_PATH=${PANDA_SDK_PATH:=../tools/panda/node_modules/@panda/sdk} ninja ${NINJA_OPTIONS} -f build/recheck/build.ninja", "build:runtime:with:tests": "npm run unmemoize:with:tests && fast-arktsc --config ./arktsconfig-test-unmemoized.json --compiler ../tools/panda/arkts/arktsc --link-name ./build/runtime-tests.abc && ninja ${NINJA_OPTIONS} -f build/unmemoized/abc/build.ninja", "build:incremental:components": "npm run build:compat && npm run build:common && npm run build:runtime", "build:incremental:components:inc": "npm run build:compat:inc && npm run build:common:inc && npm run build:runtime:inc", @@ -51,9 +53,9 @@ }, "keywords": [], "dependencies": { - "@koalaui/common": "1.7.3+devel", - "@koalaui/compat": "1.7.3+devel", - "@koalaui/harness": "1.7.3+devel" + "@koalaui/common": "1.7.4+devel", + "@koalaui/compat": "1.7.4+devel", + "@koalaui/harness": "1.7.4+devel" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.20.0", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/animation/TimeAnimation.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/animation/TimeAnimation.ts index 0cb7f89f8bd8954c4b4f53fe580016477c181d37..d916fdd1952992631c6d3d668721c6b8559d9123 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/animation/TimeAnimation.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/animation/TimeAnimation.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import { float64, int32, int64, isFiniteNumber, uint32 } from "@koalaui/common" +import { float64, float64ToLong, int32, int64, isFiniteNumber, uint32 } from "@koalaui/common" import { AnimationRange, NumberAnimationRange } from "./AnimationRange" import { Easing, EasingCurve } from "./Easing" import { scheduleCallback } from "../states/GlobalStateManager" @@ -322,7 +322,7 @@ class PeriodicAnimationImpl implements TimeAnimation { let result = this.state let passedTime = currentTime - startTime if (passedTime > this.period) { - result += Math.floor(passedTime / this.period) as int64 + result += float64ToLong(Math.floor(passedTime / this.period)) passedTime = passedTime % this.period // tune start time for long animations this.startTime = currentTime - passedTime diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/states/State.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/states/State.ts index aab34f593c26be0b953a0e5220004a159d8ab78a..96b689fbc400df2151100443e8fe364117360c2b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/states/State.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/states/State.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import { Array_from_set, className, int32, KoalaCallsiteKey, KoalaCallsiteKeys, KoalaProfiler, markableQueue, Observable, ObservableHandler, refEqual, uint32 } from "@koalaui/common" +import { Array_from_set, className, float64ToInt, int32, KoalaCallsiteKey, KoalaCallsiteKeys, KoalaProfiler, MarkableQueue, markableQueue, Observable, ObservableHandler, refEqual, uint32 } from "@koalaui/common" import { Dependencies, Dependency } from "./Dependency" import { Disposable, disposeContent, disposeContentBackward } from "./Disposable" import { Changes, Journal } from "./Journal" @@ -228,8 +228,8 @@ class StateImpl implements Observable, ManagedState, MutableState protected manager: StateManagerImpl | undefined = undefined private dependencies: Dependencies | undefined = undefined protected snapshot: Value - protected myModified = false - protected myUpdated = true + protected myModified: boolean = false + protected myUpdated: boolean = true private readonly myGlobal: boolean protected equivalent: Equivalent | undefined = undefined private tracker: ValueTracker | undefined = undefined @@ -362,7 +362,7 @@ class StateImpl implements Observable, ManagedState, MutableState class ArrayStateImpl extends StateImpl> implements ArrayState { constructor(manager: StateManagerImpl, initial: Array, global: boolean, equivalent?: Equivalent) { super(manager, initial, global, (oldArray: Array, newArray: Array): boolean => { - let i = oldArray.length + let i: number = oldArray.length if (i != newArray.length) return false while (0 < i--) { if (isModified(oldArray[i], newArray[i], equivalent)) return false @@ -454,7 +454,7 @@ class ParameterImpl implements MutableState { private dependencies: Dependencies | undefined = undefined private name: string | undefined = undefined private _value: Value - private _modified = false + private _modified: boolean = false /** * @param manager - current state manager to register with @@ -516,15 +516,15 @@ class ParameterImpl implements MutableState { class StateManagerImpl implements StateManager { private stateCreating: string | undefined = undefined - private readonly statesNamed = new Map() - private readonly statesCreated = new Set() - private readonly dirtyScopes = new Set() + private readonly statesNamed: Map = new Map() + private readonly statesCreated: Set = new Set() + private readonly dirtyScopes: Set = new Set() current: ManagedScope | undefined = undefined external: Dependency | undefined = undefined - updateNeeded = false + updateNeeded: boolean = false frozen: boolean = false - private readonly callbacks = markableQueue() - readonly journal = new Journal() + private readonly callbacks: MarkableQueue = markableQueue() + readonly journal: Journal = new Journal() constructor() { } @@ -566,7 +566,8 @@ class StateManagerImpl implements StateManager { let modified: uint32 = 0 // try to update snapshot for every state, except for parameter states const changes = this.journal.getChanges() - const created = this.statesCreated.size as int32 // amount of created states to update + // TODO: use compat here (toInt cast) + const created = float64ToInt(this.statesCreated.size) // amount of created states to update if (created > 0) { const it = this.statesCreated.keys() while (true) { @@ -789,8 +790,8 @@ class ScopeImpl implements ManagedScope, InternalScope, Computable private myCompute: (() => Value) | undefined = undefined private myCleanup: ((value: Value | undefined) => void) | undefined = undefined private myValue: Value | undefined = undefined - private myModified = false - private myComputed = false + private myModified: boolean = false + private myComputed: boolean = false private params: Array | undefined = undefined private statesNamed: Map | undefined = undefined diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/tree/TreeNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/tree/TreeNode.ts index 40e24f1bf8ff52f7c0e1c92b7a7e88894e49310a..6ce8b4ad68ad5a6a60414dc829d53308e0279e11 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/tree/TreeNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/src/tree/TreeNode.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import { className, float64, int32, KoalaProfiler, uint32 } from "@koalaui/common" +import { className, float64, float64ToInt, int32, KoalaProfiler, uint32 } from "@koalaui/common" import { Disposable } from "../states/Disposable" import { ReadonlyTreeNode } from "./ReadonlyTreeNode" @@ -76,7 +76,7 @@ export class TreeNode implements Disposable, ReadonlyTreeNode { * Returns the number of children of this node. */ get childrenCount(): uint32 { - return this.myChildren.length as uint32 + return float64ToInt(this.myChildren.length) } /** @@ -223,7 +223,7 @@ export class TreeNode implements Disposable, ReadonlyTreeNode { */ removeChild(node: TreeNode): boolean { if (node.myParent !== this) return false // not in hierarchy - const index: int32 = this.myIndicesValid ? node.index : this.myChildren.indexOf(node) as int32 + const index: int32 = this.myIndicesValid ? node.index : float64ToInt(this.myChildren.indexOf(node)) return undefined !== this.removeChildAt(index) } @@ -284,7 +284,7 @@ export class TreeNode implements Disposable, ReadonlyTreeNode { } collectParentsTo(array: Array): void { - const index = array.length as int32 + const index = float64ToInt(array.length) let parent = this.myParent while (parent !== undefined) { array.splice(index, 0, parent!) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/test-arkts/tests.ts b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/test-arkts/tests.ts index 95172ddaaf871088be4581ab1d7ed015f59b2f69..ce55df5289d47b6b2e6682f2b95a9c43b053c130 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/test-arkts/tests.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/test-arkts/tests.ts @@ -22,7 +22,6 @@ import { __ARKTEST__ as contextLocal } from "./memo/contextLocal.test" import { __ARKTEST__ as remember } from "./memo/remember.test" import { __ARKTEST__ as repeat } from "./memo/repeat.test" import { __ARKTEST__ as Journal } from "./states/Journal.test" -import { __ARKTEST__ as state_basics } from "./states/state_basics.test" import { __ARKTEST__ as State } from "./states/State.test" import { __ARKTEST__ as TreeNode } from "./tree/TreeNode.test" import { __ARKTEST__ as TreePath } from "./tree/TreePath.test" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/ui2abcconfig-recheck.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/ui2abcconfig-recheck.json index 546e563c9ad0529b0fbfc8f937744778648ab083..f26de7bdfd46f493e9bc10db7a677065791229c0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/ui2abcconfig-recheck.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/runtime/ui2abcconfig-recheck.json @@ -19,11 +19,9 @@ "transform": "@koalaui/memo-plugin", "stage": "checked", "contextImport": "../internals", - "name": "memo", - "manuallyDisableInsertingImport": true + "name": "memo" } ] }, - "include": ["ets/**/*.ts"], - "exclude": ["ets/index.ts", "ets/internals.ts"] + "include": ["ets/**/*.ts"] } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/arkts/common.js b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/arkts/common.js index 6a7c77463c1d1bc012a7a84db37557c731fb471a..e152f658b7ffcf5c01b33110ad9de577e481aea7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/arkts/common.js +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/arkts/common.js @@ -17,7 +17,7 @@ const child_process = require('child_process') const path = require('node:path') const TOOLS_PANDA_ROOT = path.join(__dirname, "..") -const PANDA_SDK = path.join(TOOLS_PANDA_ROOT, "node_modules/@panda/sdk") +const PANDA_SDK = process.env.PANDA_SDK_PATH ?? path.join(TOOLS_PANDA_ROOT, "node_modules/@panda/sdk") const ARCH_TOOLS = (() => { const arch = process.arch let sdkArch = ""; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/package.json index 89753bba2abaeffee4aec878ef13b8670d35d4c3..777df4e200a1365d1eac9cce5f67a4af5a7ac698 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/incremental/tools/panda/package.json @@ -9,7 +9,7 @@ }, "scripts": { "panda:patch": "git apply patch/es2panda_lib.idl.patch", - "panda:sdk:check-install": "npm ls @panda/sdk || npm run panda:sdk:install", + "panda:sdk:check-install": "npm ls @panda/sdk@${PANDA_SDK_VERSION:-next} || npm run panda:sdk:install", "panda:sdk:install": "npm install --prefix . --no-save @panda/sdk@${PANDA_SDK_VERSION:-next}", "panda:sdk:clean": "rimraf ./node_modules", "panda:sdk:build": "node ./build_panda_sdk.mjs --panda-sdk-dir=./node_modules/@panda/sdk/ --arkcompiler-build-dir=$HOME/arkcompiler --runtime-git-rev=a6704b6a --frontend-git-rev=c2166bf1 --frontend-git-patches=./fix_es2panda_1.patch:./fix_normalizing_source_paths.patch", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/BUILD.gn b/frameworks/bridge/arkts_frontend/koala_mirror/interop/BUILD.gn index 4f8cfc9103682977a83c66aa44678d9ed1106098..77308e88360ba2c3eca82416675b463678e7a119 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/BUILD.gn +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/BUILD.gn @@ -20,8 +20,20 @@ interop_root = "" node_version = "v16.20.2" host_arch = "${host_os}-${host_cpu}" +action("interop_install") { + script = "../gn/command/npm_util.py" + outputs = [ + "$target_out_dir/interop_install" + ] + args = [ + "--project-path", rebase_path("."), + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--install" + ] +} + action("interop.abc") { - script = "gn/command/npm.py" + script = "../gn/command/npm_util.py" outputs = [ "$target_out_dir/interop.abc" ] @@ -35,8 +47,7 @@ action("interop.abc") { ] deps = [ - "${ohos_ets_api_deps}", - "${ohos_ets_arkts_deps}", + ":interop_install" ] external_deps = ets2abc_build_deps @@ -45,6 +56,7 @@ action("interop.abc") { group("interop") { deps = [ + "../ui2abc:fast_arktsc_build", "$interop_root:interop.abc" ] } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/gn/command/npm.py b/frameworks/bridge/arkts_frontend/koala_mirror/interop/gn/command/npm.py deleted file mode 100755 index b5dd25291aa0b67f789ae506f04370cbc30eb015..0000000000000000000000000000000000000000 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/gn/command/npm.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (c) 2025 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import subprocess -import sys -import os -import shutil -import argparse - -NPM_REPO = "https://repo.huaweicloud.com/repository/npm/" - -parser = argparse.ArgumentParser(description="npm command parser") -parser.add_argument("--project-path", help="project directory in koala repo") -parser.add_argument("--node-path", help="nodejs path") -parser.add_argument("--arklink-path", help="ark-link path") -parser.add_argument("--es2panda-path", help="es2panda path") -parser.add_argument("--stdlib-path", help="stdlib path") -parser.add_argument("--target-out-path", help="out directory of built target", default=None) -parser.add_argument("--built-file-path", help="result of building", default=None) -parser.add_argument("--npm-args", nargs='+', help="npm command args") - -args = parser.parse_args() - -project_path = args.project_path -node_path = args.node_path -arklink_path = args.arklink_path -es2panda_path = args.es2panda_path -ets_stdlib_path = args.stdlib_path - -target_out_path = args.target_out_path -built_file_path = args.built_file_path -npm_args = args.npm_args - -env = os.environ.copy() -env_orig = env["PATH"] -env["PATH"] = f"{node_path}:{env['PATH']}" - -if (es2panda_path != ""): - env["ES2PANDA_PATH"] = es2panda_path -if (arklink_path != ""): - env["ARKLINK_PATH"] = arklink_path -if (ets_stdlib_path != ""): - env["ETS_STDLIB_PATH"] = ets_stdlib_path - -koala_log = os.path.join(project_path, "koala_build.log") - -def execute(dir, args): - os.chdir(dir) - if env.get("KOALA_LOG_STDOUT") is not None: - subprocess.run(args, env=env, text=True, check=True, stderr=subprocess.STDOUT) - return - try: - ret = subprocess.run(args, capture_output=True, env=env, text=True, check=True) - with open(koala_log, "a+") as f: - f.write("\n") - f.write("install log:\n" + ret.stdout) - f.close() - except subprocess.CalledProcessError as e: - with open(koala_log, "a+") as f: - f.write("\n") - f.write("error message: "+ e.stderr + "\n") - f.close() - -def install(dir): - execute(dir, ["npm", "install", "--registry", NPM_REPO, "--verbose"]) - -def npm_command(dir, command): - execute(dir, ["npm"] + command) - -def main(): - install(project_path) - npm_command(project_path, npm_args) - - if target_out_path and built_file_path: - if not os.path.exists(built_file_path): - print(f"Error: Built file not found at {built_file_path}") - sys.exit(1) - - out_dir = os.path.join(target_out_path, os.path.basename(built_file_path)) - shutil.copy(built_file_path, out_dir) - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/interop/package.json index d2f20f6ea35ab079fc1f30d0cf96f1d123851bbb..f69adbf18d3b37b60665fcb846a16b499b5904f5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/package.json @@ -1,6 +1,6 @@ { "name": "@koalaui/interop", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "workspaces": [ "../incremental/build-common", @@ -42,6 +42,7 @@ "scripts": { "clean": "rimraf dist build types", "compile": "ets-tsc -b .", + "compile:release": "ets-tsc -b .", "build:interop": "npm run build:interop:inc", "build:interop:gn": "npm run build:interop:inc", "build:interop:inc": "fast-arktsc --config ./arktsconfig.json --compiler ../incremental/tools/panda/arkts/arktsc --link-name ./build/interop.abc && ninja ${NINJA_OPTIONS} -f build/abc/build.ninja", @@ -90,12 +91,13 @@ "configure:native-panda-with-hzvm-ohos-arm64": "npm run configure:native-panda-ohos-arm64 && node ./scripts/configure.mjs hzvm-ohos-arm64-vmloader", "compile:native-panda-with-hzvm-ohos-arm64": "npm run configure:native-panda-with-hzvm-ohos-arm64 && npm run compile:native-panda-ohos-arm64 && meson compile -C build-hzvm-ohos-arm64-vmloader && meson install -C build-hzvm-ohos-arm64-vmloader", "configure:native-panda-with-hzvm-ohos-arm32": "npm run configure:native-panda-ohos-arm32 && node ./scripts/configure.mjs hzvm-ohos-arm32-vmloader", - "compile:native-panda-with-hzvm-ohos-arm32": "npm run configure:native-panda-with-hzvm-ohos-arm32 && npm run compile:native-panda-ohos-arm32 && meson compile -C build-hzvm-ohos-arm32-vmloader && meson install -C build-hzvm-ohos-arm32-vmloader" + "compile:native-panda-with-hzvm-ohos-arm32": "npm run configure:native-panda-with-hzvm-ohos-arm32 && npm run compile:native-panda-ohos-arm32 && meson compile -C build-hzvm-ohos-arm32-vmloader && meson install -C build-hzvm-ohos-arm32-vmloader", + "compile:kotlin:interop": "mkdir -p ./build/kotlin-interop/bin && kotlinc ./src/kotlin/*.kt -d ./build/kotlin-interop/bin/interop.jar" }, "keywords": [], "dependencies": { "@types/node": "^18.0.0", - "@koalaui/common": "1.7.3+devel" + "@koalaui/common": "1.7.4+devel" }, "devDependencies": { "@ohos/hypium": "1.0.6", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts index cd9b41419d20b213bca4dc180aabe293563d1533..ddf38214d112cb616f5fb9e552a42c6d2fda120f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts @@ -19,13 +19,14 @@ import { NativeBuffer } from "./NativeBuffer" import { InteropNativeModule } from "./InteropNativeModule" import { Tags, CallbackResource } from "./SerializerBase"; import { ResourceHolder, Disposable } from "./ResourceManager" -import { StubFastIntrinsics } from "./StubFastIntrinsics" +import {unsafeMemory} from "std/core" export class DeserializerBase implements Disposable { - private position = 0 + private position : int64 = 0 private _buffer: KSerializerBuffer private readonly _isOwnBuffer: boolean; private readonly _length: int32 + private readonly _end: int64 private static customDeserializers: CustomDeserializer | undefined = new DateDeserializer() static registerCustomDeserializer(deserializer: CustomDeserializer) { @@ -42,107 +43,121 @@ export class DeserializerBase implements Disposable { constructor(buffer: KUint8ArrayPtr|KSerializerBuffer, length: int32) { if (buffer instanceof KUint8ArrayPtr) { - this._buffer = InteropNativeModule._Malloc(length) + const newBuffer = InteropNativeModule._Malloc(length) this._isOwnBuffer = true for (let i = 0; i < length; i++) { - StubFastIntrinsics.writeInt8(this._buffer + i, buffer[i] as byte) + unsafeMemory.writeInt8(newBuffer + i, buffer[i] as byte) } + this._buffer = newBuffer } else { this._buffer = buffer } + + const newBuffer = this._buffer; this._length = length + this.position = newBuffer + this._end = newBuffer + length; } - public dispose() { + public final dispose() { if (this._isOwnBuffer) { InteropNativeModule._Free(this._buffer) - this._buffer = nullptr + this._buffer = 0 + this.position = 0 } } - // TODO: get rid of length. - private static writeu8(buffer: KSerializerBuffer, offset: int32, length: int32, value: int32): void { - InteropNativeModule._WriteByte(buffer, offset as int64, length as int64, value as uint8) - } - // TODO: get rid of length. - private static readu8(buffer: KSerializerBuffer, offset: int32, length: int32): int32 { - return (InteropNativeModule._ReadByte(buffer, offset as int64, length as int64) as byte) & 0xff - } - final asBuffer(): KSerializerBuffer { return this._buffer } - final currentPosition(): int32 { - return this.position - } - final resetCurrentPosition(): void { - this.position = 0 + this.position = this._buffer } - private checkCapacity(value: int32) { - if (value > this._length) { - throw new Error(`${value} is less than remaining buffer length`) + final readInt8(): int32 { + const pos = this.position + const newPos = pos + 1 + + if (newPos > this._end) { + throw new Error(`value size(1) is less than remaining buffer length`) } - } - final readInt8(): int32 { - this.checkCapacity(1) - const value = StubFastIntrinsics.readInt8(this._buffer + this.position) - this.position += 1 - return value + this.position = newPos + return unsafeMemory.readInt8(pos) } final readInt32(): int32 { - this.checkCapacity(4) - let result = StubFastIntrinsics.readInt32(this._buffer + this.position) - this.position += 4 - return result + const pos = this.position + const newPos = pos + 4 + + if (newPos > this._end) { + throw new Error(`value size(4) is less than remaining buffer length`) + } + + this.position = newPos + return unsafeMemory.readInt32(pos) } final readPointer(): pointer { - this.checkCapacity(8) - let result = StubFastIntrinsics.readInt64(this._buffer + this.position) - this.position += 8 - return result + const pos = this.position + const newPos = pos + 8 + + if (newPos > this._end) { + throw new Error(`value size(8) is less than remaining buffer length`) + } + + this.position = newPos + return unsafeMemory.readInt64(pos) } final readInt64(): int64 { - this.checkCapacity(8) - let result = StubFastIntrinsics.readInt64(this._buffer + this.position) - this.position += 8 - return result + const pos = this.position + const newPos = pos + 8 + + if (newPos > this._end) { + throw new Error(`value size(8) is less than remaining buffer length`) + } + + this.position = newPos + return unsafeMemory.readInt64(pos) } final readFloat32(): float32 { - this.checkCapacity(4) - let result = StubFastIntrinsics.readFloat32(this._buffer + this.position) - this.position += 4 - return result + const pos = this.position + const newPos = pos + 4 + + if (newPos > this._end) { + throw new Error(`value size(4) is less than remaining buffer length`) + } + + + this.position = newPos + return unsafeMemory.readFloat32(pos) } final readBoolean(): boolean { - this.checkCapacity(1) - let value = StubFastIntrinsics.readBoolean(this._buffer + this.position); - this.position += 1 - if (value == undefined) + const pos = this.position + const newPos = pos + 1 + + if (newPos > this._end) { + throw new Error(`value size(1) is less than remaining buffer length`) + } + + + this.position = newPos + const value = unsafeMemory.readInt8(pos); + if (value == 5) return false; - return value + return value == 1 } - readFunction(): int32 { + final readFunction(): int32 { // TODO: not exactly correct. - const id = this.readInt32() - return id + return this.readInt32() } - // readMaterialized(): object { - // const ptr = this.readPointer() - // return { ptr: ptr } - // } - final readCallbackResource(): CallbackResource { return ({ resourceId: this.readInt32(), @@ -151,12 +166,18 @@ export class DeserializerBase implements Disposable { } as CallbackResource) } - final readString(): string { - // read without null-terminated byte - let encodedLength = this.readInt32(); - const value = StubFastIntrinsics.readString(this._buffer + this.position, encodedLength) - this.position += encodedLength - return value + final readString(): string { + const encodedLength = this.readInt32(); + const pos = this.position + const newPos = pos + encodedLength + + if (newPos > this._end) { + throw new Error(`value size(${encodedLength}) is less than remaining buffer length`) + } + + this.position = newPos + // NOTE: skip null-terminated byte + return unsafeMemory.readString(pos, encodedLength - 1) } final readCustomObject(kind: string): object { @@ -173,46 +194,26 @@ export class DeserializerBase implements Disposable { } final readNumber(): number | undefined { - const tag = this.readInt8() - if (tag == Tags.UNDEFINED) { - return undefined - } else if (tag == Tags.INT32) { - return this.readInt32() - } else if (tag == Tags.FLOAT32) { - return this.readFloat32() - } else { - throw new Error(`Unknown number tag: ${tag}`) + const pos = this.position + const tag = this.readInt8() as int + switch (tag) { + case Tags.UNDEFINED as int: + return undefined; + case Tags.INT32 as int: + return this.readInt32() + case Tags.FLOAT32 as int: + return this.readFloat32() + default: + throw new Error(`Unknown number tag: ${tag}`) } } - readObject():object { + final readObject():object { const resource = this.readCallbackResource() return ResourceHolder.instance().get(resource.resourceId) } - static lengthUnitFromInt(unit: int32): string { - let suffix: string - switch (unit) { - case 0: - suffix = "px" - break - case 1: - suffix = "vp" - break - case 3: - suffix = "%" - break - case 4: - suffix = "lpx" - break - default: - suffix = "" - } - return suffix - } - final readBuffer(): NativeBuffer { - /* not implemented */ const resource = this.readCallbackResource() const data = this.readPointer() const length = this.readInt64() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/Finalizable.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/Finalizable.ts index 6ae3ac2d8b4f612072e37bee9b64eae3d91a2b01..b2421b1eee73475431812919670eb5dc8aa45265 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/Finalizable.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/Finalizable.ts @@ -49,13 +49,22 @@ export class Finalizable { finalizer: pointer cleaner: NativeThunk|undefined = undefined managed: boolean - constructor(ptr: pointer, finalizer: pointer, managed: boolean = true) { + + constructor(ptr: pointer, finalizer: pointer) { + this.init(ptr, finalizer, true) + } + + constructor(ptr: pointer, finalizer: pointer, managed: boolean) { + this.init(ptr, finalizer, managed) + } + + init(ptr: pointer, finalizer: pointer, managed: boolean) { this.ptr = ptr this.finalizer = finalizer this.managed = managed const handle = undefined - if (this.managed) { + if (managed) { if (this.ptr == nullptr) throw new Error("Can't have nullptr ptr ${}") if (this.finalizer == nullptr) throw new Error("Managed finalizer is 0") diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/InteropNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/InteropNativeModule.ts index 002decba73d355a4577e8fa0f1314bbb36de0845..7626279b38ca416890d9e4252f6e8f09fd2fcef9 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/InteropNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/InteropNativeModule.ts @@ -52,7 +52,7 @@ export class InteropNativeModule { native static _CallCallbackSync(callbackKind: int32, args: KSerializerBuffer, argsSize: int32): void native static _CallCallbackResourceHolder(holder: KPointer, resourceId: int32): void native static _CallCallbackResourceReleaser(releaser: KPointer, resourceId: int32): void - native static _LoadVirtualMachine(arg0: int32, arg1: string, arg2: string): int32 + native static _LoadVirtualMachine(arg0: int32, arg1: string, arg2: string, arg3: string): int32 native static _RunApplication(arg0: int32, arg1: int32): boolean native static _StartApplication(appUrl: string, appParams: string): KPointer native static _EmitEvent(eventType: int32, target: int32, arg0: int32, arg1: int32): string diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/NativeBuffer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/NativeBuffer.ts index 655cff48a21b5ba6f83844a6c2b0b5905ee2c218..89b25f162f8ce3fddd9f31b11cdffc7227be68dc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/NativeBuffer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/NativeBuffer.ts @@ -17,7 +17,7 @@ import { pointer, KSerializerBuffer, nullptr } from './InteropTypes' import { int32, int64 } from '@koalaui/common' import { InteropNativeModule } from "./InteropNativeModule" import { Disposable } from "./ResourceManager" -import { StubFastIntrinsics } from "./StubFastIntrinsics" +import {unsafeMemory} from "std/core" // stub wrapper for KInteropBuffer export final class NativeBuffer { @@ -36,11 +36,11 @@ export final class NativeBuffer { } public readByte(index:int64): int32 { - return StubFastIntrinsics.readInt8(this.data + index) + return unsafeMemory.readInt8(this.data + index) } public writeByte(index:int64, value: int32): void { - StubFastIntrinsics.writeInt8(this.data + index, value as byte) + unsafeMemory.writeInt8(this.data + index, value as byte) } static wrap(data:pointer, length: int64, resourceId: int32, hold:pointer, release: pointer): NativeBuffer { @@ -79,9 +79,9 @@ export class KBuffer implements Disposable { } public get(index: int64): byte { - return StubFastIntrinsics.readInt8(this._buffer + index) + return unsafeMemory.readInt8(this._buffer + index) } public set(index: int64, value: byte): void { - StubFastIntrinsics.writeInt8(this._buffer + index, value) + unsafeMemory.writeInt8(this._buffer + index, value) } } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/SerializerBase.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/SerializerBase.ts index 4ce785f63b40dfeaf6150f61aacfa747580461cf..408bc4e094794233b6f55bb1ae1c2db0af5abeae 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/SerializerBase.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/SerializerBase.ts @@ -18,37 +18,37 @@ import { ResourceId, ResourceHolder, Disposable } from "./ResourceManager" import { NativeBuffer } from "./NativeBuffer" import { InteropNativeModule } from "./InteropNativeModule" import { MaterializedBase } from "./MaterializedBase" -import { StubFastIntrinsics } from "./StubFastIntrinsics" +import {unsafeMemory} from "std/core" /** * Value representing possible JS runtime object type. * Must be synced with "enum RuntimeType" in C++. */ -export class RuntimeType { - static UNEXPECTED = -1 - static NUMBER = 1 - static STRING = 2 - static OBJECT = 3 - static BOOLEAN = 4 - static UNDEFINED = 5 - static BIGINT = 6 - static FUNCTION = 7 - static SYMBOL = 8 - static MATERIALIZED = 9 +export final class RuntimeType { + static readonly UNEXPECTED = -1 + static readonly NUMBER = 1 + static readonly STRING = 2 + static readonly OBJECT = 3 + static readonly BOOLEAN = 4 + static readonly UNDEFINED = 5 + static readonly BIGINT = 6 + static readonly FUNCTION = 7 + static readonly SYMBOL = 8 + static readonly MATERIALIZED = 9 } /** * Value representing object type in serialized data. * Must be synced with "enum Tags" in C++. */ -export class Tags { - static UNDEFINED = 101 - static INT32 = 102 - static FLOAT32 = 103 - static STRING = 104 - static LENGTH = 105 - static RESOURCE = 106 - static OBJECT = 107 +export enum Tags { + UNDEFINED = 101, + INT32 = 102, + FLOAT32 = 103, + STRING = 104, + LENGTH = 105, + RESOURCE = 106, + OBJECT = 107, } export function runtimeType(value: T): int32 { @@ -122,9 +122,10 @@ class DateSerializer extends CustomSerializer { SerializerBase.registerCustomSerializer(new DateSerializer()) export class SerializerBase implements Disposable { - private position: int32 = 0 + private position: int64 = 0 private _buffer: KSerializerBuffer private _length: int32 + private _last: int64 private static customSerializers: CustomSerializer | undefined = new DateSerializer() static registerCustomSerializer(serializer: CustomSerializer) { @@ -143,12 +144,15 @@ export class SerializerBase implements Disposable { let length = 96 this._buffer = InteropNativeModule._Malloc(length as int64) this._length = length + this.position = this._buffer + this._last = this._buffer + length - 1; } + public release() { this.releaseResources() - this.position = 0 + this.position = this._buffer } - public dispose() { + public final dispose() { InteropNativeModule._Free(this._buffer) this._buffer = nullptr } @@ -157,51 +161,45 @@ export class SerializerBase implements Disposable { return this._buffer } final length(): int32 { - return this.position - } - final currentPosition(): int32 { - return this.position + return (this.position - this._buffer) as int32 } - final getByte(offset: int32): byte { - return StubFastIntrinsics.readInt8(this._buffer + offset) - } final toArray(): byte[] { - let result = new byte[this.currentPosition()] - for (let i = 0; i < this.currentPosition(); i++) { - result[i] = this.getByte(i) as byte + const len = this.length() + let result = new byte[len] + for (let i = 0; i < len; i++) { + result[i] = unsafeMemory.readInt8(this._buffer + i) } return result } - private checkCapacity(value: int32) { - if (value < 1) { - throw new Error(`${value} is less than 1`) - } + + private final updateCapacity(value: int32) { let buffSize = this._length - if (this.position > buffSize - value) { - const minSize = this.position + value - const resizedSize = Math.max(minSize, Math.round(3 * buffSize / 2)) as int32 - let resizedBuffer = InteropNativeModule._Malloc(resizedSize) - let oldBuffer = this._buffer - for (let i = 0; i < this.position; i++) { - let val = StubFastIntrinsics.readInt8(oldBuffer + i); - StubFastIntrinsics.writeInt8(resizedBuffer + i, val) - } - this._buffer = resizedBuffer - this._length = resizedSize - InteropNativeModule._Free(oldBuffer) + const minSize = buffSize + value + const resizedSize = Math.max(minSize, Math.round(3 * buffSize / 2)) as int32 + let resizedBuffer = InteropNativeModule._Malloc(resizedSize) + let oldBuffer = this._buffer + for (let i = 0; i < this.position; i++) { + let val = unsafeMemory.readInt8(oldBuffer + i); + unsafeMemory.writeInt8(resizedBuffer + i, val) } + this._buffer = resizedBuffer + this.position = this.position - oldBuffer + resizedBuffer + this._length = resizedSize + this._last = resizedBuffer + resizedSize - 1; + InteropNativeModule._Free(oldBuffer) } + private heldResources: Array = new Array() private heldResourcesCount: int32 = 0 - private addHeldResource(resourceId: ResourceId) { + private final addHeldResource(resourceId: ResourceId) { if (this.heldResourcesCount == this.heldResources.length) this.heldResources.push(resourceId) else this.heldResources[this.heldResourcesCount] = resourceId this.heldResourcesCount++ } - holdAndWriteCallback(callback: object, hold: pointer = 0, release: pointer = 0, call: pointer = 0, callSync: pointer = 0): ResourceId { + final holdAndWriteCallback(callback: object, hold: pointer = 0, release: pointer = 0, call: pointer = 0, callSync: pointer = 0): ResourceId { const resourceId = ResourceHolder.instance().registerAndHold(callback) this.addHeldResource(resourceId) this.writeInt32(resourceId) @@ -211,7 +209,7 @@ export class SerializerBase implements Disposable { this.writePointer(callSync) return resourceId } - holdAndWriteCallbackForPromiseVoid(hold: pointer = 0, release: pointer = 0, call: pointer = 0): [Promise, ResourceId] { + final holdAndWriteCallbackForPromiseVoid(hold: pointer = 0, release: pointer = 0, call: pointer = 0): [Promise, ResourceId] { let resourceId: ResourceId = 0 const promise = new Promise((resolve: (value: PromiseLike) => void, reject: (err: Error) => void) => { const callback = (err: Error|undefined) => { @@ -224,7 +222,7 @@ export class SerializerBase implements Disposable { }) return [promise, resourceId] } - holdAndWriteCallbackForPromise(hold: pointer = 0, release: pointer = 0, call: pointer = 0): [Promise, ResourceId] { + final holdAndWriteCallbackForPromise(hold: pointer = 0, release: pointer = 0, call: pointer = 0): [Promise, ResourceId] { let resourceId: ResourceId = 0 const promise = new Promise((resolve: (value: T|PromiseLike) => void, reject: (err: Error) => void) => { const callback = (value?: T|undefined, err?: Error|undefined) => { @@ -237,7 +235,7 @@ export class SerializerBase implements Disposable { }) return [promise, resourceId] } - holdAndWriteObject(obj:object, hold: pointer = 0, release: pointer = 0): ResourceId { + final holdAndWriteObject(obj:object, hold: pointer = 0, release: pointer = 0): ResourceId { const resourceId = ResourceHolder.instance().registerAndHold(obj) this.addHeldResource(resourceId) this.writeInt32(resourceId) @@ -255,7 +253,7 @@ export class SerializerBase implements Disposable { this.addHeldResource(resourceId) this.writeInt32(resourceId) } - private releaseResources() { + private final releaseResources() { if (this.heldResourcesCount == 0) return for (let i = 0; i < this.heldResourcesCount; i++) { InteropNativeModule._ReleaseCallbackResource(this.heldResources[i]) @@ -271,67 +269,113 @@ export class SerializerBase implements Disposable { } current = current!.next } - // console.log(`Unsupported custom serialization for ${kind}, write undefined`) this.writeInt8(Tags.UNDEFINED as int32) } - writeFunction(value: Object) { + final writeFunction(value: Object) { this.writeInt32(registerCallback(value)) } final writeTag(tag: int32): void { - StubFastIntrinsics.writeInt8(this._buffer + this.position, tag as byte) - this.position++ + this.writeInt8(tag) } final writeNumber(value: number|undefined) { - this.checkCapacity(5) if (value == undefined) { this.writeTag(Tags.UNDEFINED) - this.position++ return } - if ((value as float64) == Math.round(value)) { + if (value == Math.round(value)) { this.writeTag(Tags.INT32) this.writeInt32(value as int32) - return } else { - this.writeTag(Tags.FLOAT32) - this.writeFloat32(value as float32) + this.writeInt8(Tags.FLOAT32) + this.writeFloat32(value as float) } } + final writeInt8(value: int32) { - this.checkCapacity(1) - StubFastIntrinsics.writeInt8(this._buffer + this.position, value as byte) - this.position += 1 + let pos = this.position + let newPos = pos + 1 + if (newPos > this._last) { + this.updateCapacity(1) + pos = this.position + newPos = pos + 1 + } + + unsafeMemory.writeInt8(pos, value as byte) + this.position = newPos } final writeInt32(value: int32) { - this.checkCapacity(4) - StubFastIntrinsics.writeInt32(this._buffer + this.position, value) - this.position += 4 + let pos = this.position + let newPos = pos + 4 + if (newPos > this._last) { + this.updateCapacity(4) + pos = this.position + newPos = pos + 4 + } + + unsafeMemory.writeInt32(pos, value) + this.position = newPos } final writeInt64(value: int64) { - this.checkCapacity(8) - StubFastIntrinsics.writeInt64(this._buffer + this.position, value) - this.position += 8 + let pos = this.position + let newPos = pos + 8 + if (newPos > this._last) { + this.updateCapacity(8) + pos = this.position + newPos = pos + 8 + } + + unsafeMemory.writeInt64(pos, value) + this.position = newPos } final writeFloat32(value: float32) { - this.checkCapacity(4) - StubFastIntrinsics.writeFloat32(this._buffer + this.position, value) - this.position += 4 + let pos = this.position + let newPos = pos + 4 + if (newPos > this._last) { + this.updateCapacity(4) + pos = this.position + newPos = pos + 4 + } + + unsafeMemory.writeFloat32(pos, value) + this.position = newPos } final writePointer(value: pointer) { this.writeInt64(value) } final writeBoolean(value: boolean|undefined) { - this.checkCapacity(1) - StubFastIntrinsics.writeBoolean(this._buffer + this.position, value); - this.position++ + let pos = this.position + let newPos = pos + 1 + if (newPos > this._last) { + this.updateCapacity(1) + pos = this.position + newPos = pos + 1 + } + this.position = newPos + + if (value == undefined) + unsafeMemory.writeInt8(pos, 5 as byte); + else if (value == true) + unsafeMemory.writeInt8(pos, 1 as byte); + else if (value == false) + unsafeMemory.writeInt8(pos, 0 as byte); } final writeString(value: string) { - let encodedCapacity = StubFastIntrinsics.getByteCapacityOfString(value); - this.checkCapacity(encodedCapacity) // length, data - let encodedLength = StubFastIntrinsics.writeString(this._buffer + this.position + 4, value) - this.writeInt32(encodedLength) - this.position += encodedLength + const encodedLength = unsafeMemory.getStringSizeInBytes(value) + + let pos = this.position + if (pos + encodedLength + 5 > this._last) { + this.updateCapacity(encodedLength + 5) + pos = this.position + } + + if (encodedLength > 0) + unsafeMemory.writeString(pos + 4, value) + // NOTE: add \0 for supporting C char* reading from buffer for utf8-strings, + // need check native part fot utf16 cases and probably change this solution. + unsafeMemory.writeInt8(pos + encodedLength + 4, 0 as byte) + unsafeMemory.writeInt32(pos, encodedLength + 1) + this.position = pos + encodedLength + 4 + 1 } //TODO: Needs to be implemented final writeBuffer(value: NativeBuffer) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/StubFastIntrinsics.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/StubFastIntrinsics.ts deleted file mode 100644 index f05d6badf2792e7e320991f8c55d0037304c6f43..0000000000000000000000000000000000000000 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/StubFastIntrinsics.ts +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { int8, int32, int64, uint8, int32BitsFromFloat, float32FromBits } from "@koalaui/common" -import { KSerializerBuffer } from "./InteropTypes" -import { InteropNativeModule } from "./InteropNativeModule" - -export class StubFastIntrinsics { - - public static writeBoolean(address: long, value: boolean|undefined): void { - if (value == undefined) { - StubFastIntrinsics.writeu8(address, 0, 1, 5) // RuntimeType.UNDEFINED is 5 - } else { - StubFastIntrinsics.writeu8(address, 0, 1, (value ? 1 : 0) as int8) - } - } - - public static writeInt8(address: long, value: byte): void { - StubFastIntrinsics.writeu8(address, 0, 1 , value as int8) - } - - public static writeInt32(address: long, value: int): void { - StubFastIntrinsics.writeu32(address, 0, 4, value) - } - - public static writeInt64(address: long, value: long): void { - StubFastIntrinsics.writeu64(address, 0, 8, value) - } - - public static writeFloat32(address: long, value: float): void { - let bits = int32BitsFromFloat(value) - StubFastIntrinsics.writeu32(address, 0, 4, bits) - } - - public static getByteCapacityOfString(value: string): int32 { - return value.length as int32 * 4 + 1 + 4 - } - - public static writeString(address: long, value: string): int { - return StubFastIntrinsics.writeString(address, 0, value); - } - - public static readBoolean(address: long): boolean|undefined { - const value = StubFastIntrinsics.readu8(address, 0, 1) - return value === 1 - } - - public static readInt8(address: long): byte { - return StubFastIntrinsics.readu8(address, 0, 1) as byte; - } - - public static readInt32(address: long): int { - return StubFastIntrinsics.readu32(address, 0, 4) - } - - public static readInt64(address: long): long { - return StubFastIntrinsics.readu64(address, 0, 8) - } - - public static readFloat32(address: long): float { - let result = StubFastIntrinsics.readu32(address, 0, 4) - return float32FromBits(result) - } - - public static readString(address: long, byteSize: int): String { - return StubFastIntrinsics.readString(address, 0, byteSize) - } - - // TODO: get rid of length. - private static writeu8(buffer: KSerializerBuffer, offset: int32, length: int32, value: int32) { - InteropNativeModule._WriteByte(buffer, offset as int64, length as int64, value as uint8) - } - - private static writeu32(buffer: KSerializerBuffer, offset: int32, length: int32, value: int32) { - InteropNativeModule._WriteByte(buffer, offset, length as int64, (value & 0xff) as uint8) - InteropNativeModule._WriteByte(buffer, offset + 1, length as int64, ((value >> 8) & 0xff) as uint8) - InteropNativeModule._WriteByte(buffer, offset + 2, length as int64, ((value >> 16) & 0xff) as uint8) - InteropNativeModule._WriteByte(buffer, offset + 3, length as int64, ((value >> 24) & 0xff) as uint8) - } - - private static writeu64(buffer: KSerializerBuffer, offset: int32, length: int32, value: int64) { - StubFastIntrinsics.writeu8(buffer, offset + 0, length, ((value ) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 1, length, ((value >> 8) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 2, length, ((value >> 16) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 3, length, ((value >> 24) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 4, length, ((value >> 32) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 5, length, ((value >> 40) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 6, length, ((value >> 48) & 0xff) as int8) - StubFastIntrinsics.writeu8(buffer, offset + 7, length, ((value >> 56) & 0xff) as int8) - } - - private static writeString(buffer: KSerializerBuffer, offset: int32, value: string) { - let encodedLength = InteropNativeModule._ManagedStringWrite(value, buffer, offset) - return encodedLength; - } - - // TODO: get rid of length. - private static readu8(buffer: KSerializerBuffer, offset: int32, length: int32): int32 { - let byteValue: byte = InteropNativeModule._ReadByte(buffer, offset as int64, length as int64) as byte - byteValue &= 0xff - return byteValue - } - - private static readu32(buffer: KSerializerBuffer, offset: int32, length: int32): int32 { - let result: int32 = 0; - for (let i = 0; i < 4; i++) { - let byteValue = StubFastIntrinsics.readu8(buffer, offset + i, length) as int32 - byteValue &= 0xff - result = (result | byteValue << (8 * i)) as int32 - } - - return result; - } - - private static readu64(buffer: KSerializerBuffer, offset: int32, length: int32): int64 { - let result: int64 = 0; - for (let i = 0; i < 8; i++) { - let byteValue = StubFastIntrinsics.readu8(buffer, offset + i, length) as int64; - byteValue &= 0xff - result = (result | byteValue << (8 * i)) as int64; - } - return result; - } - - private static readString(buffer: KSerializerBuffer, offset: int32, length: int32):string { - return InteropNativeModule._Utf8ToString(buffer, offset, length) - } -} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/DeserializerBase.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/DeserializerBase.h index efc9bfa4362548d2afd55d496eca717fdbfd04b0..55e6c54cb5caa8d0be465dd1f4ceefe2e2219965 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/DeserializerBase.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/DeserializerBase.h @@ -16,7 +16,6 @@ #define _DESERIALIZER_BASE_H_ #include -#include #include #include #include @@ -206,7 +205,11 @@ template <> inline void WriteToString(std::string *result, const InteropMaterialized *value) { char hex[20]; - std::snprintf(hex, sizeof(hex), "0x%llx", (long long)value->ptr); + #ifdef __STDC_LIB_EXT1__ + std::snprintf_s(hex, sizeof(hex), "0x%llx", (long long)value->ptr); + #else + std::snprintf(hex, sizeof(hex), "0x%llx", (long long)value->ptr); + #endif result->append("\""); result->append("Materialized "); result->append(hex); @@ -333,7 +336,11 @@ public: if (length > 0) { value = malloc(length * sizeof(E)); - memset(value, 0, length * sizeof(E)); + #ifdef __STDC_LIB_EXT1__ + memset_s(value, length * sizeof(E), 0, length * sizeof(E)); + #else + memset(value, 0, length * sizeof(E)); + #endif toClean.push_back(value); } array->length = length; @@ -348,11 +355,19 @@ public: if (length > 0) { keys = malloc(length * sizeof(K)); - memset(keys, 0, length * sizeof(K)); + #ifdef __STDC_LIB_EXT1__ + memset_s(keys, length * sizeof(K), 0, length * sizeof(K)); + #else + memset(keys, 0, length * sizeof(K)); + #endif toClean.push_back(keys); values = malloc(length * sizeof(V)); - memset(values, 0, length * sizeof(V)); + #ifdef __STDC_LIB_EXT1__ + memset_s(values, length * sizeof(V), 0, length * sizeof(V)); + #else + memset(values, 0, length * sizeof(V)); + #endif toClean.push_back(values); } map->size = length; @@ -366,7 +381,7 @@ public: { if (position + count > length) { fprintf(stderr, "Incorrect serialized data, check for %d, buffer %d position %d\n", count, length, position); - assert(false); + ASSERT(false); abort(); } } @@ -427,7 +442,11 @@ public: check(4); #ifdef KOALA_NO_UNALIGNED_ACCESS InteropInt32 value; - memcpy(&value, data + position, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(&value, 4, data + position, 4); + #else + memcpy(&value, data + position, 4); + #endif #else auto value = *(InteropInt32 *)(data + position); #endif @@ -439,7 +458,11 @@ public: check(8); #ifdef KOALA_NO_UNALIGNED_ACCESS InteropInt64 value; - memcpy(&value, data + position, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(&value, 4, data + position, 4); + #else + memcpy(&value, data + position, 4); + #endif #else auto value = *(InteropInt64 *)(data + position); #endif @@ -451,7 +474,11 @@ public: check(8); #ifdef KOALA_NO_UNALIGNED_ACCESS InteropInt64 value; - memcpy(&value, data + position, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(&value, 4, data + position, 4); + #else + memcpy(&value, data + position, 4); + #endif #else auto value = *(InteropUInt64 *)(data + position); #endif @@ -463,7 +490,11 @@ public: check(4); #ifdef KOALA_NO_UNALIGNED_ACCESS InteropFloat32 value; - memcpy(&value, data + position, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(&value, 4, data + position, 4); + #else + memcpy(&value, data + position, 4); + #endif #else auto value = *(InteropFloat32 *)(data + position); #endif @@ -475,7 +506,11 @@ public: check(8); #ifdef KOALA_NO_UNALIGNED_ACCESS int64_t value = 0; - memcpy(&value, data + position, 8); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(&value, 8, data + position, 8); + #else + memcpy(&value, data + position, 8); + #endif #else int64_t value = *(int64_t *)(data + position); #endif @@ -613,7 +648,11 @@ inline void WriteToString(std::string *result, InteropFloat32 value) #if (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED < 130300L)) // to_chars() is not available on older macOS. char buf[20]; - snprintf(buf, sizeof buf, "%f", value); + #ifdef __STDC_LIB_EXT1__ + snprintf_s(buf, sizeof buf, "%f", value); + #else + snprintf(buf, sizeof buf, "%f", value); + #endif result->append(buf); #else std::string storage; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/SerializerBase.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/SerializerBase.h index dbf2b51bd0a7ee18ab9a2533d130f085bede59c9..019dbd7273fad08d36ac970bd8df8dd0a2da506a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/SerializerBase.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/SerializerBase.h @@ -21,13 +21,13 @@ #include #include #include -#include #include #include #include "callback-resource.h" #include "interop-types.h" #include "koala-types.h" +#include "interop-logging.h" #ifdef __arm__ #define KOALA_NO_UNALIGNED_ACCESS 1 @@ -55,7 +55,7 @@ T* allocArray(const std::array& ref) { std::size_t space = sizeof(buffer) - offset; void* ptr = buffer + offset; void* aligned_ptr = std::align(alignof(T), sizeof(T) * size, ptr, space); - assert(aligned_ptr != nullptr && "Insufficient space or alignment failed!"); + ASSERT(aligned_ptr != nullptr && "Insufficient space or alignment failed!"); offset = (char*)aligned_ptr + sizeof(T) * size - buffer; T* array = reinterpret_cast(aligned_ptr); for (size_t i = 0; i < size; ++i) { @@ -72,8 +72,8 @@ private: bool ownData; CallbackResourceHolder* resourceHolder; void resize(uint32_t newLength) { - assert(ownData); - assert(newLength > dataLength); + ASSERT(ownData); + ASSERT(newLength > dataLength); auto* newData = reinterpret_cast(malloc(newLength)); memcpy(newData, data, position); free(data); @@ -130,7 +130,11 @@ public: void writeInt32(InteropInt32 value) { check(4); #ifdef KOALA_NO_UNALIGNED_ACCESS - memcpy(data + position, &value, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data + position, dataLength, &value, 4); + #else + memcpy(data + position, &value, 4); + #endif #else *((InteropInt32*)(data + position)) = value; #endif @@ -140,7 +144,11 @@ public: void writeInt64(InteropInt64 value) { check(8); #ifdef KOALA_NO_UNALIGNED_ACCESS - memcpy(data + position, &value, 8); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data + position, dataLength, &value, 8); + #else + memcpy(data + position, &value, 8); + #endif #else *((InteropInt64*)(data + position)) = value; #endif @@ -150,7 +158,11 @@ public: void writeUInt64(InteropUInt64 value) { check(8); #ifdef KOALA_NO_UNALIGNED_ACCESS - memcpy(data + position, &value, 8); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data + position, dataLength, &value, 8); + #else + memcpy(data + position, &value, 8); + #endif #else *((InteropUInt64*)(data + position)) = value; #endif @@ -160,7 +172,11 @@ public: void writeFloat32(InteropFloat32 value) { check(4); #ifdef KOALA_NO_UNALIGNED_ACCESS - memcpy(data + position, &value, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data + position, dataLength, &value, 4); + #else + memcpy(data + position, &value, 4); + #endif #else *((InteropFloat32*)(data + position)) = value; #endif @@ -171,7 +187,11 @@ public: check(8); int64_t value64 = static_cast(reinterpret_cast(value)); #ifdef KOALA_NO_UNALIGNED_ACCESS - memcpy(data + position, &value64, 8); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data + position, dataLength, &value64, 8); + #else + memcpy(data + position, &value64, 8); + #endif #else *((int64_t*)(data + position)) = value64; #endif @@ -225,7 +245,11 @@ public: case 3: suffix = "%"; break; case 4: suffix = "lpx"; break; } - snprintf(buf, 64, "%.8f%s", value.value, suffix.c_str()); + #ifdef __STDC_LIB_EXT1__ + snprintf_s(buf, 64, "%.8f%s", value.value, suffix.c_str()); + #else + snprintf(buf, 64, "%.8f%s", value.value, suffix.c_str()); + #endif InteropString str = { buf, (InteropInt32) strlen(buf) }; writeString(str); break; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ani/convertors-ani.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ani/convertors-ani.h index a277ee71a2eedbabe88d447303ce0fea064c01d4..d5bc16b5d25820ad6ec1f8bbcbddccb2ea3b52f4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ani/convertors-ani.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ani/convertors-ani.h @@ -15,7 +15,6 @@ #ifdef KOALA_ANI -#include #include #include #include @@ -27,12 +26,13 @@ #include "koala-types.h" #include "interop-logging.h" -#define CHECK_ANI_FATAL(result) \ -do { \ - if ((result) != ANI_OK) { \ - INTEROP_FATAL("ANI function failed at " __FILE__ ": %d", __LINE__); \ - } \ -} \ +#define CHECK_ANI_FATAL(result) \ +do { \ + ani_status res = (result); \ + if (res != ANI_OK) { \ + INTEROP_FATAL("ANI function failed (status: %d) at " __FILE__ ": %d", res, __LINE__); \ + } \ +} \ while (0) template diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/callback-resource.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/callback-resource.cc index 8ae2f7206aa63316f9c67a28fea171276978420d..acbe9cd23990ff07d6e2a0ef6f83175701a345ea 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/callback-resource.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/callback-resource.cc @@ -66,16 +66,29 @@ KInt impl_CheckCallbackEvent(KSerializerBuffer buffer, KInt size) { return 0; } const CallbackEventKind frontEventKind = callbackEventsQueue.front(); - memcpy(result, &frontEventKind, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(result, size, &frontEventKind, 4); + #else + memcpy(result, &frontEventKind, 4); + #endif + switch (frontEventKind) { case Event_CallCallback: - memcpy(result + 4, callbackCallSubqueue.front().buffer, sizeof(CallbackBuffer::buffer)); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(result + 4, size, callbackCallSubqueue.front().buffer, sizeof(CallbackBuffer::buffer)); + #else + memcpy(result + 4, callbackCallSubqueue.front().buffer, sizeof(CallbackBuffer::buffer)); + #endif break; case Event_HoldManagedResource: case Event_ReleaseManagedResource: { const InteropInt32 resourceId = callbackResourceSubqueue.front(); - memcpy(result + 4, &resourceId, 4); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(result + 4, size, &frontEventKind, 4); + #else + memcpy(result + 4, &resourceId, 4); + #endif break; } default: diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/cangjie/convertors-cj.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/cangjie/convertors-cj.h index 084cf879f45a026be8f0643c376580fb1b0101d0..9c830074084327808ac43b197732c6fc94fb0e26 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/cangjie/convertors-cj.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/cangjie/convertors-cj.h @@ -13,15 +13,16 @@ * limitations under the License. */ -#pragma once +#ifndef CONVERTORS_CJ_H +#define CONVERTORS_CJ_H #include -#include #include #include #include #include "koala-types.h" +#include "interop-logging.h" #define KOALA_INTEROP_EXPORT extern "C" @@ -929,12 +930,14 @@ KOALA_INTEROP_EXPORT void name(InteropTypeConverter::InteropType _p0, \ #define KOALA_INTEROP_THROW(vmContext, object, ...) \ do { \ - /* TODO: implement*/ assert(false); \ + /* TODO: implement*/ ASSERT(false); \ return __VA_ARGS__; \ } while (0) #define KOALA_INTEROP_THROW_STRING(vmContext, message, ...) \ do { \ - /* TODO: implement*/ assert(false); \ + /* TODO: implement*/ ASSERT(false); \ return __VA_ARGS__; \ } while (0) + +#endif // CONVERTORS_CJ_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/common-interop.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/common-interop.cc index e740bc8973e285c2f3b64ec2d972c61725b3ad58..ca9d1979ec7622a10ecc47ec82a8613dc73c7ac2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/common-interop.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/common-interop.cc @@ -145,7 +145,13 @@ KOALA_INTEROP_1(StringLength, KInt, KNativePointer) void impl_StringData(KNativePointer ptr, KByte* bytes, KUInt size) { string* s = reinterpret_cast(ptr); - if (s) memcpy(bytes, s->c_str(), size); + if (s) { + #ifdef __STDC_LIB_EXT1__ + memcpy_s(bytes, size, s->c_str(), size); + #else + memcpy(bytes, s->c_str(), size); + #endif + } } KOALA_INTEROP_V3(StringData, KNativePointer, KByte*, KUInt) @@ -246,7 +252,7 @@ struct ForeignVMContext { KVMContext vmContext; int32_t (*callSync)(KVMContext vmContext, int32_t callback, uint8_t* data, int32_t length); }; -typedef KInt (*LoadVirtualMachine_t)(KInt vmKind, const char* classPath, const char* libraryPath, const struct ForeignVMContext* foreignVM); +typedef KInt (*LoadVirtualMachine_t)(KInt vmKind, const char* bootFiles, const char* userFiles, const char* libraryPath, const struct ForeignVMContext* foreignVM); typedef KNativePointer (*StartApplication_t)(const char* appUrl, const char* appParams); typedef KBoolean (*RunApplication_t)(const KInt arg0, const KInt arg1); typedef const char* (*EmitEvent_t)(const KInt type, const KInt target, const KInt arg0, const KInt arg1); @@ -269,12 +275,12 @@ void* getImpl(const char* path, const char* name) { return findSymbol(lib, name); } -KInt impl_LoadVirtualMachine(KVMContext vmContext, KInt vmKind, const KStringPtr& classPath, const KStringPtr& libraryPath) { +KInt impl_LoadVirtualMachine(KVMContext vmContext, KInt vmKind, const KStringPtr& bootFiles, const KStringPtr& userFiles, const KStringPtr& libraryPath) { const char* envClassPath = std::getenv("PANDA_CLASS_PATH"); if (envClassPath) { LOGI("CLASS PATH updated from env var PANDA_CLASS_PATH, %" LOG_PUBLIC "s", envClassPath); } - const char* appClassPath = envClassPath ? envClassPath : classPath.c_str(); + const char* bootFilesPath = envClassPath ? envClassPath : bootFiles.c_str(); const char* nativeLibPath = envClassPath ? envClassPath : libraryPath.c_str(); static LoadVirtualMachine_t impl = nullptr; @@ -283,9 +289,9 @@ KInt impl_LoadVirtualMachine(KVMContext vmContext, KInt vmKind, const KStringPtr const ForeignVMContext foreignVM = { vmContext, &callCallback }; - return impl(vmKind, appClassPath, nativeLibPath, &foreignVM); + return impl(vmKind, bootFilesPath, userFiles.c_str(), nativeLibPath, &foreignVM); } -KOALA_INTEROP_CTX_3(LoadVirtualMachine, KInt, KInt, KStringPtr, KStringPtr) +KOALA_INTEROP_CTX_4(LoadVirtualMachine, KInt, KInt, KStringPtr, KStringPtr, KStringPtr) KNativePointer impl_StartApplication(const KStringPtr& appUrl, const KStringPtr& appParams) { static StartApplication_t impl = nullptr; @@ -367,7 +373,11 @@ void impl_WriteByte(KNativePointer data, KInt index, KLong length, KInt value) { KOALA_INTEROP_DIRECT_V4(WriteByte, KNativePointer, KLong, KLong, KInt) void impl_CopyArray(KNativePointer data, KLong length, KByte* array) { - memcpy(data, array, length); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data, length, array, length); + #else + memcpy(data, array, length); + #endif } KOALA_INTEROP_V3(CopyArray, KNativePointer, KLong, KByte*) @@ -434,7 +444,10 @@ void impl_SetForeignVMContext(KNativePointer foreignVMContextRaw) { } KOALA_INTEROP_V1(SetForeignVMContext, KNativePointer) -#define __QUOTE(x) #x +#ifndef __QUOTE + #define __QUOTE(x) #x +#endif + #define QUOTE(x) __QUOTE(x) void impl_NativeLog(const KStringPtr& str) { @@ -451,13 +464,19 @@ void resolveDeferred(KVMDeferred* deferred, uint8_t* argsData, int32_t argsLengt #ifdef KOALA_NAPI auto status = napi_call_threadsafe_function((napi_threadsafe_function)deferred->handler, deferred, napi_tsfn_nonblocking); if (status != napi_ok) LOGE("cannot call thread-safe function; status=%d", status); - napi_release_threadsafe_function((napi_threadsafe_function)deferred->handler, napi_tsfn_release); + if (deferred->handler) { + napi_release_threadsafe_function((napi_threadsafe_function)deferred->handler, napi_tsfn_release); + deferred->handler = nullptr; + } #endif } void rejectDeferred(KVMDeferred* deferred, const char* message) { #ifdef KOALA_NAPI - napi_release_threadsafe_function((napi_threadsafe_function)deferred->handler, napi_tsfn_release); + if (deferred->handler) { + napi_release_threadsafe_function((napi_threadsafe_function)deferred->handler, napi_tsfn_release); + deferred->handler = nullptr; + } #endif } @@ -670,7 +689,11 @@ KOALA_INTEROP_CTX_1(StdStringToString, KStringPtr, KNativePointer) KInteropReturnBuffer impl_RawReturnData(KVMContext vmContext, KInt v1, KInt v2) { void* data = new int8_t[v1]; - memset(data, v2, v1); + #ifdef __STDC_LIB_EXT1__ + memset_s(data, v1, v2, v1); + #else + memset(data, v2, v1); + #endif KInteropReturnBuffer buffer = { v1, data, [](KNativePointer ptr, KInt) { delete[] (int8_t*)ptr; }}; return buffer; } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/dynamic-loader.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/dynamic-loader.h index f51ea33a75e8d51cd6ce296140ab457a9f1383d4..cfc912b9c479d24887d387c2186356d416814973 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/dynamic-loader.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/dynamic-loader.h @@ -28,7 +28,11 @@ inline void* loadLibrary(const std::string& libPath) { inline const char* libraryError() { static char error[256]; - snprintf(error, sizeof error, "error %lu", GetLastError()); + #ifdef __STDC_LIB_EXT1__ + snprintf_s(error, sizeof error, "error %lu", GetLastError()); + #else + snprintf(error, sizeof error, "error %lu", GetLastError()); + #endif return error; } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.cc index cf4c85df4723f589a0b7cde3bc8fd40d43d68401..c4383876f66a109947d936309271553e4c2dd87b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.cc @@ -38,7 +38,6 @@ static bool registerNatives(ets_env *env, const ets_class clazz, const std::vect if (registerByOne) { result &= env->RegisterNatives(clazz, &method, 1) >= 0; if (env->ErrorCheck()) { - //env->ErrorDescribe(); env->ErrorClear(); } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.h index 126bd44dbf6f2f4f22e4401726e81a84997a268b..4d3ed151619f707b42c52a5ccca82b955361d034 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ets/convertors-ets.h @@ -13,11 +13,11 @@ * limitations under the License. */ -#pragma once +#ifndef CONVERTORS_ETS_H +#define CONVERTORS_ETS_H #ifdef KOALA_ETS_NAPI -#include #include #include #include @@ -110,9 +110,14 @@ struct InteropTypeConverter { return result; } static InteropType convertTo(EtsEnv* env, KInteropBuffer value) { - ets_byteArray array = env->NewByteArray(value.length); + int bufferLength = value.length; + ets_byteArray array = env->NewByteArray(bufferLength); KByte* data = (KByte*)env->PinByteArray(array); - memcpy(data, (KByte*)value.data, value.length); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data, bufferLength, (KByte*)value.data, bufferLength); + #else + memcpy(data, (KByte*)value.data, bufferLength); + #endif env->UnpinByteArray(array); value.dispose(value.resourceId); return array; @@ -207,11 +212,16 @@ struct InteropTypeConverter { using InteropType = ets_byteArray; static KInteropReturnBuffer convertFrom(EtsEnv* env, InteropType value) = delete; static InteropType convertTo(EtsEnv* env, KInteropReturnBuffer value) { - ets_byteArray array = env->NewByteArray(value.length); + int bufferLength = value.length; + ets_byteArray array = env->NewByteArray(bufferLength); KByte* data = (KByte*)env->PinByteArray(array); - memcpy(data, (KByte*)value.data, value.length); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data, bufferLength, (KByte*)value.data, bufferLength); + #else + memcpy(data, (KByte*)value.data, bufferLength); + #endif env->UnpinByteArray(array); - value.dispose(value.data, value.length); + value.dispose(value.data, bufferLength); return array; }; static void release(EtsEnv* env, InteropType value, KInteropReturnBuffer converted) {} @@ -1829,3 +1839,5 @@ void getKoalaEtsNapiCallbackDispatcher(ets_class* clazz, ets_method* method); } while (0) #endif // KOALA_ETS_NAPI + +#endif // CONVERTORS_ETS_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.cc index 1b128eb0b2c3f75461103d5815b2dcc292347718..2d2b11af7e11579658ffa8996f6f855182261fef 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.cc @@ -28,7 +28,7 @@ struct Log { std::vector groupedLogs; void startGroupedLog(int index) { - if (index >= (int)groupedLogs.size()) { + if (index >= static_cast(groupedLogs.size())) { groupedLogs.resize(index + 1); for (int i = 0; i <= index; i++) { if (!groupedLogs[i]) groupedLogs[i] = new Log(); @@ -39,27 +39,27 @@ void startGroupedLog(int index) { } void stopGroupedLog(int index) { - if (index < (int)groupedLogs.size()) { + if (index < static_cast(groupedLogs.size())) { groupedLogs[index]->isActive = false; } } void appendGroupedLog(int index, const char* str) { - if (index < (int)groupedLogs.size()) { + if (index < static_cast(groupedLogs.size())) { groupedLogs[index]->log.append(str); } } const char* getGroupedLog(int index) { - if (index < (int)groupedLogs.size()) { - auto result = groupedLogs[index]->log.c_str(); + if (index < static_cast(groupedLogs.size())) { + const char* result = groupedLogs[index]->log.c_str(); return result; } return ""; } int needGroupedLog(int index) { - if (index < (int)groupedLogs.size()) { + if (index < static_cast(groupedLogs.size())) { return groupedLogs[index]->isActive; } return 0; @@ -83,7 +83,11 @@ extern "C" [[noreturn]] void InteropLogFatal(const char* format, ...) { va_list args; va_start(args, format); char buffer[4096]; - vsnprintf(buffer, sizeof(buffer) - 1, format, args); + #ifdef __STDC_LIB_EXT1__ + vsnprintf_s(buffer, sizeof(buffer) - 1, format, args); + #else + vsnprintf(buffer, sizeof(buffer) - 1, format, args); + #endif LOGE("FATAL: %s", buffer); va_end(args); abort(); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.h index e8d6bbb2d4ebaff5e1ad6fb9481efae30befeb92..61b49069987c266a238ddeb8347d51385908c2de 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-logging.h @@ -15,8 +15,15 @@ #ifndef _INTEROP_LGGING_H #define _INTEROP_LGGING_H -#include -#include +#ifdef __cplusplus + #include + #include + #include +#else + #include + #include + #include +#endif #if defined(KOALA_OHOS) #include "oh_sk_log.h" @@ -37,6 +44,10 @@ #define INTEROP_API_EXPORT __attribute__((visibility("default"))) #endif +#ifndef ASSERT + #define ASSERT(expression) assert(expression) +#endif + // Grouped logs. Keep consistent with type in ServiceGroupLogger typedef struct GroupLogger { void (*startGroupedLog)(int kind); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-types.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-types.h index 2cf6f188f5b0db8f83de941b01a35ca9d0fa6154..6f10e60b89b9ffbda767c02398b778318439c0bd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-types.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/interop-types.h @@ -16,7 +16,12 @@ #ifndef _INTEROP_TYPES_H_ #define _INTEROP_TYPES_H_ -#include +#ifdef __cplusplus + #include +#else + #include +#endif + #ifdef __cplusplus extern "C" [[noreturn]] #endif diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jni/convertors-jni.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jni/convertors-jni.h index 58a02c99e15e09add347da8ee961eca0828c3f68..bfcacbb55bd73445a2ce5f25487a89ceaefeadd4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jni/convertors-jni.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jni/convertors-jni.h @@ -13,12 +13,12 @@ * limitations under the License. */ -#pragma once +#ifndef CONVERTORS_JNI_H +#define CONVERTORS_JNI_H #ifdef KOALA_JNI #include -#include #include #include @@ -147,9 +147,14 @@ struct SlowInteropTypeConverter { return result; } static InteropType convertTo(JNIEnv* env, KInteropBuffer value) { - jarray result = env->NewByteArray(value.length); + int bufferLength = value.length; + jarray result = env->NewByteArray(bufferLength); void* data = env->GetPrimitiveArrayCritical(result, nullptr); - memcpy(data, value.data, value.length); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data, bufferLength, value.data, bufferLength); + #else + memcpy(data, value.data, bufferLength); + #endif env->ReleasePrimitiveArrayCritical(result, data, 0); return result; } @@ -163,11 +168,16 @@ struct SlowInteropTypeConverter { using InteropType = jarray; static inline KInteropReturnBuffer convertFrom(JNIEnv* env, InteropType value) = delete; static InteropType convertTo(JNIEnv* env, KInteropReturnBuffer value) { - jarray result = env->NewByteArray(value.length); + int bufferLength = value.length; + jarray result = env->NewByteArray(bufferLength); void* data = env->GetPrimitiveArrayCritical(result, nullptr); - memcpy(data, value.data, value.length); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(data, bufferLength, value.data, bufferLength); + #else + memcpy(data, value.data, bufferLength); + #endif env->ReleasePrimitiveArrayCritical(result, data, 0); - value.dispose(value.data, value.length); + value.dispose(value.data, bufferLength); return result; } static inline void release(JNIEnv* env, InteropType value, const KInteropReturnBuffer& converted) = delete; @@ -1538,3 +1548,5 @@ void getKoalaJniCallbackDispatcher(jclass* clazz, jmethodID* method); } while (0) #endif // KOALA_JNI_CALL + +#endif // CONVERTORS_JNI_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.cc index 2cfbe14644f8764a798b2e82cebd7334ab6a5104..46d142249c9655334e4104230dcc126c9e61dd87 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.cc @@ -16,11 +16,12 @@ #include #include <_types/_uint32_t.h> #include <_types/_uint8_t.h> -#include #include #include "convertors-jsc.h" +#include "interop-logging.h" + // See https://github.com/BabylonJS/BabylonNative/blob/master/Dependencies/napi/napi-direct/source/js_native_api_javascriptcore.cc // for convertors logic. @@ -59,7 +60,7 @@ int32_t getInt32(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); @@ -72,7 +73,7 @@ uint32_t getUInt32(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); @@ -85,7 +86,7 @@ uint8_t getUInt8(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); @@ -145,7 +146,11 @@ static JSValueRef u64ToBigInt(JSContextRef context, uint64_t value) { bigint = JSObjectCallAsFunction(context, bigIntFromParts, nullptr, 2, parts, nullptr); #else char buffer[128] = {0}; - std::snprintf(buffer, sizeof(buffer) - 1, "%zun", (size_t) value); + #ifdef __STDC_LIB_EXT1__ + std::snprintf_s(buffer, sizeof(buffer) - 1, "%zun", static_cast(value)); + #else + std::snprintf(buffer, sizeof(buffer) - 1, "%zun", static_cast(value)); + #endif JSStringRef script = JSStringCreateWithUTF8CString(buffer); bigint = JSEvaluateScript(context, script, nullptr, nullptr, 0, nullptr); JSStringRelease(script); @@ -158,10 +163,10 @@ static uint64_t bigIntToU64(JSContextRef ctx, JSValueRef value) { JSStringRef strRef = JSValueToStringCopy(ctx, value, nullptr); size_t len = JSStringGetUTF8CString(strRef, buf, sizeof(buf)); JSStringRelease(strRef); - assert(len < sizeof(buf)); + ASSERT(len < sizeof(buf)); char* suf; uint64_t numValue = std::strtoull(buf, &suf, 10); - assert(*suf == '\0'); + ASSERT(*suf == '\0'); return numValue; } @@ -175,8 +180,8 @@ KNativePointerArray getPointerElements(JSContextRef context, JSValueRef value) { return nullptr; } - assert(JSValueIsObject(context, value)); - assert(JSValueGetTypedArrayType(context, value, nullptr) == kJSTypedArrayTypeBigUint64Array); + ASSERT(JSValueIsObject(context, value)); + ASSERT(JSValueGetTypedArrayType(context, value, nullptr) == kJSTypedArrayTypeBigUint64Array); JSObjectRef typedArray = JSValueToObject(context, value, nullptr); return reinterpret_cast(JSObjectGetTypedArrayBytesPtr(context, typedArray, nullptr)); @@ -188,7 +193,7 @@ KFloat getFloat(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); @@ -201,7 +206,7 @@ KShort getShort(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); @@ -214,7 +219,7 @@ KUShort getUShort(JSContextRef context, JSValueRef value) { return 0; } if (JSValueIsUndefined(context, value)) { - assert(false); + ASSERT(false); return 0; } double result = JSValueToNumber(context, value, &exception); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.h index 86f430b78d4dfecf55bb1a32135198110d961333..9f7d577ca9183079341eb96436ddecf15d2ff2d8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/jsc/convertors-jsc.h @@ -13,7 +13,8 @@ * limitations under the License. */ -#pragma once +#ifndef CONVERTORS_JSC_H +#define CONVERTORS_JSC_H #if defined(linux) #include // For IDE completion @@ -25,9 +26,8 @@ #include #include -#include - #include "koala-types.h" +#include "interop-logging.h" template inline ElemType* getTypedElements(JSContextRef context, const JSValueRef arguments) { @@ -35,7 +35,7 @@ inline ElemType* getTypedElements(JSContextRef context, const JSValueRef argumen return nullptr; } if (JSValueIsUndefined(context, arguments)) { - assert(false); + ASSERT(false); return nullptr; } JSValueRef exception {}; @@ -46,7 +46,7 @@ inline ElemType* getTypedElements(JSContextRef context, const JSValueRef argumen template inline ElemType* getTypedElements(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getTypedElements(context, arguments[index]); } @@ -74,85 +74,85 @@ inline Type getArgument(JSContextRef context, size_t argumentCount, const JSValu template <> inline int32_t getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getInt32(context, arguments[index]); } template <> inline uint32_t getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getUInt32(context, arguments[index]); } template <> inline uint8_t getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getUInt8(context, arguments[index]); } template <> inline KNativePointer getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getPointer(context, arguments[index]); } template <> inline KFloat getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getFloat(context, arguments[index]); } template <> inline KStringPtr getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getString(context, arguments[index]); } template <> inline KBoolean getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getBoolean(context, arguments[index]); } template <> inline KInt* getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getInt32Elements(context, arguments[index]); } template <> inline float* getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getFloat32Elements(context, arguments[index]); } template <> inline KByte* getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getByteElements(context, arguments[index]); } template <> inline KStringArray getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getKStringArray(context, arguments[index]); } template <> inline KUShort* getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getUShortElements(context, arguments[index]); } template <> inline KNativePointerArray getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getPointerElements(context, arguments[index]); } template <> inline KShort* getArgument(JSContextRef context, size_t argumentCount, const JSValueRef arguments[], int index) { - assert(index < argumentCount); + ASSERT(index < argumentCount); return getShortElements(context, arguments[index]); } @@ -760,12 +760,14 @@ void InitExports(JSGlobalContextRef globalContext); #define KOALA_INTEROP_THROW(vmContext, object, ...) \ do { \ - /* TODO: implement*/ assert(false); \ + /* TODO: implement*/ ASSERT(false); \ return __VA_ARGS__; \ } while (0) #define KOALA_INTEROP_THROW_STRING(vmContext, message, ...) \ do { \ - assert(false); /* TODO: implement*/ \ + ASSERT(false); /* TODO: implement*/ \ return __VA_ARGS__; \ } while (0) + +#endif // CONVERTORS_JSC_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.cc index b7e82e7e6cf00a21183b41eda0e95de5759d812f..9dcadd3393cfab55321c5c5cc01a8178f86da3c1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.cc @@ -113,7 +113,7 @@ KStringPtr getString(napi_env env, napi_value value) { return result; } -KNativePointer getPointer(napi_env env, napi_value value) { +KNativePointer getPointerSlow(napi_env env, napi_value value) { napi_valuetype valueType = getValueTypeChecked(env, value); if (valueType == napi_valuetype::napi_external) { KNativePointer result = nullptr; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.h index 90e9a1fc061257effde15084729c5b14d7529eaa..1bee3f69e7b026cc948adfeaa4345d45e31222bd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/convertors-napi.h @@ -66,9 +66,18 @@ napi_value makeUInt64(napi_env env, uint64_t value); napi_value makeFloat32(napi_env env, float value); napi_value makePointer(napi_env env, void* value); napi_value makeVoid(napi_env env); -// napi_value makeObject(napi_env env, napi_value object); -void* getPointer(napi_env env, napi_value value); +void* getPointerSlow(napi_env env, napi_value value); + +inline void* getPointer(napi_env env, napi_value value) { + bool isWithinRange = true; + uint64_t ptrU64 = 0; + napi_status status = napi_get_value_bigint_uint64(env, value, &ptrU64, &isWithinRange); + if (status != 0 || !isWithinRange) + return getPointerSlow(env, value); + else + return reinterpret_cast(ptrU64); +} void* getSerializerBufferPointer(napi_env env, napi_value value); template<> @@ -79,12 +88,12 @@ struct InteropTypeConverter { bool isArrayBuffer = false; napi_is_arraybuffer(env, value, &isArrayBuffer); if (isArrayBuffer) { - napi_get_arraybuffer_info(env, value, &result.data, (size_t*)&result.length); + napi_get_arraybuffer_info(env, value, &result.data, reinterpret_cast(&result.length)); } else { bool isDataView = false; napi_is_dataview(env, value, &isDataView); if (isDataView) { - napi_get_dataview_info(env, value, (size_t*)&result.length, &result.data, nullptr, nullptr); + napi_get_dataview_info(env, value, reinterpret_cast(&result.length), &result.data, nullptr, nullptr); } } return result; @@ -559,11 +568,6 @@ inline KNativePointerArray getArgument(const CallbackInfo& return getPointerElements(info, index); } -// template <> -// inline napi_value getArgument(const CallbackInfo& info, int index) { -// return getObject(info, index); -// } - template <> inline uint8_t* getArgument(const CallbackInfo& info, int index) { return getUInt8Elements(info, index); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/win-dynamic-node.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/win-dynamic-node.cc index 81ea1d185c837710c4df839c0a3ec1e874be65fb..3fd77b52e563a751ed4e68043616382a32d8d866 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/win-dynamic-node.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/napi/win-dynamic-node.cc @@ -12,8 +12,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include -#include + +#ifdef __cplusplus + #include + #include +#else + #include + #include +#endif + #include #include "node_api.h" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.cc index 0face6dac935d8e2fd469d899d7b93b868f7e873..edd37006bec76dab3629d7c27836b0f567136ef5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.cc @@ -24,9 +24,13 @@ static const char* KOALAUI_OHOS_LOG_ROOT = "/data/storage/el2/base/files/logs"; -#define APPLY_LOG_FILE_PATTERN(buf, t, ms, pid) \ - sprintf(buf, "%s/%d_%d_%d_%lld.pid%d.log", \ - KOALAUI_OHOS_LOG_ROOT, t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, ms.tv_sec, pid) +#define APPLY_LOG_FILE_PATTERN(buf, bufLen, t, ms, pid) \ + #ifdef __STDC_LIB_EXT1__ \ + sprintf_s(buf, bufLen, "%s/%d_%d_%d_%lld.pid%d.log", \ + #else \ + sprintf(buf, "%s/%d_%d_%d_%lld.pid%d.log", \ + #endif \ + KOALAUI_OHOS_LOG_ROOT, (t).tm_year + 1900, (t).tm_mon + 1, (t).tm_mday, (ms).tv_sec, pid) const char* oh_sk_log_type_str(oh_sk_log_type type) { switch (type) { @@ -46,8 +50,9 @@ void oh_sk_file_log(oh_sk_log_type type, const char* msg, ...) { static char* path = nullptr; if (!path) { - path = new char[strlen(KOALAUI_OHOS_LOG_ROOT) + 100]; - APPLY_LOG_FILE_PATTERN(path, lt, ms, getpid()); + size_t len = strlen(KOALAUI_OHOS_LOG_ROOT) + 100; + path = new char[len]; + APPLY_LOG_FILE_PATTERN(path, len, lt, ms, getpid()); mkdir(KOALAUI_OHOS_LOG_ROOT, 0777); } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.h index dd133ce4e65117c5c908f64df4e5cb01dddc40e2..b268d0c46090778b184b3797f16479fc6696961d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/ohos/oh_sk_log.h @@ -13,7 +13,8 @@ * limitations under the License. */ -#pragma once +#ifndef OH_SK_LOG_H +#define OH_SK_LOG_H #include @@ -55,3 +56,5 @@ const char* oh_sk_log_type_str(oh_sk_log_type type); #define OH_SK_LOG_FATAL_A(msg, ...) OH_LOG_Print(LOG_APP, LOG_FATAL, 0xFF00, "Koala", msg, ##__VA_ARGS__) #endif + +#endif // OH_SK_LOG_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/profiler.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/profiler.h index 4f5fbbdab0f15e85504a5437039749b557c4a8ad..ac82fe74e778e0cb6183c8822827ec3a58d4cfc6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/profiler.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/profiler.h @@ -68,7 +68,11 @@ class InteropProfiler { auto ns = a.second.time; auto count = a.second.count; char buffer[1024]; - snprintf(buffer, sizeof buffer, "for %s[%lld]: %.01f%% (%lld)\n", a.first.c_str(), (long long)count, (double)ns / total * 100.0, (long long)ns); + #ifdef __STDC_LIB_EXT1__ + snprintf_s(buffer, sizeof buffer, "for %s[%lld]: %.01f%% (%lld)\n", a.first.c_str(), (long long)count, (double)ns / total * 100.0, (long long)ns); + #else + snprintf(buffer, sizeof buffer, "for %s[%lld]: %.01f%% (%lld)\n", a.first.c_str(), (long long)count, (double)ns / total * 100.0, (long long)ns); + #endif result += buffer; }); return result; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/koala-types.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/koala-types.h index 78438e8c99b8a06b045de0b6f7a524b2167b74b0..024bfa8af1ec968349fe0cf5853b39886cf8c197 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/koala-types.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/koala-types.h @@ -88,7 +88,11 @@ struct KStringPtrImpl { if (data) { if (_owned) { _value = reinterpret_cast(malloc(len + 1)); - memcpy(_value, data, len); + #ifdef __STDC_LIB_EXT1__ + memcpy_s(_value, len, data, len); + #else + memcpy(_value, data, len); + #endif _value[len] = 0; } else { _value = const_cast(data); @@ -144,7 +148,7 @@ struct KInteropNumber { // TODO: boundary check if (value == std::floor(value)) { result.tag = INTEROP_TAG_INT32; - result.i32 = (int)value; + result.i32 = static_cast(value); } else { result.tag = INTEROP_TAG_FLOAT32; result.f32 = (float)value; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/signatures.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/signatures.cc index 3750c592b742986acc3d1cc3f64691c1a28851f7..71e4bab174f13224b9f1016f20b1471585e9417b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/signatures.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/types/signatures.cc @@ -13,8 +13,14 @@ * limitations under the License. */ -#include "stdio.h" -#include +#ifdef __cplusplus + #include + #include +#else + #include + #include +#endif + #include #include "signatures.h" @@ -22,15 +28,15 @@ // For types with the same name on ets and jni #define KOALA_INTEROP_TYPEDEF(func, lang, CPP_TYPE, SIG_TYPE, CODE_TYPE) \ - if (std::strcmp(func, "sigType") == 0) if (type == CPP_TYPE) return SIG_TYPE; \ - if (std::strcmp(func, "codeType") == 0) if (type == CPP_TYPE) return CODE_TYPE; + if (std::strcmp(func, "sigType") == 0) if (type == (CPP_TYPE)) return SIG_TYPE; \ + if (std::strcmp(func, "codeType") == 0) if (type == (CPP_TYPE)) return CODE_TYPE; // For types with distinct names on ets and jni #define KOALA_INTEROP_TYPEDEF_LS(func, lang, CPP_TYPE, ETS_SIG_TYPE, ETS_CODE_TYPE, JNI_SIG_TYPE, JNI_CODE_TYPE) \ - if (std::strcmp(func, "sigType") == 0 && std::strcmp(lang, "ets") == 0) if (type == CPP_TYPE) return ETS_SIG_TYPE; \ - if (std::strcmp(func, "codeType") == 0 && std::strcmp(lang, "ets") == 0) if (type == CPP_TYPE) return ETS_CODE_TYPE; \ - if (std::strcmp(func, "sigType") == 0 && std::strcmp(lang, "jni") == 0) if (type == CPP_TYPE) return JNI_SIG_TYPE; \ - if (std::strcmp(func, "codeType") == 0 && std::strcmp(lang, "jni") == 0) if (type == CPP_TYPE) return JNI_CODE_TYPE; + if (std::strcmp(func, "sigType") == 0 && std::strcmp(lang, "ets") == 0) if (type == (CPP_TYPE)) return ETS_SIG_TYPE; \ + if (std::strcmp(func, "codeType") == 0 && std::strcmp(lang, "ets") == 0) if (type == (CPP_TYPE)) return ETS_CODE_TYPE; \ + if (std::strcmp(func, "sigType") == 0 && std::strcmp(lang, "jni") == 0) if (type == (CPP_TYPE)) return JNI_SIG_TYPE; \ + if (std::strcmp(func, "codeType") == 0 && std::strcmp(lang, "jni") == 0) if (type == (CPP_TYPE)) return JNI_CODE_TYPE; #define KOALA_INTEROP_TYPEDEFS(func, lang) \ KOALA_INTEROP_TYPEDEF(func, lang, "void", "V", "void") \ @@ -109,7 +115,7 @@ std::string convertType(const char* name, const char* koalaType) { #if KOALA_USE_PANDA_VM - for (int i = 1; i < (int)tokens.size(); i++) + for (int i = 1; i < static_cast(tokens.size()); i++) { result.append(sigType(tokens[i])); } @@ -119,7 +125,7 @@ std::string convertType(const char* name, const char* koalaType) { #elif KOALA_USE_JAVA_VM result.append("("); - for (int i = 1; i < (int)tokens.size(); i++) + for (int i = 1; i < static_cast(tokens.size()); i++) { result.append(sigType(tokens[i])); } @@ -131,24 +137,24 @@ std::string convertType(const char* name, const char* koalaType) { #ifdef KOALA_BUILD_FOR_SIGNATURES #ifdef KOALA_USE_PANDA_VM std::string params; - for (int i = 1; i < (int)tokens.size(); i++) + for (int i = 1; i < static_cast(tokens.size()); i++) { params.append("arg"); params.append(std::to_string(i)); params.append(": "); params.append(codeType(tokens[i])); - if (i < (int)(tokens.size() - 1)) + if (i < static_cast(tokens.size() - 1)) params.append(", "); } fprintf(stderr, " static native %s(%s): %s;\n", name, params.c_str(), codeType(tokens[0]).c_str()); #elif KOALA_USE_JAVA_VM std::string params; - for (int i = 1; i < (int)tokens.size(); i++) + for (int i = 1; i < static_cast(tokens.size()); i++) { params.append(codeType(tokens[i])); params.append(" arg"); params.append(std::to_string(i)); - if (i < (int)(tokens.size() - 1)) + if (i < static_cast(tokens.size() - 1)) params.append(", "); } fprintf(stderr, " public static native %s %s(%s);\n", codeType(tokens[0]).c_str(), name, params.c_str()); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/vmloader.cc b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/vmloader.cc index 689351f6968c4d11b8036a34afa6804c54979de3..9efbfeff337a66fffe0b6f2ee871f1005cad4b0d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/vmloader.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/vmloader.cc @@ -153,6 +153,7 @@ struct VMEntry { void* restartWith; void* loadView; ForeignVMContext foreignVMContext; + std::string userFilesAbcPaths; }; VMEntry g_vmEntry = {}; @@ -240,7 +241,7 @@ static std::string makeClasspath(const std::vector& files) return stream.str(); } -static std::pair GetBootAndAppPandaFiles(const VMLibInfo* thisVM, const char* appClassPath) +static std::pair GetBootAndAppPandaFiles(const VMLibInfo* thisVM, const char* bootFilesPath, const char* userFilesPath) { std::vector bootFiles; #if USE_SYSTEM_ARKVM @@ -256,12 +257,18 @@ static std::pair GetBootAndAppPandaFiles(const VMLibIn "etsstdlib_bootabc" }); #endif + + std::vector userFiles; + traverseDir(userFilesPath, userFiles, ".abc"); + std::sort(userFiles.begin(), userFiles.end()); + + traverseDir(bootFilesPath, bootFiles, ".abc"); std::sort(bootFiles.begin(), bootFiles.end()); - std::vector files; - traverseDir(std::string(appClassPath), files, ".abc"); - std::sort(files.begin(), files.end()); - return { makeClasspath(bootFiles), makeClasspath(files) }; + if (bootFiles.empty() || userFiles.empty()) + return {"",""}; + + return { makeClasspath(bootFiles), makeClasspath(userFiles) }; } static std::string GetAOTFiles(const char* appClassPath) @@ -282,12 +289,13 @@ static bool ResetErrorIfExists(ani_env *env) } return false; } + #endif -extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassPath, const char* appLibPath, const ForeignVMContext* foreignVMContext) +extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* bootFilesDir, const char* userFilesDir, const char* appLibPath, const ForeignVMContext* foreignVMContext) { if (vmKind == ES2PANDA_KIND) { - return loadES2Panda(appClassPath, appLibPath); + return loadES2Panda(bootFilesDir, appLibPath); } const VMLibInfo* thisVM = @@ -304,7 +312,7 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP return -1; } - LOGI("Starting VM %" LOG_PUBLIC "d with classpath=%" LOG_PUBLIC "s native=%" LOG_PUBLIC "s", vmKind, appClassPath, appLibPath); + LOGI("Starting VM %" LOG_PUBLIC "d with bootFilesDir=%" LOG_PUBLIC "s bootFilesDir=%" LOG_PUBLIC "s native=%" LOG_PUBLIC "s", vmKind, bootFilesDir, userFilesDir, appLibPath); std::string libPath = #if USE_SYSTEM_ARKVM @@ -340,7 +348,7 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP javaVMArgs.ignoreUnrecognized = false; std::vector javaVMOptions; javaVMOptions = { - {(char*)strdup((std::string("-Djava.class.path=") + appClassPath).c_str())}, + {(char*)strdup((std::string("-Djava.class.path=") + bootFilesDir).c_str())}, {(char*)strdup((std::string("-Djava.library.path=") + appLibPath).c_str())}, }; javaVMArgs.nOptions = javaVMOptions.size(); @@ -364,17 +372,15 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP if (nVMs == 0 && result == 0) { std::vector pandaVMOptions; - auto [bootFiles, appFiles] = GetBootAndAppPandaFiles(thisVM, appClassPath); - LOGI("Using ANI: classpath \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", appFiles.c_str(), appClassPath); - std::string delimiter = ""; - if (!bootFiles.empty() && !appFiles.empty()) { - delimiter = ":"; - } - std::string bootPandaFiles = "--ext:--boot-panda-files=" + bootFiles + delimiter + appFiles; - LOGI("ANI boot-panda-files option: \"%" LOG_PUBLIC "s\"", bootPandaFiles.c_str()); - pandaVMOptions.push_back({bootPandaFiles.c_str(), nullptr}); + auto [bootFiles, userFiles] = GetBootAndAppPandaFiles(thisVM, bootFilesDir, userFilesDir); + LOGI("ANI: user abc-files \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", userFiles.c_str(), userFilesDir); + g_vmEntry.userFilesAbcPaths = std::move(userFiles); + + bootFiles = "--ext:--boot-panda-files=" + bootFiles; + LOGI("ANI boot-panda-files option: \"%" LOG_PUBLIC "s\"", bootFiles.c_str()); + pandaVMOptions.push_back({bootFiles.c_str(), nullptr}); - auto aotFiles = GetAOTFiles(appClassPath); + auto aotFiles = GetAOTFiles(bootFilesDir); if (!aotFiles.empty()) { LOGI("ANI AOT files: \"%" LOG_PUBLIC "s\"", aotFiles.c_str()); aotFiles = "--ext:--aot-files=" + aotFiles; @@ -410,10 +416,10 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP pandaVMArgs.version = ETS_NAPI_VERSION_1_0; std::vector etsVMOptions; std::vector files; - traverseDir(std::string(appClassPath), files, ".abc"); + traverseDir(std::string(bootFilesDir), files, ".abc"); std::sort(files.begin(), files.end()); std::vector files_aot; - traverseDir(std::string(appClassPath), files_aot, ".an"); + traverseDir(std::string(bootFilesDir), files_aot, ".an"); std::sort(files_aot.begin(), files_aot.end()); etsVMOptions = { #if USE_SYSTEM_ARKVM @@ -431,21 +437,20 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP if (all_files.size() > 0) all_files.append(":"); all_files.append(path); } - LOGI("Using ETSNAPI: classpath \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files.c_str(), appClassPath); + LOGI("Using ETSNAPI: classpath \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files.c_str(), bootFilesDir); std::string all_files_aot; for (const std::string& path : files_aot) { etsVMOptions.push_back({EtsOptionType::ETS_AOT_FILE, (char*)strdup(path.c_str())}); if (all_files_aot.size() > 0) all_files_aot.append(":"); all_files_aot.append(path); } - LOGI("ETSNAPI classpath (aot) \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files_aot.c_str(), appClassPath); + LOGI("ETSNAPI classpath (aot) \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files_aot.c_str(), bootFilesDir); etsVMOptions.push_back({EtsOptionType::ETS_GC_TRIGGER_TYPE, "heap-trigger"}); etsVMOptions.push_back({EtsOptionType::ETS_NATIVE_LIBRARY_PATH, (char*)strdup(std::string(appLibPath).c_str())}); etsVMOptions.push_back({EtsOptionType::ETS_VERIFICATION_MODE, "on-the-fly"}); etsVMOptions.push_back({EtsOptionType::ETS_JIT, nullptr}); etsVMOptions.push_back({EtsOptionType::ETS_MOBILE_LOG, (void*)ArkMobileLog}); etsVMOptions.push_back({EtsOptionType::ETS_AOT, nullptr}); - // etsVMOptions.push_back({EtsOptionType::ETS_LOG_LEVEL, "info"}); pandaVMArgs.nOptions = etsVMOptions.size(); pandaVMArgs.options = etsVMOptions.data(); g_vmEntry.vmKind = vmKind; @@ -541,7 +546,7 @@ const AppInfo harnessAppInfo = { const AppInfo harnessAniAppInfo = { "L@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication;", "createApplication", - "Lstd/core/String;Lstd/core/String;ZI:L@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication;", + "Lstd/core/String;Lstd/core/String;Lstd/core/String;ZI:L@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication;", "start", "J:J", "enter", @@ -556,7 +561,7 @@ const AppInfo harnessAniAppInfo = { const AppInfo aniAppInfo = { "L@ohos/arkui/Application/Application;", "createApplication", - "Lstd/core/String;Lstd/core/String;ZI:L@ohos/arkui/Application/Application;", + "Lstd/core/String;Lstd/core/String;Lstd/core/String;ZI:L@ohos/arkui/Application/Application;", "start", "J:J", "enter", @@ -728,6 +733,14 @@ extern "C" DLL_EXPORT KNativePointer StartApplication(const char* appUrl, const ResetErrorIfExists(env); return nullptr; } + + ani_string userPandaFilesPathString {}; + status = env->String_NewUTF8(g_vmEntry.userFilesAbcPaths.c_str(), g_vmEntry.userFilesAbcPaths.size(), &userPandaFilesPathString); + if (status != ANI_OK) { + ResetErrorIfExists(env); + return nullptr; + } + ani_string appParamsString {}; status = env->String_NewUTF8(appParams, strlen(appParams), &appParamsString); if (status != ANI_OK) { @@ -736,7 +749,7 @@ extern "C" DLL_EXPORT KNativePointer StartApplication(const char* appUrl, const } ani_ref appInstance {}; - status = env->Class_CallStaticMethod_Ref(appClass, create, &appInstance, appUrlString, appParamsString, + status = env->Class_CallStaticMethod_Ref(appClass, create, &appInstance, appUrlString, userPandaFilesPathString, appParamsString, useNativeLog, static_cast(g_vmEntry.vmKind)); if (status != ANI_OK) { LOGE("createApplication returned null"); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/wasm/convertors-wasm.h b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/wasm/convertors-wasm.h index 43a66773813f5aff7a1ff75a924394648aa70197..9ff14e376568c2b2ecfc5b703d02a3635718ca2c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/wasm/convertors-wasm.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/cpp/wasm/convertors-wasm.h @@ -13,14 +13,16 @@ * limitations under the License. */ -#pragma once +#ifndef CONVERTORS_WASM_H +#define CONVERTORS_WASM_H #include "koala-types.h" -#include #include #define KOALA_INTEROP_EXPORT EMSCRIPTEN_KEEPALIVE extern "C" +#include "interop-logging.h" + template struct InteropTypeConverter { using InteropType = T; @@ -816,12 +818,14 @@ KOALA_INTEROP_EXPORT void name( \ #define KOALA_INTEROP_THROW(vmContext, object, ...) \ do { \ - assert(false); /* TODO: implement*/ \ + ASSERT(false); /* TODO: implement*/ \ return __VA_ARGS__; \ } while (0) #define KOALA_INTEROP_THROW_STRING(vmContext, message, ...) \ do { \ - assert(false); /* TODO: implement*/ \ + ASSERT(false); /* TODO: implement*/ \ return __VA_ARGS__; \ } while (0) + +#endif // CONVERTORS_WASM_H \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/InteropNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/InteropNativeModule.ts index db159072211271dc34651e250e8a0076d1050d3d..e4dead738914d73b5b243108e5fc28077bd392a0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/InteropNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/InteropNativeModule.ts @@ -48,7 +48,7 @@ export class InteropNativeModule { public static _MaterializeBuffer(data: KPointer, length: bigint, resourceId: int32, hold: KPointer, release: KPointer): ArrayBuffer { throw "method not loaded" } public static _GetNativeBufferPointer(data: ArrayBuffer): KPointer { throw "method not loaded" } - public static _LoadVirtualMachine(arg0: int32, arg1: string, arg2: string): int32 { throw "method not loaded" } + public static _LoadVirtualMachine(arg0: int32, arg1: string, arg2: string, arg3: string): int32 { throw "method not loaded" } public static _RunApplication(arg0: int32, arg1: int32): number { throw "method not loaded" } public static _StartApplication(appUrl: string, appParams: string): KPointer { throw "method not loaded" } public static _EmitEvent(eventType: int32, target: int32, arg0: int32, arg1: int32): string { throw "method not loaded" } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/java/CallbackRegistry.java b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/java/CallbackRegistry.java index 1a98807d9c12f23bcf4c6d1857e0fe69adc72a1f..2fb731539602a5fc07d25a2eaa72c73154e45fef 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/java/CallbackRegistry.java +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/java/CallbackRegistry.java @@ -40,15 +40,15 @@ class CallbackRegistry { } public static Integer wrap(CallbackType callback) { - Integer id = CallbackRegistry.id++; - CallbackRegistry.callbacks.put(id, new CallbackRecord(callback, true)); - return id; + Integer callbackId = CallbackRegistry.id++; + CallbackRegistry.callbacks.put(callbackId, new CallbackRecord(callback, true)); + return callbackId; } public static Integer wrap(CallbackType callback, boolean autoDisposable) { - Integer id = CallbackRegistry.id++; - CallbackRegistry.callbacks.put(id, new CallbackRecord(callback, autoDisposable)); - return id; + Integer callbackId = CallbackRegistry.id++; + CallbackRegistry.callbacks.put(callbackId, new CallbackRecord(callback, autoDisposable)); + return callbackId; } public static int call(Integer id, byte[] args, int length) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/loadLibraries.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/loadLibraries.ts index 2e345d944be39e213c2530eaba19fb529ced5959..4ce7982d32a5ec1cfc995423b7affcd5470aedf6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/loadLibraries.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/interop/loadLibraries.ts @@ -12,17 +12,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import * as os from "os" const nativeModuleLibraries: Map = new Map() export function loadNativeLibrary(name: string): Record { - if ((globalThis as any).requireNapi) - return (globalThis as any).requireNapi(name, true) - else { - let suffixedName = name.endsWith(".node") ? name : `${name}.node` - try { suffixedName = eval(`require.resolve("${suffixedName}")`) } catch (_) {} - return eval(`let exports = {}; process.dlopen({ exports }, "${suffixedName}", 2); exports`) + const isHZVM = !!(globalThis as any).requireNapi + let nameWithoutSuffix = name.endsWith(".node") ? name.slice(0, name.length - 5) : name + let candidates: string[] = [ + name, + `${nameWithoutSuffix}.node`, + `${nameWithoutSuffix}_${os.arch()}.node`, + `${nameWithoutSuffix}_${os.platform()}_${os.arch()}.node`, + ] + if (!isHZVM) + try { candidates.push(eval(`require.resolve("${nameWithoutSuffix}.node")`)) } catch (_) {} + + for (const candidate of candidates) { + try { + if (isHZVM) + return (globalThis as any).requireNapi(candidate, true) + else + return eval(`let exports = {}; process.dlopen({ exports }, "${candidate}", 2); exports`) + } catch (_) {} } + throw new Error(`Failed to load native library ${name}. dlopen candidates: ${candidates.join(":")}`) } export function registerNativeModuleLibraryName(nativeModule: string, libraryName: string) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/DeserializerBase.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/DeserializerBase.kt new file mode 100644 index 0000000000000000000000000000000000000000..fcf2c2f84866bb4490dbab354f0524977773f704 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/DeserializerBase.kt @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +public open class DeserializerBase { + private var position: Int = 0 + var length: Int = 96 // make private + var buffer: pointer // make private + + constructor(buffer: ULong, length: Int) { + this.buffer = buffer + this.length = length + } + constructor(buffer: Array, length: Int) { + this.buffer = InteropNativeModule._Malloc(length.toLong()) + for (i in 0..length) { + DeserializerBase.writeu8(this.buffer, i, length, buffer[i]) + } + this.length = length + } + + companion object { + private fun writeu8(buffer: pointer, offset: Int, length: Int, value: UByte): Unit { + InteropNativeModule._WriteByte(buffer, offset, length, value.toInt()) + } + private fun readu8(buffer: pointer, offset: Int, length: Int): Int { + return InteropNativeModule._ReadByte(buffer, offset, length) + } + } + + public fun asBuffer(): pointer { + return this.buffer + } + + public fun currentPosition(): Int { + return this.position + } + + public fun resetCurrentPosition(): Unit { + this.position = 0 + } + + private fun checkCapacity(value: Int) { + if (value > this.length) { + throw Exception("${value} is less than remaining buffer length") + } + } + + public fun readInt8(): Byte { + this.checkCapacity(1) + var res = DeserializerBase.readu8(this.buffer, this.position, this.length) + this.position += 1 + return res.toByte() + } + + public fun readInt32(): Int { + this.checkCapacity(4) + var result: Int = 0 + for (i in 0..3) { + result = result or (DeserializerBase.readu8(this.buffer, this.position + i, this.length) shl (8 * i)) + } + this.position += 4 + return result + } + + public fun readInt64(): Long { + this.checkCapacity(8) + var result: Long = 0 + for (i in 0..7) { + result = result or (DeserializerBase.readu8(this.buffer, this.position + i, this.length).toLong() shl (8 * i)) + } + this.position += 8 + return result + } + + public fun readPointer(): KPointer { + this.checkCapacity(8) + var result: ULong = 0uL + for (i in 0..7) { + result = result or (DeserializerBase.readu8(this.buffer, this.position + i, this.length).toULong() shl (8 * i)) + } + this.position += 8 + return result + } + + public fun readFloat32(): Float { + this.checkCapacity(4) + var result: Int = 0 + for (i in 0..3) { + result = result or (DeserializerBase.readu8(this.buffer, this.position + i, this.length).toInt() shl (8 * i)) + } + this.position += 4 + return Float.fromBits(result) + } + public fun readFloat64(): Double { + this.checkCapacity(8) + var result: Long = 0 + for (i in 0..7) { + result = result or (DeserializerBase.readu8(this.buffer, this.position + i, this.length).toLong() shl (8 * i)) + } + this.position += 8 + return Double.fromBits(result) + } + + public fun readBoolean(): Boolean { + var byteVal = DeserializerBase.readu8(this.buffer, this.position, this.length) + this.position += 1 + return byteVal == 1 + } + + public fun readString(): String { + val length = this.readInt32() + this.checkCapacity(length) + // read without null-terminated byte + val value = InteropNativeModule._Utf8ToString(this.buffer, this.position, length) + this.position += length + return value + } + + public fun readCustomObject(kind: String): Object { + throw Exception("readCustomObject") + } + + public fun readObject(): Any { + val resource = this.readCallbackResource() + return ResourceHolder.instance() // .get(resource.resourceId) + } + + public fun readBuffer(): UIntArray { + return UIntArray(0) + } + + public fun readFunction(): Any { + return 0 + } + + public fun readNumber(): Number { + val tag = this.readInt8().toInt() + if (tag == Tag.UNDEFINED.value) { + throw Exception("Read number can't return undefined.") + } else if (tag == Tag.INT32.value) { + return this.readInt32() + } else if (tag == Tag.FLOAT32.value) { + return this.readFloat32() + } else { + throw Exception("Unknown number tag: ${tag}") + } + } + + public fun readCallbackResource(): CallbackResource { + return object: CallbackResource { + override var resourceId = this@DeserializerBase.readInt32() + override var hold = this@DeserializerBase.readPointer() + override var release = this@DeserializerBase.readPointer() + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropNativeModule.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropNativeModule.kt new file mode 100644 index 0000000000000000000000000000000000000000..63630f9ff8fe0205f7173ed5118332a5ed33f30a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropNativeModule.kt @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +public class InteropNativeModule { + companion object { + public fun _Malloc(length: Long): KPointer { + return nullptr + } + fun _Free(data: KPointer) { + + } + public fun _ReadByte(data: KPointer, index: Int, length: Int): Int { + return 0 + } + public fun _WriteByte(data: KPointer, index: Int, length: Int, value: Int) { + } + public fun _ManagedStringWrite(str1: String, arr: pointer, arg: Int): Int { + return 0 + } + public fun _Utf8ToString(data: KPointer, offset: Int, length: Int): String { + return "" + } + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Path.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropTypes.kt similarity index 63% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Path.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropTypes.kt index 7c1d845773d1fa92090a880bd7f9adc2d8a30691..ae93fa27728935845c4519068f4ce817c0514562 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Path.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/InteropTypes.kt @@ -12,24 +12,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package interop -import { - global, - passNode, - passNodeArray, - unpackNonNullableNode, - unpackNode, - unpackNodeArray, - assertValidPeer, - AstNode, - KNativePointer, - nodeByType, - ArktsObject, - unpackString -} from "../../reexport-for-generated" - -export class Path extends ArktsObject { - constructor(pointer: KNativePointer) { - super(pointer) - } -} \ No newline at end of file +public typealias KPointer = ULong +public typealias KFloat = Float +public typealias pointer = KPointer +public typealias KInt = Int +public typealias KLong = Long +public typealias KStringPtr = String +public typealias ArrayBuffer = Array +public typealias KSerializerBuffer = pointer +public val nullptr: ULong = 0uL diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/MaterializedBase.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/MaterializedBase.kt new file mode 100644 index 0000000000000000000000000000000000000000..5b0e49429d366fd64a9a8a592819bd92f80221e9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/MaterializedBase.kt @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +public open class Finalizable(var ptr: KPointer, var finalizer: KPointer) {} + +public interface MaterializedBase { + public fun getPeer(): Finalizable? + public companion object { + public fun toPeerPtr(value: Any): KPointer + { + if (value is MaterializedBase) { + val peer = value.getPeer() + if (peer != null) { + return peer.ptr + } else { + return nullptr + } + } else { + throw Exception("Value is not a MaterializedBase instance!") + } + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/ResourceManager.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/ResourceManager.kt new file mode 100644 index 0000000000000000000000000000000000000000..75e8461ed4e8d4364810d146f2d5a9d482b4b8e8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/ResourceManager.kt @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +public typealias ResourceId = Int + +class ResourceInfo(var resource: Any, var holdersCount: Int ) {} + +public class ResourceHolder { + private var resources: HashMap = HashMap() + + companion object { + private var nextResourceId: ResourceId = 100 + private var _instance: ResourceHolder? = null + public fun instance(): ResourceHolder { + if (ResourceHolder._instance == null) { + return ResourceHolder._instance!! + } else { + return ResourceHolder() + } + } + public fun hold(resourceId: ResourceId) { + val resource = instance().resources.get(resourceId) + if (resource != null) { + resource.holdersCount++ + } else { + throw Exception("Resource ${resourceId} does not exists, can not hold") + } + } + + public fun release(resourceId: ResourceId) { + val resource = instance().resources.get(resourceId) + if (resource != null) { + resource.holdersCount-- + if (resource.holdersCount <= 0) { + instance().resources.remove(resourceId) + } + } else { + throw Exception("Resource ${resourceId} does not exists, can not hold") + } + } + + public fun registerAndHold(resource: Any): ResourceId { + ResourceHolder.nextResourceId += 1 + val resourceId = ResourceHolder.nextResourceId + instance().resources.put(resourceId, ResourceInfo(resource, resourceId)) + return resourceId + } + + public fun get(resourceId: ResourceId): Any { + val resource = instance().resources.get(resourceId) + if (resource != null) { + return resource.resource + } else { + throw Exception("Resource ${resourceId} does not exists") + } + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/SerializerBase.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/SerializerBase.kt new file mode 100644 index 0000000000000000000000000000000000000000..d066f080e60bbf759dcbeaae6ac0f1851db8a5c6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/SerializerBase.kt @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +import java.nio.ByteBuffer +import java.nio.ByteOrder +import kotlin.math.roundToInt +import java.util.Date + +public enum class RuntimeType(val value: Int) { + UNEXPECTED(-1), + NUMBER(1), + STRING(2), + OBJECT(3), + BOOLEAN(4), + UNDEFINED(5), + BIGINT(6), + FUNCTION(7), + SYMBOL(8), + MATERIALIZED(9); +} + +public interface Disposable { + fun dispose() +} + +public interface CallbackResource { + val resourceId: Int + val hold: KPointer + val release: KPointer +} + +public abstract class CustomSerializer(private val supported: List) { + var next: CustomSerializer? = null + + fun supports(kind: String): Boolean { + return supported.contains(kind) + } + abstract fun serialize(serializer: SerializerBase, value: Any, kind: String) +} + +public class DateSerializer : CustomSerializer(listOf("Date")) { + override fun serialize(serializer: SerializerBase, value: Any, kind: String) { + serializer.writeString((value as Date).toInstant().toString()) + } +} + +public open class SerializerBase { + private var position: Int = 0 + private var _buffer: KSerializerBuffer + private var _length: Int + + private var customSerializers: CustomSerializer? = DateSerializer() + + fun registerCustomSerializer(serializer: CustomSerializer) { + if (customSerializers == null) { + customSerializers = serializer + } else { + var current = customSerializers + while (current?.next != null) { + current = current.next + } + current?.next = serializer + } + } + + constructor() { + var length = 96 + this._buffer = InteropNativeModule._Malloc(length.toLong()) + this._length = length + } + + companion object { + private fun writeu8(_buffer: pointer, offset: Int, length: Int, value: Int): Unit { + InteropNativeModule._WriteByte(_buffer, offset, length, value) + } + private fun readu8(_buffer: pointer, offset: Int, length: Int): Int { + return InteropNativeModule._ReadByte(_buffer, offset, length) + } + } + + private fun checkCapacity(value: Int) { + if (value < 1) { + var buffSize = this._length + if (this.position > buffSize - value) { + val minSize = this.position + value + val resizedSize = maxOf(minSize, (3.0 * buffSize / 2.0).roundToInt()) + val resizedBuffer = InteropNativeModule._Malloc(resizedSize.toLong()) + val oldBuffer = this._buffer + for (i in 0..this.position) { + SerializerBase.writeu8(resizedBuffer, i, resizedSize, SerializerBase.readu8(oldBuffer, i, this.position)); + } + this._buffer = resizedBuffer + this._length = resizedSize + InteropNativeModule._Free(oldBuffer) + } + } + } + + fun asBuffer(): KSerializerBuffer { + return this._buffer + } + + fun writeString(value: String) { + this.checkCapacity(4 + value.length * 4 + 1) // length, data + val encodedLength = InteropNativeModule._ManagedStringWrite(value, this.asBuffer(), this.position + 4) + this.writeInt32(encodedLength) + this.position += encodedLength + } + + fun writeInt8(value: Byte) { + checkCapacity(1) + SerializerBase.writeu8(this._buffer, this.position, this._length, value.toInt()) + position += 1 + } + fun writeInt8(value: Int) { + checkCapacity(1) + SerializerBase.writeu8(this._buffer, this.position, this._length, value) + position += 1 + } + + fun writeInt32(value: Int) { + checkCapacity(4) + val arr = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(value).array() + for (i in 0..3) { + SerializerBase.writeu8(this._buffer, this.position, this._length, arr[i].toInt()) + } + position += 4 + } + fun writeInt32(value: Long) { + checkCapacity(4) + val arr = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(value.toInt()).array() + for (i in 0..3) { + SerializerBase.writeu8(this._buffer, this.position, this._length, arr[i].toInt()) + } + position += 4 + } + + fun writeInt64(value: Long) { + checkCapacity(8) + val arr = ByteBuffer.allocate(8).order(ByteOrder.LITTLE_ENDIAN).putLong(value).array() + for (i in 0..7) { + SerializerBase.writeu8(this._buffer, this.position, this._length, arr[i].toInt()) + } + position += 8 + } + + fun writeFloat32(value: Float) { + checkCapacity(4) + val arr = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putFloat(value).array() + for (i in 0..3) { + SerializerBase.writeu8(this._buffer, this.position, this._length, arr[i].toInt()) + } + position += 4 + } + + fun writeBoolean(value: Boolean) { + checkCapacity(1) + SerializerBase.writeu8(this._buffer, this.position, this._length, if(value) 1 else 0) + position += 1 + } + + fun writeTag(tag: Tag) { + this.checkCapacity(1) + SerializerBase.writeu8(this._buffer, this.position, this._length, tag.value) + this.position++ + } + + fun writeNumber(value: Number?) { + if (value == null) { + writeTag(Tag.UNDEFINED) + return + } + if (value.toDouble() == value.toInt().toDouble()) { + writeTag(Tag.INT32) + writeInt32(value.toInt()) + } else { + writeTag(Tag.FLOAT32) + writeFloat32(value.toFloat()) + } + } + + fun writeCustomObject(kind: String, value: Any) { + var current = customSerializers + while (current != null) { + if (current.supports(kind)) { + current.serialize(this, value, kind) + return + } + current = current.next + } + writeTag(Tag.UNDEFINED) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/Tag.kt b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/Tag.kt new file mode 100644 index 0000000000000000000000000000000000000000..f7212ffe2432f704371ae224c5f5527df38fb3ec --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/kotlin/Tag.kt @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package interop + +public enum class Tag(val value: Int) { + UNDEFINED(101), + INT32(102), + FLOAT32(103), + STRING(104), + LENGTH(105), + RESOURCE(106), + OBJECT(107); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/BUILD.gn b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/BUILD.gn index a8a0a5c0027692794096e0fc67f8fb654ac5df55..3d26d9f94f2974b1e8e7d092b8ef9e8db8db0a09 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/BUILD.gn +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/BUILD.gn @@ -16,22 +16,61 @@ import("//build/ohos.gni") node_version = "v16.20.2" host_arch = "${host_os}-${host_cpu}" +incremental_root = "../incremental" libarkts_root = "./libarkts" -action("install") { - script = "gn/command/install.py" +build_root = "//build" +toolchain_linux = "$build_root/toolchain/linux:clang_x64" + +action("fast_arktsc_build") { + script = "../gn/command/npm_util.py" outputs = [ - "$target_out_dir/install" + "$target_out_dir/fast_arktsc_build" ] + args = [ + "--project-path", rebase_path("./fast-arktsc"), + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--install", + "--npm-args", "run", "compile" + ] +} + +action("ui2abc_install") { + script = "../gn/command/npm_util.py" + outputs = [ + "$target_out_dir/ui2abc_install" + ] args = [ "--project-path", rebase_path("."), - "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin") + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--install" ] } -action("panda_sdk") { +action("ui2abc_build") { + script = "../gn/command/npm_util.py" + + outputs = [ + "$target_out_dir/MemoTransformer.js" + ] + + deps = [ + "$incremental_root:incremental_install", + ":ui2abc_install", + ":fast_arktsc_build", + "$libarkts_root:es2panda" + ] + + args = [ + "--project-path", rebase_path("."), + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--npm-args", "run", "build:gn" + ] +} + +action("ui2abc_panda_sdk") { script = "gn/command/gen_sdk.py" outputs = [ @@ -39,7 +78,7 @@ action("panda_sdk") { ] external_deps = [ - "ets_frontend:libes2panda_public", + "ets_frontend:libes2panda_public(${toolchain_linux})", ] args = [ @@ -52,6 +91,6 @@ action("panda_sdk") { group("ui2abc") { deps = [ - "$libarkts_root:es2panda" + ":ui2abc_build" ] } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/package.json index 40bb0624e85db95c2bbda8e18914d25e94b8f7fc..bf76163bd1687adec9de45956e71168979a36d11 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/package.json @@ -1,12 +1,13 @@ { "name": "@koalaui/fast-arktsc", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "description": "", "main": "./index.js", "bin": "./index.js", "scripts": { "clean": "rimraf out lib", - "compile": "WEBPACK_NO_MINIMIZE=true webpack --config webpack.config.node.js" + "compile": "WEBPACK_NO_MINIMIZE=true webpack --config webpack.config.node.js", + "compile:release": "WEBPACK_NO_MINIMIZE=true webpack --config webpack.config.node.js" }, "keywords": [], "dependencies": { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/src/main.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/src/main.ts index b4267d85d63c1ab1f77f80058e809cfc2feaed89..c56e7d7d35ab46c60477f20404f4d580594a2474 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/src/main.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/src/main.ts @@ -31,6 +31,7 @@ export const options = program .option('--compiler ', 'Path to compiler') .option('--link-name ', 'Path to final linked file', "all") + .option('--group-by ', 'Group files by groups before passing them to compiler') .option('--restart-stages', 'Compilation with plugins and compiler restarting') .option('--output-dir ', 'Path to output dir (only used by AOT compilation)') @@ -55,6 +56,26 @@ function findMatching(base: string, include: string[], exclude: string[]): strin .filter(it => !exclude.some(value => minimatch(it, path.join(base, value), {matchBase: true}))) } +function getFileGroup( + files: string[], + groupBy: number, + fileIndex: number +) { + const firstId = fileIndex - fileIndex % groupBy + const selectedFiles = files.slice(firstId, firstId + groupBy) + return selectedFiles +} + +function getFileGroupAsString( + files: string[], + groupBy: number, + fileIndex: number, + separator: string, + prefix: string, +) { + return `${prefix}${getFileGroup(files, groupBy, fileIndex).join(separator)}` +} + function produceNinjafile( compiler: string, files: string[], @@ -62,22 +83,22 @@ function produceNinjafile( linkPath: string, baseUrl: string, intermediateOutDirs: string[], + groupBy: number, ): string { // We have no Panda SDK for macOS. const tools_prefix = process.platform == "darwin" ? "echo " : "" let result: string[] = [] - let all: string[][] = [] let basename = path.basename(compiler) let linker = compiler.replace(basename, 'arklink') const stages = intermediateOutDirs.length - for (var i = 0; i < stages; i++) { - all.push([]) + const buildCommand = (stage: number, _in: string, _out: string) => { + return `${tools_prefix}${compiler} --ets-module --arktsconfig ${path.resolve(config)} --output ${_out} ${options.restartStages ? `--restart-stages` : ``} ${stages > 1 ? `--stage ${stage}` : ``} ${_in}` } let compilerPrefix = [...Array(stages).keys()].map((i) => ` rule arkts_compiler_stage${i} - command = ${tools_prefix}${compiler} --ets-module --arktsconfig ${path.resolve(config)} --output $out ${options.restartStages ? `--restart-stages` : ``} ${stages > 1 ? `--stage ${i}` : ``} $in + command = ${buildCommand(i, '$in', '$out')} description = "Compiling ARKTS ${stages > 1 ? `(stage ${i})` : ``} $in" `).join('') @@ -87,26 +108,40 @@ rule arkts_linker description = "Linking ARKTS $out" ` - files.forEach(it => { - for (var i = 0; i < stages; i++) { - let output = path.resolve(intermediateOutDirs[i], relativeOrDot(baseUrl, it)) - if (i + 1 == stages) { + const getTargets = (stage: number) => { + return files.map((it) => { + let output = path.resolve(intermediateOutDirs[stage], relativeOrDot(baseUrl, it)) + if (stage + 1 == stages) { output = `${path.dirname(output)}/${path.basename(output, path.extname(output))}.abc` } + return output + }) + } + + const targets: string[][] = [] + for (var i = 0; i < stages; i++) { + targets.push(getTargets(i)) + } + + for (var i = 0; i < stages; i++) { + for (var j = 0; j < targets[i].length; j += groupBy) { + const synthetic_rule = getFileGroupAsString(targets[i], groupBy, j, ':', 'synthetic_rule_').replaceAll('/', '_').replaceAll(':', '_') result.push( ` -build ${output}: arkts_compiler_stage${i} ${it} ${i > 0 ? `|| stage${i - 1}` : ``} +rule ${synthetic_rule} + command = ${buildCommand(i, getFileGroupAsString(files, groupBy, j, ':', ''), getFileGroupAsString(targets[i], groupBy, j, ':', ''))} + +build ${getFileGroupAsString(targets[i], groupBy, j, ' ', '')}: ${synthetic_rule} | ${getFileGroupAsString(files, groupBy, j, ' ', '')}${i > 0 ? ` || stage${i - 1}` : ``} ` ) - all[i].push(output) } - }) + } for (var i = 0; i < stages; i++) { - result.push(`build stage${i}: phony ${i > 0 ? `stage${i - 1} ` : ``}${all[i].join(' ')}\n`) + result.push(`build stage${i}: phony ${i > 0 ? `stage${i - 1} ` : ``}${targets[i].join(' ')}\n`) } - result.push(`build ${linkPath}: arkts_linker ${all[stages - 1].join(' ')}\n`) + result.push(`build ${linkPath}: arkts_linker ${targets[stages - 1].join(' ')}\n`) result.push(`build link: phony ${linkPath}\n`) result.push(`build all: phony link\n`) result.push("default all\n") @@ -132,7 +167,7 @@ function main(configPath: string, linkName: string) { throw new Error(`No files matching include "${include.join(",")}" exclude "${exclude.join(",")}"`) } - let ninja = produceNinjafile(path.resolve(options.compiler), files, firstConfigPath, linkPath, baseUrl, intermediateOutDirs) + let ninja = produceNinjafile(path.resolve(options.compiler), files, firstConfigPath, linkPath, baseUrl, intermediateOutDirs, Number(options.groupBy ?? 1)) fs.writeFileSync(`${outDir}/build.ninja`, ninja) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/tsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/tsconfig.json index 398f0fd91eae6b8d66b1e3612a78cb11ffd18a25..f42a8d80b8bacc162410c66b63ca8deaa92b6b65 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/tsconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/fast-arktsc/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2017", + "target": "es2021", "module": "CommonJS", "moduleResolution": "node", "sourceMap": true, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/command/install.py b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/command/install.py deleted file mode 100755 index b5e9c868e668a21d5f8d5064b9a154c3175333e3..0000000000000000000000000000000000000000 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/command/install.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2025 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import subprocess -import os -import argparse - -NPM_REPO = "https://repo.huaweicloud.com/repository/npm/" - -parser = argparse.ArgumentParser(description="npm command parser") -parser.add_argument("--project-path", help="project directory in koala repo") -parser.add_argument("--node-path", help="nodejs path") - -args = parser.parse_args() - -project_path = args.project_path -node_path = args.node_path - -env = os.environ.copy() -env_orig = env["PATH"] -env["PATH"] = f"{node_path}:{env['PATH']}" - -koala_log = os.path.join(project_path, "koala_build.log") - -def execute(dir, args): - os.chdir(dir) - if env.get("KOALA_LOG_STDOUT") is not None: - subprocess.run(args, env=env, text=True, check=True, stderr=subprocess.STDOUT) - return - try: - ret = subprocess.run(args, capture_output=True, env=env, text=True, check=True) - with open(koala_log, "a+") as f: - f.write("\n") - f.write("install log:\n" + ret.stdout) - f.close() - except subprocess.CalledProcessError as e: - with open(koala_log, "a+") as f: - f.write("\n") - f.write("error message: "+ e.stderr + "\n") - f.close() - -def install(dir): - execute(dir, ["npm", "install", "--registry", NPM_REPO, "--verbose"]) - -def main(): - install(project_path) - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/sdk_config.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/sdk_config.json index 82c4d3aa1d569b758b6dcbab5f70f7412d553495..20389b17c377ac8d994f23af778ed99994f86bef 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/sdk_config.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/gn/sdk_config.json @@ -8,6 +8,10 @@ "source": "$out_root/clang_x64/arkcompiler/ets_frontend/libes2panda_public.so", "destination": "linux_host_tools/lib/libes2panda-public.so" }, + { + "source": "$out_root/../sdk/clang_x64/arkcompiler/ets_frontend/libes2panda_public.so", + "destination": "linux_host_tools/lib/libes2panda-public.so" + }, { "source": "$out_root/clang_x64/arkcompiler/runtime_core/ark_link", "destination": "linux_host_tools/bin/ark_link" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/.mocharc.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/.mocharc.json index 62699a6cd93955182895f22cca7ca55823ac97d6..35222a70dbc455d94ac0d57251be08cf39638af2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/.mocharc.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/.mocharc.json @@ -7,5 +7,5 @@ "require": [ "../../incremental/test-utils/scripts/register" ], - "timeout": 10000 + "timeout": 20000 } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/BUILD.gn b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/BUILD.gn index c4cef3fe24ae0811f62858ed76397620f281d523..39d5228a02bbde57dd74404ddd73b630eafe17fd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/BUILD.gn +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/BUILD.gn @@ -25,7 +25,6 @@ node_modules_dir = "../node_modules" node_version = "v16.20.2" host_arch = "${host_os}-${host_cpu}" - os_define = "KOALA_LINUX" shared_library("es2panda_lib") { @@ -64,7 +63,7 @@ shared_library("es2panda_lib") { ] deps = [ - "$ui2abc_path:install" + "$ui2abc_path:ui2abc_install" ] configs -= [ "//build/config/compiler:compiler" ] @@ -96,17 +95,30 @@ action("es2panda_copy_lib") { ] } +action("libarkts_install") { + script = "../../gn/command/npm_util.py" + outputs = [ + "$target_out_dir/libarkts_install" + ] + args = [ + "--project-path", rebase_path("."), + "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), + "--install", + "--install-path", rebase_path("..") + ] +} + action("es2panda.js") { - script = "gn/command/npm.py" + script = "../../gn/command/npm_util.py" outputs = [ "$target_out_dir/es2panda.js" ] deps = [ ":es2panda_copy_lib", - "$ui2abc_path:panda_sdk" + "$ui2abc_path:ui2abc_panda_sdk", + ":libarkts_install" ] args = [ - "--root-path", rebase_path(".."), "--project-path", rebase_path("."), "--node-path", rebase_path("//prebuilts/build-tools/common/nodejs/node-${node_version}-${host_arch}/bin"), "--npm-args", "run", "compile:gn" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig-direct.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig-direct.json index 82bb4866ab97f6862237b51459264076bfd012fe..ffa05dd3c7709c8d2397b0b06a81b15c8b0dcd97 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig-direct.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig-direct.json @@ -13,8 +13,7 @@ { "transform": "../memo-plugin", "stage": "checked", - "name": "memo", - "manuallyDisableInsertingImport": true + "name": "memo" } ] } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig.json index 3a00d970d1b980b5692b65ae72adfcd15d198ae1..6c55490e3f690dc3fa7aff9df575131546c9a44f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/arktsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "package0": "@koalaui/example", + "package": "test", "outDir": "./build/abc", "baseUrl": ".", "plugins": [ diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/generator/options.json5 b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/generator/options.json5 index 4e642e4d2213071ac146ecedab76154a272d4368..1add47e3f138dcab25b961d9ac9b3156ef4a2625 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/generator/options.json5 +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/generator/options.json5 @@ -26,6 +26,8 @@ "es2panda_Impl", "es2panda_Config", "es2panda_ExternalSource", + "es2panda_OverloadInfo", + "es2panda_GlobalContext" ], "partial": [ { @@ -107,6 +109,14 @@ "SetExtensionAccessorType" // ETSFunction type ambiguity ] }, + { + interface: "ArkTsConfig", + methods: [ + "EntriesConst", + "FilesConst", + "Parse", + ] + }, ] }, nonNullable: [ @@ -235,5 +245,14 @@ } ] }, + { + name: "Program", + methods: [ + { + name: "Ast", + types: ["returnType"] + } + ] + } ], } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/gn/command/npm.py b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/gn/command/npm.py deleted file mode 100755 index 1429bcd835d394a64e37300b71bff025d6cb0fac..0000000000000000000000000000000000000000 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/gn/command/npm.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (c) 2025 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import subprocess -import sys -import os -import shutil -import argparse - -NPM_REPO = "https://repo.huaweicloud.com/repository/npm/" - -parser = argparse.ArgumentParser(description="npm command parser") -parser.add_argument("--root-path", help="root directory of koala repo") -parser.add_argument("--project-path", help="project directory in koala repo") -parser.add_argument("--node-path", help="nodejs path") -parser.add_argument("--arklink-path", help="ark-link path") -parser.add_argument("--es2panda-path", help="es2panda path") -parser.add_argument("--stdlib-path", help="stdlib path") -parser.add_argument("--target-out-path", help="out directory of built target", default=None) -parser.add_argument("--built-file-path", help="result of building", default=None) -parser.add_argument("--npm-args", nargs='+', help="npm command args") - - -args = parser.parse_args() - -root_path = args.root_path -project_path = args.project_path -node_path = args.node_path - -target_out_path = args.target_out_path -built_file_path = args.built_file_path -npm_args = args.npm_args - -env = os.environ.copy() -env_orig = env["PATH"] -env["PATH"] = f"{node_path}:{env['PATH']}" - -koala_log = os.path.join(project_path, "koala_build.log") - -def install(dir): - os.chdir(dir) - try: - ret = subprocess.run(["npm", "install", "--registry", NPM_REPO, "--verbose"], capture_output=True, env=env, text=True, check=True) - with open(koala_log, "a+") as f: - f.write("\n") - f.write("install log:\n" + ret.stdout) - f.close() - except subprocess.CalledProcessError as e: - with open(koala_log, "a+") as f: - f.write("\n") - f.write("error message: "+ e.stderr + "\n") - f.close() - -def npm_command(dir, command): - os.chdir(dir) - try: - ret = subprocess.run(["npm"] + command, capture_output=True, env=env, text=True, check=True) - with open(koala_log, "a+") as f: - f.write("\n") - f.write("install log:\n" + ret.stdout) - f.close() - except subprocess.CalledProcessError as e: - with open(koala_log, "a+") as f: - f.write("\n") - f.write("error message: "+ e.output + "\n") - f.close() - -def main(): - install(root_path) - npm_command(project_path, npm_args) - - if target_out_path and built_file_path: - if not os.path.exists(built_file_path): - print(f"Error: Built file not found at {built_file_path}") - sys.exit(1) - - out_dir = os.path.join(target_out_path, os.path.basename(built_file_path)) - shutil.copy(built_file_path, out_dir) - - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson.build b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..126a13083f27f98f3faf316718c49539eed0d4d5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson.build @@ -0,0 +1,128 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +project( + 'es2panda_interop', + 'cpp', + version: '1.0', + default_options: [ + 'cpp_std=c++17', + 'buildtype=release', + ], +) + +sources = [ + './src/common.cc', + './src/bridges.cc', + './src/generated/bridges.cc', + get_option('interop_src_dir') / 'common-interop.cc', + get_option('interop_src_dir') / 'callback-resource.cc', + get_option('interop_src_dir') / 'interop-logging.cc', + get_option('interop_src_dir') / 'napi/convertors-napi.cc', +] + +cflags = [ + '-DKOALA_INTEROP_MODULE=NativeModule', + '-DINTEROP_LIBRARY_NAME=' + get_option('lib_name'), + '-DKOALA_USE_NODE_VM', + '-DKOALA_NAPI', +] + +if (target_machine.system() == 'windows') + cflags += ['-DKOALA_WINDOWS'] + if (meson.get_compiler('cpp').get_id() == 'msvc') + # apply node.exe symbol loading hook + sources += [ + get_option('interop_src_dir') / 'napi/win-dynamic-node.cc' + ] + endif +else + cflags += ['-DKOALA_LINUX'] +endif + +arch = target_machine.cpu() + +oses = { 'darwin': 'macos' } # rename meson default names to convenient ones +archs = { 'x86_64': 'x64', 'aarch64': 'arm64', 'armv7-a': 'arm32', 'wasm32': 'wasm' } + +os = target_machine.system() +os = oses.get(os, os) +arch = target_machine.cpu() +arch = archs.get(arch, arch) + +cflags_cross = [] +cflags_host = [] +suffix_host = '_' + arch +suffix_cross = '' + +if get_option('cross_compile') +if arch == 'arm64' +cflags_cross = ['--target=x86_64-linux-gnu'] +suffix_cross = '_x64' +endif +if arch == 'x64' +cflags_cross = ['--target=aarch64-linux-gnu'] +suffix_cross = '_arm64' +endif +endif + +shared_library( + get_option('lib_name') + suffix_host, + sources, + override_options: [ + 'b_lundef=false', + ], + install: true, + name_prefix: '', + name_suffix: 'node', + include_directories: [ + './src/', + get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public', + get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda', + get_option('interop_src_dir'), + get_option('interop_src_dir') / 'types', + get_option('interop_src_dir') / 'napi', + get_option('node_modules_dir') / 'node-api-headers/include', + get_option('node_modules_dir') / 'node-addon-api', + ], + cpp_args: cflags + cflags_host, + link_args: [cflags_host], + dependencies: [] +) + +if get_option('cross_compile') + # sudo apt install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu + shared_library( + get_option('lib_name') + suffix_cross, + sources, + override_options: [ + 'b_lundef=false', + ], + install: true, + name_prefix: '', + name_suffix: 'node', + include_directories: [ + './src/', + get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public', + get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda', + get_option('interop_src_dir'), + get_option('interop_src_dir') / 'types', + get_option('interop_src_dir') / 'napi', + get_option('node_modules_dir') / 'node-api-headers/include', + get_option('node_modules_dir') / 'node-addon-api', + ], + cpp_args: cflags + cflags_cross, + link_args: [cflags_cross], + dependencies: [] + ) +endif \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson_options.txt b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson_options.txt index 4c232cd2da69446ba208f32c2825b824c84201a0..29f8481530d077e695c4d9130af9c0934f92e8e3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson_options.txt +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/meson_options.txt @@ -35,3 +35,9 @@ option( value : 'es2panda', description : 'name of shared library' ) +option( + 'cross_compile', + type : 'boolean', + value : false, + description : 'whether to build binaries for all architectures or just for current' +) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/bridges.cc b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/bridges.cc index dbde6bbbe9bfe1c21dadd178fdcab6ffdeb82d70..abc8f01fec6cf97ea82f67be9d17346acfa223b7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/bridges.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/bridges.cc @@ -15,6 +15,10 @@ #include "common.h" +#include +#include +#include + KNativePointer impl_AstNodeRecheck(KNativePointer contextPtr, KNativePointer nodePtr) { auto context = reinterpret_cast(contextPtr); @@ -149,14 +153,6 @@ KNativePointer impl_ContextProgram(KNativePointer contextPtr) } KOALA_INTEROP_1(ContextProgram, KNativePointer, KNativePointer) -KNativePointer impl_ProgramAst(KNativePointer contextPtr, KNativePointer programPtr) -{ - auto context = reinterpret_cast(contextPtr); - auto program = reinterpret_cast(programPtr); - return GetImpl()->ProgramAst(context, program); -} -KOALA_INTEROP_2(ProgramAst, KNativePointer, KNativePointer, KNativePointer) - KBoolean impl_IsIdentifier(KNativePointer nodePtr) { auto node = reinterpret_cast(nodePtr); @@ -232,6 +228,25 @@ static KNativePointer impl_ProgramExternalSources(KNativePointer contextPtr, KNa } KOALA_INTEROP_2(ProgramExternalSources, KNativePointer, KNativePointer, KNativePointer); +static KNativePointer impl_ProgramDirectExternalSources(KNativePointer contextPtr, KNativePointer instancePtr) +{ + auto context = reinterpret_cast(contextPtr); + auto&& instance = reinterpret_cast(instancePtr); + std::size_t sourceLen = 0; + auto externalSources = GetImpl()->ProgramDirectExternalSources(context, instance, &sourceLen); + return new std::vector(externalSources, externalSources + sourceLen); +} +KOALA_INTEROP_2(ProgramDirectExternalSources, KNativePointer, KNativePointer, KNativePointer); + +static KNativePointer impl_ProgramSourceFilePath(KNativePointer contextPtr, KNativePointer instancePtr) +{ + auto context = reinterpret_cast(contextPtr); + auto&& instance = reinterpret_cast(instancePtr); + auto&& result = GetImpl()->ProgramSourceFilePathConst(context, instance); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramSourceFilePath, KNativePointer, KNativePointer, KNativePointer); + static KNativePointer impl_ExternalSourceName(KNativePointer instance) { auto&& _instance_ = reinterpret_cast(instance); @@ -331,3 +346,221 @@ KNativePointer impl_CreateSourceRange(KNativePointer context, KNativePointer sta return GetImpl()->CreateSourceRange(_context_, _start_, _end_); } KOALA_INTEROP_3(CreateSourceRange, KNativePointer, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ConfigGetOptions(KNativePointer config) +{ + const auto _config = reinterpret_cast(config); + auto result = GetImpl()->ConfigGetOptions(_config); + return (void*)result; +} +KOALA_INTEROP_1(ConfigGetOptions, KNativePointer, KNativePointer) + +KNativePointer impl_OptionsArkTsConfig(KNativePointer context, KNativePointer options) +{ + const auto _context = reinterpret_cast(context); + const auto _options = reinterpret_cast(options); + auto result = GetImpl()->OptionsUtilArkTSConfigConst(_context, _options); + return (void*)result; +} +KOALA_INTEROP_2(OptionsArkTsConfig, KNativePointer, KNativePointer, KNativePointer) + +KNativePointer impl_CreateCacheContextFromFile(KNativePointer configPtr, KStringPtr& source_file_namePtr, KNativePointer globalContextPtr, KBoolean isExternal) { + auto config = reinterpret_cast(configPtr); + auto globalContext = reinterpret_cast(globalContextPtr); + return GetImpl()->CreateCacheContextFromFile(config, getStringCopy(source_file_namePtr), globalContext, isExternal); +} +KOALA_INTEROP_4(CreateCacheContextFromFile, KNativePointer, KNativePointer, KStringPtr, KNativePointer, KBoolean) + +KNativePointer impl_CreateGlobalContext(KNativePointer configPtr, KStringArray externalFileListPtr, KUInt fileNum, KBoolean LspUsage) { + auto config = reinterpret_cast(configPtr); + const int headerLen = 4; + const char** files = StageArena::allocArray(fileNum); + uint8_t* filesPtr = (uint8_t*)externalFileListPtr; + std::size_t position = headerLen; + std::size_t strLen; + for (std::size_t i = 0; i < static_cast(fileNum); ++i) { + strLen = unpackUInt(filesPtr + position); + position += headerLen; + files[i] = StageArena::strdup(std::string(reinterpret_cast(filesPtr + position), strLen).c_str()); + position += strLen; + } + return GetImpl()->CreateGlobalContext(config, files, fileNum, LspUsage); +} +KOALA_INTEROP_4(CreateGlobalContext, KNativePointer, KNativePointer, KStringArray, KUInt, KBoolean) + +void impl_DestroyGlobalContext(KNativePointer globalContextPtr) { + auto globalContext = reinterpret_cast(globalContextPtr); + GetImpl()->DestroyGlobalContext(globalContext); +} +KOALA_INTEROP_V1(DestroyGlobalContext, KNativePointer) + +// From koala-wrapper +// TODO check if some code should be generated + +std::set globalStructInfo; +std::mutex g_structMutex; + +void impl_InsertGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr) +{ + std::lock_guard lock(g_structMutex); + globalStructInfo.insert(getStringCopy(instancePtr)); + return; +} +KOALA_INTEROP_V2(InsertGlobalStructInfo, KNativePointer, KStringPtr); + +KBoolean impl_HasGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr) +{ + std::lock_guard lock(g_structMutex); + return globalStructInfo.count(getStringCopy(instancePtr)); +} +KOALA_INTEROP_2(HasGlobalStructInfo, KBoolean, KNativePointer, KStringPtr); + +KNativePointer impl_ClassVariableDeclaration(KNativePointer context, KNativePointer classInstance) +{ + const auto _context = reinterpret_cast(context); + const auto _classInstance = reinterpret_cast(classInstance); + auto _typedTsType = GetImpl()->TypedTsType(_context, _classInstance); + if (_typedTsType == nullptr) { + return nullptr; + } + const auto _instanceType = reinterpret_cast(_typedTsType); + auto _typeVar = GetImpl()->TypeVariable(_context, _instanceType); + if (_typeVar == nullptr) { + return nullptr; + } + const auto result = reinterpret_cast(GetImpl()->VariableDeclaration(_context, _typeVar)); + const auto declNode = GetImpl()->DeclNode(_context, result); + return declNode; +} +KOALA_INTEROP_2(ClassVariableDeclaration, KNativePointer, KNativePointer, KNativePointer) + +KBoolean impl_IsMethodDefinition(KNativePointer nodePtr) +{ + auto node = reinterpret_cast(nodePtr); + return GetImpl()->IsMethodDefinition(node); +} +KOALA_INTEROP_1(IsMethodDefinition, KBoolean, KNativePointer) + +KNativePointer impl_SourceRangeStart(KNativePointer context, KNativePointer range) { + const auto _context = reinterpret_cast(context); + const auto _range = reinterpret_cast(range); + auto result = GetImpl()->SourceRangeStart(_context, _range); + return result; +} +KOALA_INTEROP_2(SourceRangeStart, KNativePointer, KNativePointer, KNativePointer) + +KNativePointer impl_SourceRangeEnd(KNativePointer context, KNativePointer range) { + const auto _context = reinterpret_cast(context); + const auto _range = reinterpret_cast(range); + auto result = GetImpl()->SourceRangeEnd(_context, _range); + return result; +} +KOALA_INTEROP_2(SourceRangeEnd, KNativePointer, KNativePointer, KNativePointer) + +KBoolean impl_IsArrayExpression(KNativePointer nodePtr) +{ + auto node = reinterpret_cast(nodePtr); + return GetImpl()->IsArrayExpression(node); +} +KOALA_INTEROP_1(IsArrayExpression, KBoolean, KNativePointer) + +KNativePointer impl_ETSParserGetGlobalProgramAbsName(KNativePointer contextPtr) +{ + auto context = reinterpret_cast(contextPtr); + auto result = GetImpl()->ETSParserGetGlobalProgramAbsName(context); + return new std::string(result); +} +KOALA_INTEROP_1(ETSParserGetGlobalProgramAbsName, KNativePointer, KNativePointer) + +KNativePointer impl_CreateDiagnosticKind(KNativePointer context, KStringPtr& message, KInt type) +{ + const auto _context = reinterpret_cast(context); + const auto _message = getStringCopy(message); + const auto _type = static_cast(type); + return const_cast(GetImpl()->CreateDiagnosticKind(_context, _message, _type)); +} +KOALA_INTEROP_3(CreateDiagnosticKind, KNativePointer, KNativePointer, KStringPtr, KInt) + +KNativePointer impl_CreateDiagnosticInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr, KInt argc) +{ + const auto _context = reinterpret_cast(context); + const auto _kind = reinterpret_cast(kind); + const std::size_t headerLen = 4; + const char** _args = new const char*[argc]; + std::size_t position = headerLen; + std::size_t strLen; + for (std::size_t i = 0; i < static_cast(argc); ++i) { + strLen = unpackUInt(argsPtr + position); + position += headerLen; + _args[i] = strdup(std::string(reinterpret_cast(argsPtr + position), strLen).c_str()); + position += strLen; + } + return GetImpl()->CreateDiagnosticInfo(_context, _kind, _args, argc); +} +KOALA_INTEROP_4(CreateDiagnosticInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt) + +KNativePointer impl_CreateSuggestionInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr, + KInt argc, KStringPtr& substitutionCode) +{ + const auto _context = reinterpret_cast(context); + const auto _kind = reinterpret_cast(kind); + const std::size_t headerLen = 4; + const char** _args = new const char*[argc]; + std::size_t position = headerLen; + std::size_t strLen; + for (std::size_t i = 0; i < static_cast(argc); ++i) { + strLen = unpackUInt(argsPtr + position); + position += headerLen; + _args[i] = strdup(std::string(reinterpret_cast(argsPtr + position), strLen).c_str()); + position += strLen; + } + const auto _substitutionCode = getStringCopy(substitutionCode); + return GetImpl()->CreateSuggestionInfo(_context, _kind, _args, argc, _substitutionCode); +} +KOALA_INTEROP_5(CreateSuggestionInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt, KStringPtr) + +void impl_LogDiagnostic(KNativePointer context, KNativePointer kind, KStringArray argvPtr, + KInt argc, KNativePointer pos) +{ + auto&& _context_ = reinterpret_cast(context); + auto&& _kind_ = reinterpret_cast(kind); + auto&& _pos_ = reinterpret_cast(pos); + const std::size_t headerLen = 4; + const char** argv = new const char*[argc]; + std::size_t position = headerLen; + std::size_t strLen; + for (std::size_t i = 0; i < static_cast(argc); ++i) { + strLen = unpackUInt(argvPtr + position); + position += headerLen; + argv[i] = strdup(std::string(reinterpret_cast(argvPtr + position), strLen).c_str()); + position += strLen; + } + GetImpl()->LogDiagnostic(_context_, _kind_, argv, argc, _pos_); +} +KOALA_INTEROP_V5(LogDiagnostic, KNativePointer, KNativePointer, KStringArray, KInt, KNativePointer) + +void impl_LogDiagnosticWithSuggestion(KNativePointer context, KNativePointer diagnosticInfo, + KNativePointer suggestionInfo, KNativePointer range) +{ + const auto _context = reinterpret_cast(context); + const auto _diagnosticInfo = reinterpret_cast(diagnosticInfo); + const auto _suggestionInfo = reinterpret_cast(suggestionInfo); + const auto _range = reinterpret_cast(range); + GetImpl()->LogDiagnosticWithSuggestion(_context, _diagnosticInfo, _suggestionInfo, _range); +} +KOALA_INTEROP_V4(LogDiagnosticWithSuggestion, KNativePointer, KNativePointer, KNativePointer, KNativePointer) + +KInt impl_GenerateStaticDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputPath) +{ + auto context = reinterpret_cast(contextPtr); + return GetImpl()->GenerateStaticDeclarationsFromContext(context, outputPath.data()); +} +KOALA_INTEROP_2(GenerateStaticDeclarationsFromContext, KInt, KNativePointer, KStringPtr) + +KInt impl_GenerateTsDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputDeclEts, KStringPtr &outputEts, + KBoolean exportAll, KBoolean isolated) +{ + auto context = reinterpret_cast(contextPtr); + return GetImpl()->GenerateTsDeclarationsFromContext(context, outputDeclEts.data(), outputEts.data(), exportAll, isolated ); +} +KOALA_INTEROP_5(GenerateTsDeclarationsFromContext, KInt, KNativePointer, KStringPtr, KStringPtr, KBoolean, KBoolean) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.cc b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.cc index 73dddb02c7d300df07c323cd1eeac95fba9e0b4c..105576f90998122590798569a9d1e052508bb1eb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.cc @@ -18,8 +18,7 @@ using std::string, std::cout, std::endl, std::vector; -static es2panda_Impl *impl = nullptr; - +es2panda_Impl *es2pandaImplementation = nullptr; static thread_local StageArena currentArena; StageArena* StageArena::instance() @@ -93,22 +92,43 @@ void* StageArena::alloc(size_t size) const char* DEFAULT_SDK_PATH = "../../../incremental/tools/panda/node_modules/@panda/sdk" ; const char* NAME = LIB_PREFIX "es2panda-public" LIB_SUFFIX; +const char* LIB_ES2PANDA_PUBLIC = LIB_PREFIX "es2panda_public" LIB_SUFFIX; + +#ifdef KOALA_WINDOWS + const char *SEPARATOR = "\\"; +#else + const char *SEPARATOR = "/"; +#endif +const char *LIB_DIR = "lib"; + +static std::string ES2PANDA_LIB_PATH = ""; + +void impl_SetUpSoPath(KStringPtr &soPath) +{ + ES2PANDA_LIB_PATH = std::string(soPath.c_str()); +} +KOALA_INTEROP_V1(SetUpSoPath, KStringPtr); void* FindLibrary() { - char* envValue = getenv("PANDA_SDK_PATH"); - if (!envValue) { - std::cout << "PANDA_SDK_PATH not specified, assuming " << DEFAULT_SDK_PATH << std::endl; + std::string libraryName; + if (!ES2PANDA_LIB_PATH.empty()) { + libraryName = ES2PANDA_LIB_PATH + SEPARATOR + LIB_DIR + SEPARATOR + LIB_ES2PANDA_PUBLIC; + } else { + char* envValue = getenv("PANDA_SDK_PATH"); + if (!envValue) { + std::cout << "PANDA_SDK_PATH not specified, assuming " << DEFAULT_SDK_PATH << std::endl; + } + std::string prefix = envValue ? std::string(envValue) : DEFAULT_SDK_PATH; + libraryName = prefix + ("/" PLUGIN_DIR "/lib/") + NAME; } - std::string prefix = envValue ? std::string(envValue) : DEFAULT_SDK_PATH; - std::string libraryName = prefix + ("/" PLUGIN_DIR "/lib/") + NAME; return loadLibrary(libraryName); } -es2panda_Impl *GetImpl() +es2panda_Impl *GetImplSlow() { - if (impl) { - return impl; + if (es2pandaImplementation) { + return es2pandaImplementation; } auto library = FindLibrary(); if (!library) { @@ -120,8 +140,8 @@ es2panda_Impl *GetImpl() printf("no entry point"); abort(); } - impl = reinterpret_cast(symbol)(ES2PANDA_LIB_VERSION); - return impl; + es2pandaImplementation = reinterpret_cast(symbol)(ES2PANDA_LIB_VERSION); + return es2pandaImplementation; } es2panda_ContextState intToState(KInt state) @@ -139,24 +159,6 @@ char* getStringCopy(KStringPtr& ptr) return StageArena::strdup(ptr.c_str() ? ptr.c_str() : ""); } -inline KUInt unpackUInt(const KByte* bytes) -{ - const KUInt BYTE_0 = 0; - const KUInt BYTE_1 = 1; - const KUInt BYTE_2 = 2; - const KUInt BYTE_3 = 3; - - const KUInt BYTE_1_SHIFT = 8; - const KUInt BYTE_2_SHIFT = 16; - const KUInt BYTE_3_SHIFT = 24; - return ( - bytes[BYTE_0] - | (bytes[BYTE_1] << BYTE_1_SHIFT) - | (bytes[BYTE_2] << BYTE_2_SHIFT) - | (bytes[BYTE_3] << BYTE_3_SHIFT) - ); -} - KNativePointer impl_CreateConfig(KInt argc, KStringArray argvPtr) { const std::size_t headerLen = 4; @@ -180,13 +182,12 @@ KNativePointer impl_DestroyConfig(KNativePointer configPtr) { } KOALA_INTEROP_1(DestroyConfig, KNativePointer, KNativePointer) -KNativePointer impl_DestroyContext(KNativePointer contextPtr) { +void impl_DestroyContext(KNativePointer contextPtr) { auto context = reinterpret_cast(contextPtr); GetImpl()->DestroyContext(context); StageArena::instance()->cleanup(); - return nullptr; } -KOALA_INTEROP_1(DestroyContext, KNativePointer, KNativePointer) +KOALA_INTEROP_V1(DestroyContext, KNativePointer) KNativePointer impl_UpdateCallExpression( KNativePointer contextPtr, @@ -290,3 +291,72 @@ KOALA_INTEROP_2(AstNodeChildren, KNativePointer, KNativePointer, KNativePointer) /* ----------------------------------------------------------------------------------------------------------------------------- */ + +// From koala-wrapper +// TODO check if some code should be generated + +void impl_MemInitialize() +{ + GetImpl()->MemInitialize(); +} +KOALA_INTEROP_V0(MemInitialize) + +void impl_MemFinalize() +{ + GetImpl()->MemFinalize(); +} +KOALA_INTEROP_V0(MemFinalize) + +constexpr const char* IS_UI_FLAG = "IS_UI_FLAG"; +constexpr const char* NOT_UI_FLAG = "NOT_UI_FLAG"; +const string MODULE_SUFFIX = ".d.ets"; +const string ARKUI = "arkui"; + +static bool isUIHeaderFile(es2panda_Context* context, es2panda_Program* program) +{ + auto result = GetImpl()->ProgramFileNameWithExtensionConst(context, program); + string fileNameWithExtension(result); + result = GetImpl()->ProgramModuleNameConst(context, program); + string moduleName(result); + + return fileNameWithExtension.length() >= MODULE_SUFFIX.length() + && fileNameWithExtension.substr(fileNameWithExtension.length() - MODULE_SUFFIX.length()) == MODULE_SUFFIX + && moduleName.find(ARKUI) != std::string::npos; +} + +KBoolean impl_ProgramCanSkipPhases(KNativePointer context, KNativePointer program) +{ + KStringPtr isUiFlag(IS_UI_FLAG); + KStringPtr notUiFlag(NOT_UI_FLAG); + const auto _context = reinterpret_cast(context); + const auto _program = reinterpret_cast(program); + if (isUIHeaderFile(_context, _program)) { + return false; + } + std::size_t sourceLen; + const auto externalSources = reinterpret_cast + (GetImpl()->ProgramExternalSources(_context, _program, &sourceLen)); + for (std::size_t i = 0; i < sourceLen; ++i) { + std::size_t programLen; + auto programs = GetImpl()->ExternalSourcePrograms(externalSources[i], &programLen); + for (std::size_t j = 0; j < programLen; ++j) { + if (isUIHeaderFile(_context, programs[j])) { + return false; + } + } + } + return true; +} +KOALA_INTEROP_2(ProgramCanSkipPhases, KBoolean, KNativePointer, KNativePointer) + +KNativePointer impl_AstNodeProgram(KNativePointer contextPtr, KNativePointer instancePtr) +{ + auto _context = reinterpret_cast(contextPtr); + auto _receiver = reinterpret_cast(instancePtr); + + if (GetImpl()->AstNodeIsProgramConst(_context, _receiver)) { + return GetImpl()->ETSModuleProgram(_context, _receiver); + } + return impl_AstNodeProgram(_context, GetImpl()->AstNodeParent(_context, _receiver)); +} +KOALA_INTEROP_2(AstNodeProgram, KNativePointer, KNativePointer, KNativePointer) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.h b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.h index 7ed00cb6034a8adebd426a6087565d28e3798b20..7b57d89a16f1dd760456a233f6ef923e29e37b00 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.h +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/common.h @@ -41,13 +41,37 @@ using std::string, std::cout, std::endl, std::vector; -es2panda_Impl *GetImpl(); +extern es2panda_Impl *es2pandaImplementation; + +es2panda_Impl *GetImplSlow(); +inline es2panda_Impl *GetImpl() { + if (es2pandaImplementation) { + return es2pandaImplementation; + } + return GetImplSlow(); +} string getString(KStringPtr ptr); char* getStringCopy(KStringPtr& ptr); -inline KUInt unpackUInt(const KByte* bytes); +inline KUInt unpackUInt(const KByte* bytes) +{ + const KUInt BYTE_0 = 0; + const KUInt BYTE_1 = 1; + const KUInt BYTE_2 = 2; + const KUInt BYTE_3 = 3; + + const KUInt BYTE_1_SHIFT = 8; + const KUInt BYTE_2_SHIFT = 16; + const KUInt BYTE_3_SHIFT = 24; + return ( + bytes[BYTE_0] + | (bytes[BYTE_1] << BYTE_1_SHIFT) + | (bytes[BYTE_2] << BYTE_2_SHIFT) + | (bytes[BYTE_3] << BYTE_3_SHIFT) + ); +} es2panda_ContextState intToState(KInt state); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/generated/bridges.cc b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/generated/bridges.cc index 6f3b929e12f0c7449b65beb9a877cea7ef62cb0b..681f980d0a895ff9ad68c0f77ca515f78cda3b6a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/generated/bridges.cc +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/native/src/generated/bridges.cc @@ -278,6 +278,46 @@ void impl_ClassPropertySetInitInStaticBlock(KNativePointer context, KNativePoint } KOALA_INTEROP_V3(ClassPropertySetInitInStaticBlock, KNativePointer, KNativePointer, KBoolean); +void impl_ClassPropertyEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ClassPropertyEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ClassPropertyEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassPropertyClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassPropertyClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassPropertyClearAnnotations, KNativePointer, KNativePointer); + +void impl_ClassPropertySetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ClassPropertySetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ClassPropertySetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassPropertyAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassPropertyAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassPropertyAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ClassPropertyAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -298,17 +338,38 @@ KNativePointer impl_ClassPropertyAnnotationsConst(KNativePointer context, KNativ } KOALA_INTEROP_2(ClassPropertyAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassPropertySetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ClassPropertySetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ClassPropertySetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ClassPropertySetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ClassPropertySetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ClassPropertySetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ClassPropertySetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ClassPropertySetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ClassPropertyAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ClassPropertyAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ClassPropertyAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSVoidKeyword(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -430,6 +491,15 @@ KInt impl_ETSFunctionTypeFlags(KNativePointer context, KNativePointer receiver) } KOALA_INTEROP_2(ETSFunctionTypeFlags, KInt, KNativePointer, KNativePointer); +KInt impl_ETSFunctionTypeFlagsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ETSFunctionTypeIrFlagsConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ETSFunctionTypeFlagsConst, KInt, KNativePointer, KNativePointer); + KBoolean impl_ETSFunctionTypeIsThrowingConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -555,6 +625,16 @@ KNativePointer impl_IfStatementTest(KNativePointer context, KNativePointer recei } KOALA_INTEROP_2(IfStatementTest, KNativePointer, KNativePointer, KNativePointer); +void impl_IfStatementSetTest(KNativePointer context, KNativePointer receiver, KNativePointer test) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _test = reinterpret_cast(test); + GetImpl()->IfStatementSetTest(_context, _receiver, _test); + return ; +} +KOALA_INTEROP_V3(IfStatementSetTest, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_IfStatementConsequentConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -790,12 +870,12 @@ KNativePointer impl_TSEnumDeclarationBoxedClassConst(KNativePointer context, KNa } KOALA_INTEROP_2(TSEnumDeclarationBoxedClassConst, KNativePointer, KNativePointer, KNativePointer); -void impl_TSEnumDeclarationSetBoxedClass(KNativePointer context, KNativePointer receiver, KNativePointer wrapperClass) +void impl_TSEnumDeclarationSetBoxedClass(KNativePointer context, KNativePointer receiver, KNativePointer boxedClass) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _wrapperClass = reinterpret_cast(wrapperClass); - GetImpl()->TSEnumDeclarationSetBoxedClass(_context, _receiver, _wrapperClass); + const auto _boxedClass = reinterpret_cast(boxedClass); + GetImpl()->TSEnumDeclarationSetBoxedClass(_context, _receiver, _boxedClass); return ; } KOALA_INTEROP_V3(TSEnumDeclarationSetBoxedClass, KNativePointer, KNativePointer, KNativePointer); @@ -819,6 +899,86 @@ KNativePointer impl_TSEnumDeclarationDecoratorsConst(KNativePointer context, KNa } KOALA_INTEROP_2(TSEnumDeclarationDecoratorsConst, KNativePointer, KNativePointer, KNativePointer); +void impl_TSEnumDeclarationEmplaceDecorators(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->TSEnumDeclarationEmplaceDecorators(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(TSEnumDeclarationEmplaceDecorators, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSEnumDeclarationClearDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSEnumDeclarationClearDecorators(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(TSEnumDeclarationClearDecorators, KNativePointer, KNativePointer); + +void impl_TSEnumDeclarationSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TSEnumDeclarationSetValueDecorators(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TSEnumDeclarationSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TSEnumDeclarationDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSEnumDeclarationDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSEnumDeclarationDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSEnumDeclarationEmplaceMembers(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->TSEnumDeclarationEmplaceMembers(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(TSEnumDeclarationEmplaceMembers, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSEnumDeclarationClearMembers(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSEnumDeclarationClearMembers(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(TSEnumDeclarationClearMembers, KNativePointer, KNativePointer); + +void impl_TSEnumDeclarationSetValueMembers(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TSEnumDeclarationSetValueMembers(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TSEnumDeclarationSetValueMembers, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TSEnumDeclarationMembersForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSEnumDeclarationMembersForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSEnumDeclarationMembersForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSNeverKeyword(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -1527,6 +1687,56 @@ KInt impl_ClassElementToPrivateFieldKindConst(KNativePointer context, KNativePoi } KOALA_INTEROP_3(ClassElementToPrivateFieldKindConst, KInt, KNativePointer, KNativePointer, KBoolean); +void impl_ClassElementEmplaceDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + GetImpl()->ClassElementEmplaceDecorators(_context, _receiver, _decorators); + return ; +} +KOALA_INTEROP_V3(ClassElementEmplaceDecorators, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassElementClearDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassElementClearDecorators(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassElementClearDecorators, KNativePointer, KNativePointer); + +void impl_ClassElementSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + const auto _index = static_cast(index); + GetImpl()->ClassElementSetValueDecorators(_context, _receiver, _decorators, _index); + return ; +} +KOALA_INTEROP_V4(ClassElementSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassElementDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassElementDecorators(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassElementDecorators, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ClassElementDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassElementDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassElementDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSImportType(KNativePointer context, KNativePointer param, KNativePointer typeParams, KNativePointer qualifier, KBoolean isTypeof) { const auto _context = reinterpret_cast(context); @@ -1711,6 +1921,56 @@ KNativePointer impl_FunctionDeclarationFunctionConst(KNativePointer context, KNa } KOALA_INTEROP_2(FunctionDeclarationFunctionConst, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_FunctionDeclarationDecoratorsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->FunctionDeclarationDecoratorsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(FunctionDeclarationDecoratorsConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_FunctionDeclarationEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->FunctionDeclarationEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(FunctionDeclarationEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_FunctionDeclarationClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->FunctionDeclarationClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(FunctionDeclarationClearAnnotations, KNativePointer, KNativePointer); + +void impl_FunctionDeclarationSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->FunctionDeclarationSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(FunctionDeclarationSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_FunctionDeclarationAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->FunctionDeclarationAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(FunctionDeclarationAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_FunctionDeclarationAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -1731,17 +1991,38 @@ KNativePointer impl_FunctionDeclarationAnnotationsConst(KNativePointer context, } KOALA_INTEROP_2(FunctionDeclarationAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_FunctionDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_FunctionDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->FunctionDeclarationSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->FunctionDeclarationSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(FunctionDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_FunctionDeclarationSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->FunctionDeclarationSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(FunctionDeclarationSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_FunctionDeclarationAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->FunctionDeclarationAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(FunctionDeclarationAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateETSTypeReference(KNativePointer context, KNativePointer part) { const auto _context = reinterpret_cast(context); @@ -2175,6 +2456,16 @@ KNativePointer impl_TSInterfaceDeclarationExtends(KNativePointer context, KNativ } KOALA_INTEROP_2(TSInterfaceDeclarationExtends, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_TSInterfaceDeclarationExtendsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSInterfaceDeclarationExtendsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSInterfaceDeclarationExtendsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_TSInterfaceDeclarationExtendsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -2223,105 +2514,326 @@ void impl_TSInterfaceDeclarationSetAnonClass(KNativePointer context, KNativePoin } KOALA_INTEROP_V3(TSInterfaceDeclarationSetAnonClass, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_TSInterfaceDeclarationAnnotations(KNativePointer context, KNativePointer receiver) +void impl_TSInterfaceDeclarationEmplaceExtends(KNativePointer context, KNativePointer receiver, KNativePointer _extends) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->TSInterfaceDeclarationAnnotations(_context, _receiver, &length); - return StageArena::cloneVector(result, length); + const auto __extends = reinterpret_cast(_extends); + GetImpl()->TSInterfaceDeclarationEmplaceExtends(_context, _receiver, __extends); + return ; } -KOALA_INTEROP_2(TSInterfaceDeclarationAnnotations, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(TSInterfaceDeclarationEmplaceExtends, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_TSInterfaceDeclarationAnnotationsConst(KNativePointer context, KNativePointer receiver) +void impl_TSInterfaceDeclarationClearExtends(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->TSInterfaceDeclarationAnnotationsConst(_context, _receiver, &length); - return (void*)StageArena::cloneVector(result, length); + GetImpl()->TSInterfaceDeclarationClearExtends(_context, _receiver); + return ; } -KOALA_INTEROP_2(TSInterfaceDeclarationAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V2(TSInterfaceDeclarationClearExtends, KNativePointer, KNativePointer); -void impl_TSInterfaceDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_TSInterfaceDeclarationSetValueExtends(KNativePointer context, KNativePointer receiver, KNativePointer _extends, KUInt index) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->TSInterfaceDeclarationSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto __extends = reinterpret_cast(_extends); + const auto _index = static_cast(index); + GetImpl()->TSInterfaceDeclarationSetValueExtends(_context, _receiver, __extends, _index); return ; } -KOALA_INTEROP_V4(TSInterfaceDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +KOALA_INTEROP_V4(TSInterfaceDeclarationSetValueExtends, KNativePointer, KNativePointer, KNativePointer, KUInt); -KNativePointer impl_CreateVariableDeclaration(KNativePointer context, KInt kind, KNativePointerArray declarators, KUInt declaratorsSequenceLength) +void impl_TSInterfaceDeclarationEmplaceDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators) { const auto _context = reinterpret_cast(context); - const auto _kind = static_cast(kind); - const auto _declarators = reinterpret_cast(declarators); - const auto _declaratorsSequenceLength = static_cast(declaratorsSequenceLength); - auto result = GetImpl()->CreateVariableDeclaration(_context, _kind, _declarators, _declaratorsSequenceLength); - return result; + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + GetImpl()->TSInterfaceDeclarationEmplaceDecorators(_context, _receiver, _decorators); + return ; } -KOALA_INTEROP_4(CreateVariableDeclaration, KNativePointer, KNativePointer, KInt, KNativePointerArray, KUInt); +KOALA_INTEROP_V3(TSInterfaceDeclarationEmplaceDecorators, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_UpdateVariableDeclaration(KNativePointer context, KNativePointer original, KInt kind, KNativePointerArray declarators, KUInt declaratorsSequenceLength) +void impl_TSInterfaceDeclarationClearDecorators(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); - const auto _original = reinterpret_cast(original); - const auto _kind = static_cast(kind); - const auto _declarators = reinterpret_cast(declarators); - const auto _declaratorsSequenceLength = static_cast(declaratorsSequenceLength); - auto result = GetImpl()->UpdateVariableDeclaration(_context, _original, _kind, _declarators, _declaratorsSequenceLength); - return result; + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSInterfaceDeclarationClearDecorators(_context, _receiver); + return ; } -KOALA_INTEROP_5(UpdateVariableDeclaration, KNativePointer, KNativePointer, KNativePointer, KInt, KNativePointerArray, KUInt); +KOALA_INTEROP_V2(TSInterfaceDeclarationClearDecorators, KNativePointer, KNativePointer); -KNativePointer impl_VariableDeclarationDeclaratorsConst(KNativePointer context, KNativePointer receiver) +void impl_TSInterfaceDeclarationSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators, KUInt index) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->VariableDeclarationDeclaratorsConst(_context, _receiver, &length); - return (void*)StageArena::cloneVector(result, length); + const auto _decorators = reinterpret_cast(decorators); + const auto _index = static_cast(index); + GetImpl()->TSInterfaceDeclarationSetValueDecorators(_context, _receiver, _decorators, _index); + return ; } -KOALA_INTEROP_2(VariableDeclarationDeclaratorsConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V4(TSInterfaceDeclarationSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); -KInt impl_VariableDeclarationKindConst(KNativePointer context, KNativePointer receiver) +KNativePointer impl_TSInterfaceDeclarationDecorators(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->VariableDeclarationKindConst(_context, _receiver); - return result; + std::size_t length; + auto result = GetImpl()->TSInterfaceDeclarationDecorators(_context, _receiver, &length); + return StageArena::cloneVector(result, length); } -KOALA_INTEROP_2(VariableDeclarationKindConst, KInt, KNativePointer, KNativePointer); +KOALA_INTEROP_2(TSInterfaceDeclarationDecorators, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_VariableDeclarationDecoratorsConst(KNativePointer context, KNativePointer receiver) +KNativePointer impl_TSInterfaceDeclarationDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); std::size_t length; - auto result = GetImpl()->VariableDeclarationDecoratorsConst(_context, _receiver, &length); - return (void*)StageArena::cloneVector(result, length); + auto result = GetImpl()->TSInterfaceDeclarationDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); } -KOALA_INTEROP_2(VariableDeclarationDecoratorsConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(TSInterfaceDeclarationDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_VariableDeclarationGetDeclaratorByNameConst(KNativePointer context, KNativePointer receiver, KStringPtr& name) +void impl_TSInterfaceDeclarationEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _name = getStringCopy(name); - auto result = GetImpl()->VariableDeclarationGetDeclaratorByNameConst(_context, _receiver, _name); - return (void*)result; + const auto _source = reinterpret_cast(source); + GetImpl()->TSInterfaceDeclarationEmplaceAnnotations(_context, _receiver, _source); + return ; } -KOALA_INTEROP_3(VariableDeclarationGetDeclaratorByNameConst, KNativePointer, KNativePointer, KNativePointer, KStringPtr); +KOALA_INTEROP_V3(TSInterfaceDeclarationEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_VariableDeclarationAnnotations(KNativePointer context, KNativePointer receiver) +void impl_TSInterfaceDeclarationClearAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->VariableDeclarationAnnotations(_context, _receiver, &length); + GetImpl()->TSInterfaceDeclarationClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(TSInterfaceDeclarationClearAnnotations, KNativePointer, KNativePointer); + +void impl_TSInterfaceDeclarationSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TSInterfaceDeclarationSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TSInterfaceDeclarationSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TSInterfaceDeclarationAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSInterfaceDeclarationAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSInterfaceDeclarationAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_TSInterfaceDeclarationAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSInterfaceDeclarationAnnotations(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSInterfaceDeclarationAnnotations, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_TSInterfaceDeclarationAnnotationsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSInterfaceDeclarationAnnotationsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSInterfaceDeclarationAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSInterfaceDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TSInterfaceDeclarationSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(TSInterfaceDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_TSInterfaceDeclarationSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TSInterfaceDeclarationSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(TSInterfaceDeclarationSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_TSInterfaceDeclarationAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->TSInterfaceDeclarationAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(TSInterfaceDeclarationAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_CreateVariableDeclaration(KNativePointer context, KInt kind, KNativePointerArray declarators, KUInt declaratorsSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _kind = static_cast(kind); + const auto _declarators = reinterpret_cast(declarators); + const auto _declaratorsSequenceLength = static_cast(declaratorsSequenceLength); + auto result = GetImpl()->CreateVariableDeclaration(_context, _kind, _declarators, _declaratorsSequenceLength); + return result; +} +KOALA_INTEROP_4(CreateVariableDeclaration, KNativePointer, KNativePointer, KInt, KNativePointerArray, KUInt); + +KNativePointer impl_UpdateVariableDeclaration(KNativePointer context, KNativePointer original, KInt kind, KNativePointerArray declarators, KUInt declaratorsSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _original = reinterpret_cast(original); + const auto _kind = static_cast(kind); + const auto _declarators = reinterpret_cast(declarators); + const auto _declaratorsSequenceLength = static_cast(declaratorsSequenceLength); + auto result = GetImpl()->UpdateVariableDeclaration(_context, _original, _kind, _declarators, _declaratorsSequenceLength); + return result; +} +KOALA_INTEROP_5(UpdateVariableDeclaration, KNativePointer, KNativePointer, KNativePointer, KInt, KNativePointerArray, KUInt); + +KNativePointer impl_VariableDeclarationDeclaratorsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDeclaratorsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDeclaratorsConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationDeclarators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDeclarators(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDeclarators, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationDeclaratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDeclaratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDeclaratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KInt impl_VariableDeclarationKindConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->VariableDeclarationKindConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(VariableDeclarationKindConst, KInt, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationDecoratorsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDecoratorsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDecoratorsConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDecorators(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDecorators, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationGetDeclaratorByNameConst(KNativePointer context, KNativePointer receiver, KStringPtr& name) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _name = getStringCopy(name); + auto result = GetImpl()->VariableDeclarationGetDeclaratorByNameConst(_context, _receiver, _name); + return (void*)result; +} +KOALA_INTEROP_3(VariableDeclarationGetDeclaratorByNameConst, KNativePointer, KNativePointer, KNativePointer, KStringPtr); + +void impl_VariableDeclarationEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->VariableDeclarationEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(VariableDeclarationEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_VariableDeclarationClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->VariableDeclarationClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(VariableDeclarationClearAnnotations, KNativePointer, KNativePointer); + +void impl_VariableDeclarationSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->VariableDeclarationSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(VariableDeclarationSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_VariableDeclarationAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(VariableDeclarationAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_VariableDeclarationAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->VariableDeclarationAnnotations(_context, _receiver, &length); return StageArena::cloneVector(result, length); } KOALA_INTEROP_2(VariableDeclarationAnnotations, KNativePointer, KNativePointer, KNativePointer); @@ -2336,17 +2848,38 @@ KNativePointer impl_VariableDeclarationAnnotationsConst(KNativePointer context, } KOALA_INTEROP_2(VariableDeclarationAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_VariableDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_VariableDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->VariableDeclarationSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->VariableDeclarationSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(VariableDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_VariableDeclarationSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->VariableDeclarationSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(VariableDeclarationSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_VariableDeclarationAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->VariableDeclarationAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(VariableDeclarationAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateUndefinedLiteral(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -2669,6 +3202,17 @@ KNativePointer impl_ETSUnionTypeTypesConst(KNativePointer context, KNativePointe } KOALA_INTEROP_2(ETSUnionTypeTypesConst, KNativePointer, KNativePointer, KNativePointer); +void impl_ETSUnionTypeSetValueTypesConst(KNativePointer context, KNativePointer receiver, KNativePointer type, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _type = reinterpret_cast(type); + const auto _index = static_cast(index); + GetImpl()->ETSUnionTypeIrSetValueTypesConst(_context, _receiver, _type, _index); + return ; +} +KOALA_INTEROP_V4(ETSUnionTypeSetValueTypesConst, KNativePointer, KNativePointer, KNativePointer, KUInt); + KNativePointer impl_CreateETSKeyofType(KNativePointer context, KNativePointer type) { const auto _context = reinterpret_cast(context); @@ -2966,16 +3510,6 @@ void impl_TSTypeAliasDeclarationSetTypeParameters(KNativePointer context, KNativ } KOALA_INTEROP_V3(TSTypeAliasDeclarationSetTypeParameters, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_TSTypeAliasDeclarationAnnotations(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->TSTypeAliasDeclarationAnnotations(_context, _receiver, &length); - return StageArena::cloneVector(result, length); -} -KOALA_INTEROP_2(TSTypeAliasDeclarationAnnotations, KNativePointer, KNativePointer, KNativePointer); - KNativePointer impl_TSTypeAliasDeclarationAnnotationsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -2997,76 +3531,165 @@ void impl_TSTypeAliasDeclarationSetAnnotations(KNativePointer context, KNativePo } KOALA_INTEROP_V4(TSTypeAliasDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); -KNativePointer impl_TSTypeAliasDeclarationTypeAnnotationConst(KNativePointer context, KNativePointer receiver) +void impl_TSTypeAliasDeclarationEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->TSTypeAliasDeclarationTypeAnnotationConst(_context, _receiver); - return (void*)result; + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->TSTypeAliasDeclarationEmplaceAnnotations(_context, _receiver, _annotations); + return ; } -KOALA_INTEROP_2(TSTypeAliasDeclarationTypeAnnotationConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(TSTypeAliasDeclarationEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); -void impl_TSTypeAliasDeclarationSetTsTypeAnnotation(KNativePointer context, KNativePointer receiver, KNativePointer typeAnnotation) +void impl_TSTypeAliasDeclarationClearAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _typeAnnotation = reinterpret_cast(typeAnnotation); - GetImpl()->TSTypeAliasDeclarationSetTsTypeAnnotation(_context, _receiver, _typeAnnotation); + GetImpl()->TSTypeAliasDeclarationClearAnnotations(_context, _receiver); return ; } -KOALA_INTEROP_V3(TSTypeAliasDeclarationSetTsTypeAnnotation, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V2(TSTypeAliasDeclarationClearAnnotations, KNativePointer, KNativePointer); -KNativePointer impl_CreateDebuggerStatement(KNativePointer context) +void impl_TSTypeAliasDeclarationSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations, KUInt index) { const auto _context = reinterpret_cast(context); - auto result = GetImpl()->CreateDebuggerStatement(_context); - return result; + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + const auto _index = static_cast(index); + GetImpl()->TSTypeAliasDeclarationSetValueAnnotations(_context, _receiver, _annotations, _index); + return ; } -KOALA_INTEROP_1(CreateDebuggerStatement, KNativePointer, KNativePointer); +KOALA_INTEROP_V4(TSTypeAliasDeclarationSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); -KNativePointer impl_UpdateDebuggerStatement(KNativePointer context, KNativePointer original) +KNativePointer impl_TSTypeAliasDeclarationAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); - const auto _original = reinterpret_cast(original); - auto result = GetImpl()->UpdateDebuggerStatement(_context, _original); - return result; + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSTypeAliasDeclarationAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); } -KOALA_INTEROP_2(UpdateDebuggerStatement, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(TSTypeAliasDeclarationAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_CreateReturnStatement(KNativePointer context) +void impl_TSTypeAliasDeclarationClearTypeParamterTypes(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); - auto result = GetImpl()->CreateReturnStatement(_context); - return result; + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSTypeAliasDeclarationClearTypeParamterTypes(_context, _receiver); + return ; } -KOALA_INTEROP_1(CreateReturnStatement, KNativePointer, KNativePointer); +KOALA_INTEROP_V2(TSTypeAliasDeclarationClearTypeParamterTypes, KNativePointer, KNativePointer); -KNativePointer impl_UpdateReturnStatement(KNativePointer context, KNativePointer original) +void impl_TSTypeAliasDeclarationEmplaceDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators) { const auto _context = reinterpret_cast(context); - const auto _original = reinterpret_cast(original); - auto result = GetImpl()->UpdateReturnStatement(_context, _original); - return result; + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + GetImpl()->TSTypeAliasDeclarationEmplaceDecorators(_context, _receiver, _decorators); + return ; } -KOALA_INTEROP_2(UpdateReturnStatement, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(TSTypeAliasDeclarationEmplaceDecorators, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_CreateReturnStatement1(KNativePointer context, KNativePointer argument) +void impl_TSTypeAliasDeclarationClearDecorators(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); - const auto _argument = reinterpret_cast(argument); - auto result = GetImpl()->CreateReturnStatement1(_context, _argument); - return result; + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSTypeAliasDeclarationClearDecorators(_context, _receiver); + return ; } -KOALA_INTEROP_2(CreateReturnStatement1, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V2(TSTypeAliasDeclarationClearDecorators, KNativePointer, KNativePointer); -KNativePointer impl_UpdateReturnStatement1(KNativePointer context, KNativePointer original, KNativePointer argument) +void impl_TSTypeAliasDeclarationSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators, KUInt index) { const auto _context = reinterpret_cast(context); - const auto _original = reinterpret_cast(original); - const auto _argument = reinterpret_cast(argument); - auto result = GetImpl()->UpdateReturnStatement1(_context, _original, _argument); - return result; -} + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + const auto _index = static_cast(index); + GetImpl()->TSTypeAliasDeclarationSetValueDecorators(_context, _receiver, _decorators, _index); + return ; +} +KOALA_INTEROP_V4(TSTypeAliasDeclarationSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TSTypeAliasDeclarationDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSTypeAliasDeclarationDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSTypeAliasDeclarationDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_TSTypeAliasDeclarationTypeAnnotationConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->TSTypeAliasDeclarationTypeAnnotationConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(TSTypeAliasDeclarationTypeAnnotationConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSTypeAliasDeclarationSetTsTypeAnnotation(KNativePointer context, KNativePointer receiver, KNativePointer typeAnnotation) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _typeAnnotation = reinterpret_cast(typeAnnotation); + GetImpl()->TSTypeAliasDeclarationSetTsTypeAnnotation(_context, _receiver, _typeAnnotation); + return ; +} +KOALA_INTEROP_V3(TSTypeAliasDeclarationSetTsTypeAnnotation, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_CreateDebuggerStatement(KNativePointer context) +{ + const auto _context = reinterpret_cast(context); + auto result = GetImpl()->CreateDebuggerStatement(_context); + return result; +} +KOALA_INTEROP_1(CreateDebuggerStatement, KNativePointer, KNativePointer); + +KNativePointer impl_UpdateDebuggerStatement(KNativePointer context, KNativePointer original) +{ + const auto _context = reinterpret_cast(context); + const auto _original = reinterpret_cast(original); + auto result = GetImpl()->UpdateDebuggerStatement(_context, _original); + return result; +} +KOALA_INTEROP_2(UpdateDebuggerStatement, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_CreateReturnStatement(KNativePointer context) +{ + const auto _context = reinterpret_cast(context); + auto result = GetImpl()->CreateReturnStatement(_context); + return result; +} +KOALA_INTEROP_1(CreateReturnStatement, KNativePointer, KNativePointer); + +KNativePointer impl_UpdateReturnStatement(KNativePointer context, KNativePointer original) +{ + const auto _context = reinterpret_cast(context); + const auto _original = reinterpret_cast(original); + auto result = GetImpl()->UpdateReturnStatement(_context, _original); + return result; +} +KOALA_INTEROP_2(UpdateReturnStatement, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_CreateReturnStatement1(KNativePointer context, KNativePointer argument) +{ + const auto _context = reinterpret_cast(context); + const auto _argument = reinterpret_cast(argument); + auto result = GetImpl()->CreateReturnStatement1(_context, _argument); + return result; +} +KOALA_INTEROP_2(CreateReturnStatement1, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_UpdateReturnStatement1(KNativePointer context, KNativePointer original, KNativePointer argument) +{ + const auto _context = reinterpret_cast(context); + const auto _original = reinterpret_cast(original); + const auto _argument = reinterpret_cast(argument); + auto result = GetImpl()->UpdateReturnStatement1(_context, _original, _argument); + return result; +} KOALA_INTEROP_3(UpdateReturnStatement1, KNativePointer, KNativePointer, KNativePointer, KNativePointer); KNativePointer impl_ReturnStatementArgument(KNativePointer context, KNativePointer receiver) @@ -3237,6 +3860,16 @@ KNativePointer impl_ScriptFunctionReturnStatements(KNativePointer context, KNati } KOALA_INTEROP_2(ScriptFunctionReturnStatements, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_ScriptFunctionReturnStatementsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ScriptFunctionReturnStatementsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ScriptFunctionReturnStatementsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ScriptFunctionTypeParamsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -3537,6 +4170,15 @@ KBoolean impl_ScriptFunctionIsRethrowingConst(KNativePointer context, KNativePoi } KOALA_INTEROP_2(ScriptFunctionIsRethrowingConst, KBoolean, KNativePointer, KNativePointer); +KBoolean impl_ScriptFunctionIsTrailingLambdaConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ScriptFunctionIsTrailingLambdaConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ScriptFunctionIsTrailingLambdaConst, KBoolean, KNativePointer, KNativePointer); + KBoolean impl_ScriptFunctionIsDynamicConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -3603,43 +4245,124 @@ void impl_ScriptFunctionClearFlag(KNativePointer context, KNativePointer receive } KOALA_INTEROP_V3(ScriptFunctionClearFlag, KNativePointer, KNativePointer, KInt); -void impl_ScriptFunctionAddModifier(KNativePointer context, KNativePointer receiver, KInt flags) +KUInt impl_ScriptFunctionFormalParamsLengthConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _flags = static_cast(flags); - GetImpl()->ScriptFunctionAddModifier(_context, _receiver, _flags); + auto result = GetImpl()->ScriptFunctionFormalParamsLengthConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ScriptFunctionFormalParamsLengthConst, KUInt, KNativePointer, KNativePointer); + +void impl_ScriptFunctionEmplaceReturnStatements(KNativePointer context, KNativePointer receiver, KNativePointer returnStatements) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _returnStatements = reinterpret_cast(returnStatements); + GetImpl()->ScriptFunctionEmplaceReturnStatements(_context, _receiver, _returnStatements); return ; } -KOALA_INTEROP_V3(ScriptFunctionAddModifier, KNativePointer, KNativePointer, KInt); +KOALA_INTEROP_V3(ScriptFunctionEmplaceReturnStatements, KNativePointer, KNativePointer, KNativePointer); -KUInt impl_ScriptFunctionFormalParamsLengthConst(KNativePointer context, KNativePointer receiver) +void impl_ScriptFunctionClearReturnStatements(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->ScriptFunctionFormalParamsLengthConst(_context, _receiver); - return result; + GetImpl()->ScriptFunctionClearReturnStatements(_context, _receiver); + return ; } -KOALA_INTEROP_2(ScriptFunctionFormalParamsLengthConst, KUInt, KNativePointer, KNativePointer); +KOALA_INTEROP_V2(ScriptFunctionClearReturnStatements, KNativePointer, KNativePointer); -void impl_ScriptFunctionSetIsolatedDeclgenReturnType(KNativePointer context, KNativePointer receiver, KStringPtr& type) +void impl_ScriptFunctionSetValueReturnStatements(KNativePointer context, KNativePointer receiver, KNativePointer returnStatements, KUInt index) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _type = getStringCopy(type); - GetImpl()->ScriptFunctionSetIsolatedDeclgenReturnType(_context, _receiver, _type); + const auto _returnStatements = reinterpret_cast(returnStatements); + const auto _index = static_cast(index); + GetImpl()->ScriptFunctionSetValueReturnStatements(_context, _receiver, _returnStatements, _index); return ; } -KOALA_INTEROP_V3(ScriptFunctionSetIsolatedDeclgenReturnType, KNativePointer, KNativePointer, KStringPtr); +KOALA_INTEROP_V4(ScriptFunctionSetValueReturnStatements, KNativePointer, KNativePointer, KNativePointer, KUInt); -KNativePointer impl_ScriptFunctionGetIsolatedDeclgenReturnTypeConst(KNativePointer context, KNativePointer receiver) +void impl_ScriptFunctionEmplaceParams(KNativePointer context, KNativePointer receiver, KNativePointer params) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->ScriptFunctionGetIsolatedDeclgenReturnTypeConst(_context, _receiver); - return StageArena::strdup(result); + const auto _params = reinterpret_cast(params); + GetImpl()->ScriptFunctionEmplaceParams(_context, _receiver, _params); + return ; +} +KOALA_INTEROP_V3(ScriptFunctionEmplaceParams, KNativePointer, KNativePointer, KNativePointer); + +void impl_ScriptFunctionClearParams(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ScriptFunctionClearParams(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ScriptFunctionClearParams, KNativePointer, KNativePointer); + +void impl_ScriptFunctionSetValueParams(KNativePointer context, KNativePointer receiver, KNativePointer params, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _params = reinterpret_cast(params); + const auto _index = static_cast(index); + GetImpl()->ScriptFunctionSetValueParams(_context, _receiver, _params, _index); + return ; +} +KOALA_INTEROP_V4(ScriptFunctionSetValueParams, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ScriptFunctionParamsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ScriptFunctionParamsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ScriptFunctionParamsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +void impl_ScriptFunctionEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ScriptFunctionEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ScriptFunctionEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_ScriptFunctionClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ScriptFunctionClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ScriptFunctionClearAnnotations, KNativePointer, KNativePointer); + +void impl_ScriptFunctionSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ScriptFunctionSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ScriptFunctionSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ScriptFunctionAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ScriptFunctionAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); } -KOALA_INTEROP_2(ScriptFunctionGetIsolatedDeclgenReturnTypeConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(ScriptFunctionAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); KNativePointer impl_ScriptFunctionAnnotations(KNativePointer context, KNativePointer receiver) { @@ -3661,17 +4384,38 @@ KNativePointer impl_ScriptFunctionAnnotationsConst(KNativePointer context, KNati } KOALA_INTEROP_2(ScriptFunctionAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ScriptFunctionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ScriptFunctionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ScriptFunctionSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ScriptFunctionSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ScriptFunctionSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ScriptFunctionSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ScriptFunctionSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ScriptFunctionSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ScriptFunctionAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ScriptFunctionAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ScriptFunctionAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateClassDefinition(KNativePointer context, KNativePointer ident, KNativePointer typeParams, KNativePointer superTypeParams, KNativePointerArray _implements, KUInt _implementsSequenceLength, KNativePointer ctor, KNativePointer superClass, KNativePointerArray body, KUInt bodySequenceLength, KInt modifiers, KInt flags) { const auto _context = reinterpret_cast(context); @@ -3798,16 +4542,6 @@ KNativePointer impl_ClassDefinitionInternalNameConst(KNativePointer context, KNa } KOALA_INTEROP_2(ClassDefinitionInternalNameConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetInternalName(KNativePointer context, KNativePointer receiver, KStringPtr& internalName) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - const auto _internalName = getStringCopy(internalName); - GetImpl()->ClassDefinitionSetInternalName(_context, _receiver, _internalName); - return ; -} -KOALA_INTEROP_V3(ClassDefinitionSetInternalName, KNativePointer, KNativePointer, KStringPtr); - KNativePointer impl_ClassDefinitionSuper(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4025,16 +4759,6 @@ KInt impl_ClassDefinitionModifiersConst(KNativePointer context, KNativePointer r } KOALA_INTEROP_2(ClassDefinitionModifiersConst, KInt, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetModifiers(KNativePointer context, KNativePointer receiver, KInt modifiers) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - const auto _modifiers = static_cast(modifiers); - GetImpl()->ClassDefinitionSetModifiers(_context, _receiver, _modifiers); - return ; -} -KOALA_INTEROP_V3(ClassDefinitionSetModifiers, KNativePointer, KNativePointer, KInt); - void impl_ClassDefinitionAddProperties(KNativePointer context, KNativePointer receiver, KNativePointerArray body, KUInt bodySequenceLength) { const auto _context = reinterpret_cast(context); @@ -4046,16 +4770,6 @@ void impl_ClassDefinitionAddProperties(KNativePointer context, KNativePointer re } KOALA_INTEROP_V4(ClassDefinitionAddProperties, KNativePointer, KNativePointer, KNativePointerArray, KUInt); -KNativePointer impl_ClassDefinitionBody(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->ClassDefinitionBody(_context, _receiver, &length); - return StageArena::cloneVector(result, length); -} -KOALA_INTEROP_2(ClassDefinitionBody, KNativePointer, KNativePointer, KNativePointer); - KNativePointer impl_ClassDefinitionBodyConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4075,26 +4789,6 @@ KNativePointer impl_ClassDefinitionCtor(KNativePointer context, KNativePointer r } KOALA_INTEROP_2(ClassDefinitionCtor, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetCtor(KNativePointer context, KNativePointer receiver, KNativePointer ctor) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - const auto _ctor = reinterpret_cast(ctor); - GetImpl()->ClassDefinitionSetCtor(_context, _receiver, _ctor); - return ; -} -KOALA_INTEROP_V3(ClassDefinitionSetCtor, KNativePointer, KNativePointer, KNativePointer); - -KNativePointer impl_ClassDefinitionImplements(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->ClassDefinitionImplements(_context, _receiver, &length); - return StageArena::cloneVector(result, length); -} -KOALA_INTEROP_2(ClassDefinitionImplements, KNativePointer, KNativePointer, KNativePointer); - KNativePointer impl_ClassDefinitionImplementsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4123,16 +4817,6 @@ KNativePointer impl_ClassDefinitionTypeParams(KNativePointer context, KNativePoi } KOALA_INTEROP_2(ClassDefinitionTypeParams, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetTypeParams(KNativePointer context, KNativePointer receiver, KNativePointer typeParams) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - const auto _typeParams = reinterpret_cast(typeParams); - GetImpl()->ClassDefinitionSetTypeParams(_context, _receiver, _typeParams); - return ; -} -KOALA_INTEROP_V3(ClassDefinitionSetTypeParams, KNativePointer, KNativePointer, KNativePointer); - KNativePointer impl_ClassDefinitionSuperTypeParamsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4169,24 +4853,33 @@ KInt impl_ClassDefinitionLocalIndexConst(KNativePointer context, KNativePointer } KOALA_INTEROP_2(ClassDefinitionLocalIndexConst, KInt, KNativePointer, KNativePointer); -KNativePointer impl_ClassDefinitionLocalPrefixConst(KNativePointer context, KNativePointer receiver) +KNativePointer impl_ClassDefinitionFunctionalReferenceReferencedMethodConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->ClassDefinitionLocalPrefixConst(_context, _receiver); - return StageArena::strdup(result); + auto result = GetImpl()->ClassDefinitionFunctionalReferenceReferencedMethodConst(_context, _receiver); + return (void*)result; } -KOALA_INTEROP_2(ClassDefinitionLocalPrefixConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(ClassDefinitionFunctionalReferenceReferencedMethodConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetOrigEnumDecl(KNativePointer context, KNativePointer receiver, KNativePointer enumDecl) +void impl_ClassDefinitionSetFunctionalReferenceReferencedMethod(KNativePointer context, KNativePointer receiver, KNativePointer functionalReferenceReferencedMethod) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _enumDecl = reinterpret_cast(enumDecl); - GetImpl()->ClassDefinitionSetOrigEnumDecl(_context, _receiver, _enumDecl); + const auto _functionalReferenceReferencedMethod = reinterpret_cast(functionalReferenceReferencedMethod); + GetImpl()->ClassDefinitionSetFunctionalReferenceReferencedMethod(_context, _receiver, _functionalReferenceReferencedMethod); return ; } -KOALA_INTEROP_V3(ClassDefinitionSetOrigEnumDecl, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(ClassDefinitionSetFunctionalReferenceReferencedMethod, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ClassDefinitionLocalPrefixConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ClassDefinitionLocalPrefixConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ClassDefinitionLocalPrefixConst, KNativePointer, KNativePointer, KNativePointer); KNativePointer impl_ClassDefinitionOrigEnumDeclConst(KNativePointer context, KNativePointer receiver) { @@ -4206,16 +4899,6 @@ KNativePointer impl_ClassDefinitionGetAnonClass(KNativePointer context, KNativeP } KOALA_INTEROP_2(ClassDefinitionGetAnonClass, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetAnonClass(KNativePointer context, KNativePointer receiver, KNativePointer anonClass) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - const auto _anonClass = reinterpret_cast(anonClass); - GetImpl()->ClassDefinitionSetAnonClass(_context, _receiver, _anonClass); - return ; -} -KOALA_INTEROP_V3(ClassDefinitionSetAnonClass, KNativePointer, KNativePointer, KNativePointer); - KNativePointer impl_ClassDefinitionCtorConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4272,6 +4955,206 @@ void impl_ClassDefinitionAddToExportedClasses(KNativePointer context, KNativePoi } KOALA_INTEROP_V3(ClassDefinitionAddToExportedClasses, KNativePointer, KNativePointer, KNativePointer); +void impl_ClassDefinitionSetModifiers(KNativePointer context, KNativePointer receiver, KInt modifiers) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _modifiers = static_cast(modifiers); + GetImpl()->ClassDefinitionSetModifiers(_context, _receiver, _modifiers); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetModifiers, KNativePointer, KNativePointer, KInt); + +void impl_ClassDefinitionEmplaceBody(KNativePointer context, KNativePointer receiver, KNativePointer body) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _body = reinterpret_cast(body); + GetImpl()->ClassDefinitionEmplaceBody(_context, _receiver, _body); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionEmplaceBody, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionClearBody(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassDefinitionClearBody(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassDefinitionClearBody, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetValueBody(KNativePointer context, KNativePointer receiver, KNativePointer body, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _body = reinterpret_cast(body); + const auto _index = static_cast(index); + GetImpl()->ClassDefinitionSetValueBody(_context, _receiver, _body, _index); + return ; +} +KOALA_INTEROP_V4(ClassDefinitionSetValueBody, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassDefinitionBody(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDefinitionBody(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDefinitionBody, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ClassDefinitionBodyForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDefinitionBodyForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDefinitionBodyForUpdate, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionEmplaceImplements(KNativePointer context, KNativePointer receiver, KNativePointer _implements) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto __implements = reinterpret_cast(_implements); + GetImpl()->ClassDefinitionEmplaceImplements(_context, _receiver, __implements); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionEmplaceImplements, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionClearImplements(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassDefinitionClearImplements(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassDefinitionClearImplements, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetValueImplements(KNativePointer context, KNativePointer receiver, KNativePointer _implements, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto __implements = reinterpret_cast(_implements); + const auto _index = static_cast(index); + GetImpl()->ClassDefinitionSetValueImplements(_context, _receiver, __implements, _index); + return ; +} +KOALA_INTEROP_V4(ClassDefinitionSetValueImplements, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassDefinitionImplements(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDefinitionImplements(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDefinitionImplements, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ClassDefinitionImplementsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDefinitionImplementsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDefinitionImplementsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetCtor(KNativePointer context, KNativePointer receiver, KNativePointer ctor) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _ctor = reinterpret_cast(ctor); + GetImpl()->ClassDefinitionSetCtor(_context, _receiver, _ctor); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetCtor, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetTypeParams(KNativePointer context, KNativePointer receiver, KNativePointer typeParams) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _typeParams = reinterpret_cast(typeParams); + GetImpl()->ClassDefinitionSetTypeParams(_context, _receiver, _typeParams); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetTypeParams, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetOrigEnumDecl(KNativePointer context, KNativePointer receiver, KNativePointer origEnumDecl) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _origEnumDecl = reinterpret_cast(origEnumDecl); + GetImpl()->ClassDefinitionSetOrigEnumDecl(_context, _receiver, _origEnumDecl); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetOrigEnumDecl, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetAnonClass(KNativePointer context, KNativePointer receiver, KNativePointer anonClass) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _anonClass = reinterpret_cast(anonClass); + GetImpl()->ClassDefinitionSetAnonClass(_context, _receiver, _anonClass); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetAnonClass, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetInternalName(KNativePointer context, KNativePointer receiver, KStringPtr& internalName) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _internalName = getStringCopy(internalName); + GetImpl()->ClassDefinitionSetInternalName(_context, _receiver, _internalName); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionSetInternalName, KNativePointer, KNativePointer, KStringPtr); + +void impl_ClassDefinitionEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ClassDefinitionEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDefinitionClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassDefinitionClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassDefinitionClearAnnotations, KNativePointer, KNativePointer); + +void impl_ClassDefinitionSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ClassDefinitionSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ClassDefinitionSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassDefinitionAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDefinitionAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDefinitionAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ClassDefinitionAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -4292,17 +5175,38 @@ KNativePointer impl_ClassDefinitionAnnotationsConst(KNativePointer context, KNat } KOALA_INTEROP_2(ClassDefinitionAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ClassDefinitionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ClassDefinitionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ClassDefinitionSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ClassDefinitionSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ClassDefinitionSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ClassDefinitionSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ClassDefinitionSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ClassDefinitionSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ClassDefinitionAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ClassDefinitionAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ClassDefinitionAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateArrayExpression(KNativePointer context, KNativePointerArray elements, KUInt elementsSequenceLength) { const auto _context = reinterpret_cast(context); @@ -5795,15 +6699,6 @@ KNativePointer impl_AstNodeDumpDeclConst(KNativePointer context, KNativePointer } KOALA_INTEROP_2(AstNodeDumpDeclConst, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_AstNodeIsolatedDumpDeclConst(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->AstNodeIsolatedDumpDeclConst(_context, _receiver); - return StageArena::strdup(result); -} -KOALA_INTEROP_2(AstNodeIsolatedDumpDeclConst, KNativePointer, KNativePointer, KNativePointer); - void impl_AstNodeDumpConst(KNativePointer context, KNativePointer receiver, KNativePointer dumper) { const auto _context = reinterpret_cast(context); @@ -5902,6 +6797,33 @@ KNativePointer impl_AstNodeShallowClone(KNativePointer context, KNativePointer r } KOALA_INTEROP_2(AstNodeShallowClone, KNativePointer, KNativePointer, KNativePointer); +KBoolean impl_AstNodeIsValidInCurrentPhaseConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->AstNodeIsValidInCurrentPhaseConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(AstNodeIsValidInCurrentPhaseConst, KBoolean, KNativePointer, KNativePointer); + +KNativePointer impl_AstNodeGetHistoryNodeConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->AstNodeGetHistoryNodeConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(AstNodeGetHistoryNodeConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_AstNodeGetOrCreateHistoryNodeConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->AstNodeGetOrCreateHistoryNodeConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(AstNodeGetOrCreateHistoryNodeConst, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateUnaryExpression(KNativePointer context, KNativePointer argument, KInt unaryOperator) { const auto _context = reinterpret_cast(context); @@ -5950,6 +6872,16 @@ KNativePointer impl_UnaryExpressionArgumentConst(KNativePointer context, KNative } KOALA_INTEROP_2(UnaryExpressionArgumentConst, KNativePointer, KNativePointer, KNativePointer); +void impl_UnaryExpressionSetArgument(KNativePointer context, KNativePointer receiver, KNativePointer arg) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _arg = reinterpret_cast(arg); + GetImpl()->UnaryExpressionSetArgument(_context, _receiver, _arg); + return ; +} +KOALA_INTEROP_V3(UnaryExpressionSetArgument, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateForInStatement(KNativePointer context, KNativePointer left, KNativePointer right, KNativePointer body) { const auto _context = reinterpret_cast(context); @@ -6670,6 +7602,33 @@ void impl_ExpressionStatementSetExpression(KNativePointer context, KNativePointe } KOALA_INTEROP_V3(ExpressionStatementSetExpression, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_CreateETSModule(KNativePointer context, KNativePointerArray statementList, KUInt statementListSequenceLength, KNativePointer ident, KInt flag, KNativePointer program) +{ + const auto _context = reinterpret_cast(context); + const auto _statementList = reinterpret_cast(statementList); + const auto _statementListSequenceLength = static_cast(statementListSequenceLength); + const auto _ident = reinterpret_cast(ident); + const auto _flag = static_cast(flag); + const auto _program = reinterpret_cast(program); + auto result = GetImpl()->CreateETSModule(_context, _statementList, _statementListSequenceLength, _ident, _flag, _program); + return result; +} +KOALA_INTEROP_6(CreateETSModule, KNativePointer, KNativePointer, KNativePointerArray, KUInt, KNativePointer, KInt, KNativePointer); + +KNativePointer impl_UpdateETSModule(KNativePointer context, KNativePointer original, KNativePointerArray statementList, KUInt statementListSequenceLength, KNativePointer ident, KInt flag, KNativePointer program) +{ + const auto _context = reinterpret_cast(context); + const auto _original = reinterpret_cast(original); + const auto _statementList = reinterpret_cast(statementList); + const auto _statementListSequenceLength = static_cast(statementListSequenceLength); + const auto _ident = reinterpret_cast(ident); + const auto _flag = static_cast(flag); + const auto _program = reinterpret_cast(program); + auto result = GetImpl()->UpdateETSModule(_context, _original, _statementList, _statementListSequenceLength, _ident, _flag, _program); + return result; +} +KOALA_INTEROP_7(UpdateETSModule, KNativePointer, KNativePointer, KNativePointer, KNativePointerArray, KUInt, KNativePointer, KInt, KNativePointer); + KNativePointer impl_ETSModuleIdent(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -6688,6 +7647,43 @@ KNativePointer impl_ETSModuleIdentConst(KNativePointer context, KNativePointer r } KOALA_INTEROP_2(ETSModuleIdentConst, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_ETSModuleProgram(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ETSModuleProgram(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ETSModuleProgram, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ETSModuleGlobalClassConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ETSModuleGlobalClassConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(ETSModuleGlobalClassConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ETSModuleGlobalClass(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ETSModuleGlobalClass(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ETSModuleGlobalClass, KNativePointer, KNativePointer, KNativePointer); + +void impl_ETSModuleSetGlobalClass(KNativePointer context, KNativePointer receiver, KNativePointer globalClass) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _globalClass = reinterpret_cast(globalClass); + GetImpl()->ETSModuleSetGlobalClass(_context, _receiver, _globalClass); + return ; +} +KOALA_INTEROP_V3(ETSModuleSetGlobalClass, KNativePointer, KNativePointer, KNativePointer); + KBoolean impl_ETSModuleIsETSScriptConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -6724,37 +7720,107 @@ void impl_ETSModuleSetNamespaceChainLastNode(KNativePointer context, KNativePoin } KOALA_INTEROP_V2(ETSModuleSetNamespaceChainLastNode, KNativePointer, KNativePointer); -KNativePointer impl_ETSModuleAnnotations(KNativePointer context, KNativePointer receiver) +KNativePointer impl_ETSModuleProgramConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->ETSModuleAnnotations(_context, _receiver, &length); - return StageArena::cloneVector(result, length); + auto result = GetImpl()->ETSModuleProgramConst(_context, _receiver); + return (void*)result; } -KOALA_INTEROP_2(ETSModuleAnnotations, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(ETSModuleProgramConst, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_ETSModuleAnnotationsConst(KNativePointer context, KNativePointer receiver) +void impl_ETSModuleEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->ETSModuleAnnotationsConst(_context, _receiver, &length); - return (void*)StageArena::cloneVector(result, length); + const auto _source = reinterpret_cast(source); + GetImpl()->ETSModuleEmplaceAnnotations(_context, _receiver, _source); + return ; } -KOALA_INTEROP_2(ETSModuleAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(ETSModuleEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); -void impl_ETSModuleSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ETSModuleClearAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ETSModuleSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + GetImpl()->ETSModuleClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ETSModuleClearAnnotations, KNativePointer, KNativePointer); + +void impl_ETSModuleSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ETSModuleSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ETSModuleSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ETSModuleAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ETSModuleAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ETSModuleAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ETSModuleAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ETSModuleAnnotations(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ETSModuleAnnotations, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ETSModuleAnnotationsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ETSModuleAnnotationsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ETSModuleAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ETSModuleSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ETSModuleSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ETSModuleSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ETSModuleSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ETSModuleSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ETSModuleSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ETSModuleAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ETSModuleAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ETSModuleAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateMetaProperty(KNativePointer context, KInt kind) { const auto _context = reinterpret_cast(context); @@ -7254,6 +8320,46 @@ KNativePointer impl_UpdateImportDeclaration(KNativePointer context, KNativePoint } KOALA_INTEROP_6(UpdateImportDeclaration, KNativePointer, KNativePointer, KNativePointer, KNativePointer, KNativePointerArray, KUInt, KInt); +void impl_ImportDeclarationEmplaceSpecifiers(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ImportDeclarationEmplaceSpecifiers(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ImportDeclarationEmplaceSpecifiers, KNativePointer, KNativePointer, KNativePointer); + +void impl_ImportDeclarationClearSpecifiers(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ImportDeclarationClearSpecifiers(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ImportDeclarationClearSpecifiers, KNativePointer, KNativePointer); + +void impl_ImportDeclarationSetValueSpecifiers(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ImportDeclarationSetValueSpecifiers(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ImportDeclarationSetValueSpecifiers, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ImportDeclarationSpecifiersForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ImportDeclarationSpecifiersForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ImportDeclarationSpecifiersForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ImportDeclarationSourceConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -7282,16 +8388,6 @@ KNativePointer impl_ImportDeclarationSpecifiersConst(KNativePointer context, KNa } KOALA_INTEROP_2(ImportDeclarationSpecifiersConst, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_ImportDeclarationSpecifiers(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - std::size_t length; - auto result = GetImpl()->ImportDeclarationSpecifiers(_context, _receiver, &length); - return StageArena::cloneVector(result, length); -} -KOALA_INTEROP_2(ImportDeclarationSpecifiers, KNativePointer, KNativePointer, KNativePointer); - KBoolean impl_ImportDeclarationIsTypeKindConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -7329,6 +8425,25 @@ KNativePointer impl_TSParenthesizedTypeTypeConst(KNativePointer context, KNative } KOALA_INTEROP_2(TSParenthesizedTypeTypeConst, KNativePointer, KNativePointer, KNativePointer); +KBoolean impl_LiteralIsFoldedConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->LiteralIsFoldedConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(LiteralIsFoldedConst, KBoolean, KNativePointer, KNativePointer); + +void impl_LiteralSetFolded(KNativePointer context, KNativePointer receiver, KBoolean folded) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _folded = static_cast(folded); + GetImpl()->LiteralSetFolded(_context, _receiver, _folded); + return ; +} +KOALA_INTEROP_V3(LiteralSetFolded, KNativePointer, KNativePointer, KBoolean); + KNativePointer impl_CreateCharLiteral(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -7440,14 +8555,15 @@ KBoolean impl_ETSImportDeclarationIsPureDynamicConst(KNativePointer context, KNa } KOALA_INTEROP_2(ETSImportDeclarationIsPureDynamicConst, KBoolean, KNativePointer, KNativePointer); -KNativePointer impl_ETSImportDeclarationAssemblerName(KNativePointer context, KNativePointer receiver) +void impl_ETSImportDeclarationSetAssemblerName(KNativePointer context, KNativePointer receiver, KStringPtr& assemblerName) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->ETSImportDeclarationAssemblerName(_context, _receiver); - return StageArena::strdup(result); + const auto _assemblerName = getStringCopy(assemblerName); + GetImpl()->ETSImportDeclarationSetAssemblerName(_context, _receiver, _assemblerName); + return ; } -KOALA_INTEROP_2(ETSImportDeclarationAssemblerName, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_V3(ETSImportDeclarationSetAssemblerName, KNativePointer, KNativePointer, KStringPtr); KNativePointer impl_ETSImportDeclarationAssemblerNameConst(KNativePointer context, KNativePointer receiver) { @@ -7682,6 +8798,16 @@ KNativePointer impl_AnnotationDeclarationProperties(KNativePointer context, KNat } KOALA_INTEROP_2(AnnotationDeclarationProperties, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_AnnotationDeclarationPropertiesForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->AnnotationDeclarationPropertiesForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(AnnotationDeclarationPropertiesForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_AnnotationDeclarationPropertiesConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -7766,6 +8892,76 @@ KNativePointer impl_AnnotationDeclarationGetBaseNameConst(KNativePointer context } KOALA_INTEROP_2(AnnotationDeclarationGetBaseNameConst, KNativePointer, KNativePointer, KNativePointer); +void impl_AnnotationDeclarationEmplaceProperties(KNativePointer context, KNativePointer receiver, KNativePointer properties) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _properties = reinterpret_cast(properties); + GetImpl()->AnnotationDeclarationEmplaceProperties(_context, _receiver, _properties); + return ; +} +KOALA_INTEROP_V3(AnnotationDeclarationEmplaceProperties, KNativePointer, KNativePointer, KNativePointer); + +void impl_AnnotationDeclarationClearProperties(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->AnnotationDeclarationClearProperties(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(AnnotationDeclarationClearProperties, KNativePointer, KNativePointer); + +void impl_AnnotationDeclarationSetValueProperties(KNativePointer context, KNativePointer receiver, KNativePointer properties, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _properties = reinterpret_cast(properties); + const auto _index = static_cast(index); + GetImpl()->AnnotationDeclarationSetValueProperties(_context, _receiver, _properties, _index); + return ; +} +KOALA_INTEROP_V4(AnnotationDeclarationSetValueProperties, KNativePointer, KNativePointer, KNativePointer, KUInt); + +void impl_AnnotationDeclarationEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->AnnotationDeclarationEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(AnnotationDeclarationEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_AnnotationDeclarationClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->AnnotationDeclarationClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(AnnotationDeclarationClearAnnotations, KNativePointer, KNativePointer); + +void impl_AnnotationDeclarationSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->AnnotationDeclarationSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(AnnotationDeclarationSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_AnnotationDeclarationAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->AnnotationDeclarationAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(AnnotationDeclarationAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_AnnotationDeclarationAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -7786,17 +8982,38 @@ KNativePointer impl_AnnotationDeclarationAnnotationsConst(KNativePointer context } KOALA_INTEROP_2(AnnotationDeclarationAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_AnnotationDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_AnnotationDeclarationSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->AnnotationDeclarationSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->AnnotationDeclarationSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(AnnotationDeclarationSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_AnnotationDeclarationSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->AnnotationDeclarationSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(AnnotationDeclarationSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_AnnotationDeclarationAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->AnnotationDeclarationAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(AnnotationDeclarationAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateAnnotationUsage(KNativePointer context, KNativePointer expr) { const auto _context = reinterpret_cast(context); @@ -7982,6 +9199,16 @@ KNativePointer impl_WhileStatementTest(KNativePointer context, KNativePointer re } KOALA_INTEROP_2(WhileStatementTest, KNativePointer, KNativePointer, KNativePointer); +void impl_WhileStatementSetTest(KNativePointer context, KNativePointer receiver, KNativePointer test) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _test = reinterpret_cast(test); + GetImpl()->WhileStatementSetTest(_context, _receiver, _test); + return ; +} +KOALA_INTEROP_V3(WhileStatementSetTest, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_WhileStatementBodyConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -8441,6 +9668,46 @@ void impl_TSTypeParameterSetDefaultType(KNativePointer context, KNativePointer r } KOALA_INTEROP_V3(TSTypeParameterSetDefaultType, KNativePointer, KNativePointer, KNativePointer); +void impl_TSTypeParameterEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->TSTypeParameterEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(TSTypeParameterEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_TSTypeParameterClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TSTypeParameterClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(TSTypeParameterClearAnnotations, KNativePointer, KNativePointer); + +void impl_TSTypeParameterSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TSTypeParameterSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TSTypeParameterSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TSTypeParameterAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TSTypeParameterAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TSTypeParameterAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_TSTypeParameterAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -8461,17 +9728,38 @@ KNativePointer impl_TSTypeParameterAnnotationsConst(KNativePointer context, KNat } KOALA_INTEROP_2(TSTypeParameterAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_TSTypeParameterSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_TSTypeParameterSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->TSTypeParameterSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TSTypeParameterSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(TSTypeParameterSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_TSTypeParameterSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TSTypeParameterSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(TSTypeParameterSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_TSTypeParameterAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->TSTypeParameterAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(TSTypeParameterAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSBooleanKeyword(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -8902,12 +10190,12 @@ KNativePointer impl_ETSParameterExpressionInitializer(KNativePointer context, KN } KOALA_INTEROP_2(ETSParameterExpressionInitializer, KNativePointer, KNativePointer, KNativePointer); -void impl_ETSParameterExpressionSetLexerSaved(KNativePointer context, KNativePointer receiver, KStringPtr& s) +void impl_ETSParameterExpressionSetLexerSaved(KNativePointer context, KNativePointer receiver, KStringPtr& savedLexer) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _s = getStringCopy(s); - GetImpl()->ETSParameterExpressionSetLexerSaved(_context, _receiver, _s); + const auto _savedLexer = getStringCopy(savedLexer); + GetImpl()->ETSParameterExpressionSetLexerSaved(_context, _receiver, _savedLexer); return ; } KOALA_INTEROP_V3(ETSParameterExpressionSetLexerSaved, KNativePointer, KNativePointer, KStringPtr); @@ -8996,16 +10284,56 @@ KUInt impl_ETSParameterExpressionGetRequiredParamsConst(KNativePointer context, } KOALA_INTEROP_2(ETSParameterExpressionGetRequiredParamsConst, KUInt, KNativePointer, KNativePointer); -void impl_ETSParameterExpressionSetRequiredParams(KNativePointer context, KNativePointer receiver, KUInt value) +void impl_ETSParameterExpressionSetRequiredParams(KNativePointer context, KNativePointer receiver, KUInt extraValue) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _value = static_cast(value); - GetImpl()->ETSParameterExpressionSetRequiredParams(_context, _receiver, _value); + const auto _extraValue = static_cast(extraValue); + GetImpl()->ETSParameterExpressionSetRequiredParams(_context, _receiver, _extraValue); return ; } KOALA_INTEROP_V3(ETSParameterExpressionSetRequiredParams, KNativePointer, KNativePointer, KUInt); +void impl_ETSParameterExpressionEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ETSParameterExpressionEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ETSParameterExpressionEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_ETSParameterExpressionClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ETSParameterExpressionClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ETSParameterExpressionClearAnnotations, KNativePointer, KNativePointer); + +void impl_ETSParameterExpressionSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ETSParameterExpressionSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ETSParameterExpressionSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ETSParameterExpressionAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ETSParameterExpressionAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ETSParameterExpressionAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ETSParameterExpressionAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -9026,17 +10354,38 @@ KNativePointer impl_ETSParameterExpressionAnnotationsConst(KNativePointer contex } KOALA_INTEROP_2(ETSParameterExpressionAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ETSParameterExpressionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ETSParameterExpressionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ETSParameterExpressionSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ETSParameterExpressionSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ETSParameterExpressionSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ETSParameterExpressionSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ETSParameterExpressionSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ETSParameterExpressionSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ETSParameterExpressionAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ETSParameterExpressionAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ETSParameterExpressionAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSTypeParameterInstantiation(KNativePointer context, KNativePointerArray params, KUInt paramsSequenceLength) { const auto _context = reinterpret_cast(context); @@ -9745,6 +11094,17 @@ void impl_IdentifierSetName(KNativePointer context, KNativePointer receiver, KSt } KOALA_INTEROP_V3(IdentifierSetName, KNativePointer, KNativePointer, KStringPtr); +void impl_IdentifierSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->IdentifierSetValueDecorators(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(IdentifierSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); + KNativePointer impl_IdentifierDecoratorsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -10004,15 +11364,15 @@ KNativePointer impl_UpdateBlockStatement(KNativePointer context, KNativePointer } KOALA_INTEROP_4(UpdateBlockStatement, KNativePointer, KNativePointer, KNativePointer, KNativePointerArray, KUInt); -KNativePointer impl_BlockStatementStatementsConst(KNativePointer context, KNativePointer receiver) +KNativePointer impl_BlockStatementStatementsForUpdates(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); std::size_t length; - auto result = GetImpl()->BlockStatementStatementsConst(_context, _receiver, &length); - return (void*)StageArena::cloneVector(result, length); + auto result = GetImpl()->BlockStatementStatementsForUpdates(_context, _receiver, &length); + return StageArena::cloneVector(result, length); } -KOALA_INTEROP_2(BlockStatementStatementsConst, KNativePointer, KNativePointer, KNativePointer); +KOALA_INTEROP_2(BlockStatementStatementsForUpdates, KNativePointer, KNativePointer, KNativePointer); KNativePointer impl_BlockStatementStatements(KNativePointer context, KNativePointer receiver) { @@ -10024,6 +11384,16 @@ KNativePointer impl_BlockStatementStatements(KNativePointer context, KNativePoin } KOALA_INTEROP_2(BlockStatementStatements, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_BlockStatementStatementsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->BlockStatementStatementsConst(_context, _receiver, &length); + return (void*)StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(BlockStatementStatementsConst, KNativePointer, KNativePointer, KNativePointer); + void impl_BlockStatementSetStatements(KNativePointer context, KNativePointer receiver, KNativePointerArray statementList, KUInt statementListSequenceLength) { const auto _context = reinterpret_cast(context); @@ -10035,26 +11405,46 @@ void impl_BlockStatementSetStatements(KNativePointer context, KNativePointer rec } KOALA_INTEROP_V4(BlockStatementSetStatements, KNativePointer, KNativePointer, KNativePointerArray, KUInt); -void impl_BlockStatementAddStatement(KNativePointer context, KNativePointer receiver, KNativePointer stmt) +void impl_BlockStatementAddStatements(KNativePointer context, KNativePointer receiver, KNativePointerArray statementList, KUInt statementListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _stmt = reinterpret_cast(stmt); - GetImpl()->BlockStatementAddStatement(_context, _receiver, _stmt); + const auto _statementList = reinterpret_cast(statementList); + const auto _statementListSequenceLength = static_cast(statementListSequenceLength); + GetImpl()->BlockStatementAddStatements(_context, _receiver, _statementList, _statementListSequenceLength); + return ; +} +KOALA_INTEROP_V4(BlockStatementAddStatements, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_BlockStatementClearStatements(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->BlockStatementClearStatements(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(BlockStatementClearStatements, KNativePointer, KNativePointer); + +void impl_BlockStatementAddStatement(KNativePointer context, KNativePointer receiver, KNativePointer statement) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _statement = reinterpret_cast(statement); + GetImpl()->BlockStatementAddStatement(_context, _receiver, _statement); return ; } KOALA_INTEROP_V3(BlockStatementAddStatement, KNativePointer, KNativePointer, KNativePointer); -void impl_BlockStatementAddStatements(KNativePointer context, KNativePointer receiver, KNativePointerArray stmts, KUInt stmtsSequenceLength) +void impl_BlockStatementAddStatement1(KNativePointer context, KNativePointer receiver, KUInt idx, KNativePointer statement) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _stmts = reinterpret_cast(stmts); - const auto _stmtsSequenceLength = static_cast(stmtsSequenceLength); - GetImpl()->BlockStatementAddStatements(_context, _receiver, _stmts, _stmtsSequenceLength); + const auto _idx = static_cast(idx); + const auto _statement = reinterpret_cast(statement); + GetImpl()->BlockStatementAddStatement1(_context, _receiver, _idx, _statement); return ; } -KOALA_INTEROP_V4(BlockStatementAddStatements, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +KOALA_INTEROP_V4(BlockStatementAddStatement1, KNativePointer, KNativePointer, KUInt, KNativePointer); void impl_BlockStatementAddTrailingBlock(KNativePointer context, KNativePointer receiver, KNativePointer stmt, KNativePointer trailingBlock) { @@ -10067,6 +11457,16 @@ void impl_BlockStatementAddTrailingBlock(KNativePointer context, KNativePointer } KOALA_INTEROP_V4(BlockStatementAddTrailingBlock, KNativePointer, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_BlockStatementSearchStatementInTrailingBlock(KNativePointer context, KNativePointer receiver, KNativePointer item) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _item = reinterpret_cast(item); + auto result = GetImpl()->BlockStatementSearchStatementInTrailingBlock(_context, _receiver, _item); + return result; +} +KOALA_INTEROP_3(BlockStatementSearchStatementInTrailingBlock, KNativePointer, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateDirectEvalExpression(KNativePointer context, KNativePointer callee, KNativePointerArray _arguments, KUInt _argumentsSequenceLength, KNativePointer typeParams, KBoolean optional_arg, KUInt parserStatus) { const auto _context = reinterpret_cast(context); @@ -10139,6 +11539,17 @@ void impl_TSTypeParameterDeclarationAddParam(KNativePointer context, KNativePoin } KOALA_INTEROP_V3(TSTypeParameterDeclarationAddParam, KNativePointer, KNativePointer, KNativePointer); +void impl_TSTypeParameterDeclarationSetValueParams(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TSTypeParameterDeclarationSetValueParams(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TSTypeParameterDeclarationSetValueParams, KNativePointer, KNativePointer, KNativePointer, KUInt); + KUInt impl_TSTypeParameterDeclarationRequiredParamsConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -10305,15 +11716,6 @@ void impl_MethodDefinitionSetOverloads(KNativePointer context, KNativePointer re } KOALA_INTEROP_V4(MethodDefinitionSetOverloads, KNativePointer, KNativePointer, KNativePointerArray, KUInt); -void impl_MethodDefinitionClearOverloads(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - GetImpl()->MethodDefinitionClearOverloads(_context, _receiver); - return ; -} -KOALA_INTEROP_V2(MethodDefinitionClearOverloads, KNativePointer, KNativePointer); - void impl_MethodDefinitionAddOverload(KNativePointer context, KNativePointer receiver, KNativePointer overload) { const auto _context = reinterpret_cast(context); @@ -10334,12 +11736,12 @@ void impl_MethodDefinitionSetBaseOverloadMethod(KNativePointer context, KNativeP } KOALA_INTEROP_V3(MethodDefinitionSetBaseOverloadMethod, KNativePointer, KNativePointer, KNativePointer); -void impl_MethodDefinitionSetAsyncPairMethod(KNativePointer context, KNativePointer receiver, KNativePointer method) +void impl_MethodDefinitionSetAsyncPairMethod(KNativePointer context, KNativePointer receiver, KNativePointer asyncPairMethod) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _method = reinterpret_cast(method); - GetImpl()->MethodDefinitionSetAsyncPairMethod(_context, _receiver, _method); + const auto _asyncPairMethod = reinterpret_cast(asyncPairMethod); + GetImpl()->MethodDefinitionSetAsyncPairMethod(_context, _receiver, _asyncPairMethod); return ; } KOALA_INTEROP_V3(MethodDefinitionSetAsyncPairMethod, KNativePointer, KNativePointer, KNativePointer); @@ -10381,6 +11783,36 @@ void impl_MethodDefinitionInitializeOverloadInfo(KNativePointer context, KNative } KOALA_INTEROP_V2(MethodDefinitionInitializeOverloadInfo, KNativePointer, KNativePointer); +void impl_MethodDefinitionEmplaceOverloads(KNativePointer context, KNativePointer receiver, KNativePointer overloads) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _overloads = reinterpret_cast(overloads); + GetImpl()->MethodDefinitionEmplaceOverloads(_context, _receiver, _overloads); + return ; +} +KOALA_INTEROP_V3(MethodDefinitionEmplaceOverloads, KNativePointer, KNativePointer, KNativePointer); + +void impl_MethodDefinitionClearOverloads(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->MethodDefinitionClearOverloads(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(MethodDefinitionClearOverloads, KNativePointer, KNativePointer); + +void impl_MethodDefinitionSetValueOverloads(KNativePointer context, KNativePointer receiver, KNativePointer overloads, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _overloads = reinterpret_cast(overloads); + const auto _index = static_cast(index); + GetImpl()->MethodDefinitionSetValueOverloads(_context, _receiver, _overloads, _index); + return ; +} +KOALA_INTEROP_V4(MethodDefinitionSetValueOverloads, KNativePointer, KNativePointer, KNativePointer, KUInt); + KNativePointer impl_CreateTSNullKeyword(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -10598,16 +12030,15 @@ KNativePointer impl_CreateSrcDumper(KNativePointer context, KNativePointer node) } KOALA_INTEROP_2(CreateSrcDumper, KNativePointer, KNativePointer, KNativePointer); -KNativePointer impl_CreateSrcDumper1(KNativePointer context, KNativePointer node, KBoolean isDeclgen, KBoolean isIsolatedDeclgen) +KNativePointer impl_CreateSrcDumper1(KNativePointer context, KNativePointer node, KBoolean isDeclgen) { const auto _context = reinterpret_cast(context); const auto _node = reinterpret_cast(node); const auto _isDeclgen = static_cast(isDeclgen); - const auto _isIsolatedDeclgen = static_cast(isIsolatedDeclgen); - auto result = GetImpl()->CreateSrcDumper1(_context, _node, _isDeclgen, _isIsolatedDeclgen); + auto result = GetImpl()->CreateSrcDumper1(_context, _node, _isDeclgen); return result; } -KOALA_INTEROP_4(CreateSrcDumper1, KNativePointer, KNativePointer, KNativePointer, KBoolean, KBoolean); +KOALA_INTEROP_3(CreateSrcDumper1, KNativePointer, KNativePointer, KNativePointer, KBoolean); void impl_SrcDumperAdd(KNativePointer context, KNativePointer receiver, KStringPtr& str) { @@ -10619,45 +12050,65 @@ void impl_SrcDumperAdd(KNativePointer context, KNativePointer receiver, KStringP } KOALA_INTEROP_V3(SrcDumperAdd, KNativePointer, KNativePointer, KStringPtr); -void impl_SrcDumperAdd1(KNativePointer context, KNativePointer receiver, KInt i) +void impl_SrcDumperAdd1(KNativePointer context, KNativePointer receiver, KBoolean i) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _i = static_cast(i); + const auto _i = static_cast(i); GetImpl()->SrcDumperAdd1(_context, _receiver, _i); return ; } -KOALA_INTEROP_V3(SrcDumperAdd1, KNativePointer, KNativePointer, KInt); +KOALA_INTEROP_V3(SrcDumperAdd1, KNativePointer, KNativePointer, KBoolean); -void impl_SrcDumperAdd2(KNativePointer context, KNativePointer receiver, KLong l) +void impl_SrcDumperAdd2(KNativePointer context, KNativePointer receiver, KInt i) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _i = static_cast(i); + GetImpl()->SrcDumperAdd2(_context, _receiver, _i); + return ; +} +KOALA_INTEROP_V3(SrcDumperAdd2, KNativePointer, KNativePointer, KInt); + +void impl_SrcDumperAdd3(KNativePointer context, KNativePointer receiver, KInt i) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _i = static_cast(i); + GetImpl()->SrcDumperAdd3(_context, _receiver, _i); + return ; +} +KOALA_INTEROP_V3(SrcDumperAdd3, KNativePointer, KNativePointer, KInt); + +void impl_SrcDumperAdd4(KNativePointer context, KNativePointer receiver, KLong l) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); const auto _l = static_cast(l); - GetImpl()->SrcDumperAdd2(_context, _receiver, _l); + GetImpl()->SrcDumperAdd4(_context, _receiver, _l); return ; } -KOALA_INTEROP_V3(SrcDumperAdd2, KNativePointer, KNativePointer, KLong); +KOALA_INTEROP_V3(SrcDumperAdd4, KNativePointer, KNativePointer, KLong); -void impl_SrcDumperAdd3(KNativePointer context, KNativePointer receiver, KFloat f) +void impl_SrcDumperAdd5(KNativePointer context, KNativePointer receiver, KFloat f) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); const auto _f = static_cast(f); - GetImpl()->SrcDumperAdd3(_context, _receiver, _f); + GetImpl()->SrcDumperAdd5(_context, _receiver, _f); return ; } -KOALA_INTEROP_V3(SrcDumperAdd3, KNativePointer, KNativePointer, KFloat); +KOALA_INTEROP_V3(SrcDumperAdd5, KNativePointer, KNativePointer, KFloat); -void impl_SrcDumperAdd4(KNativePointer context, KNativePointer receiver, KDouble d) +void impl_SrcDumperAdd6(KNativePointer context, KNativePointer receiver, KDouble d) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); const auto _d = static_cast(d); - GetImpl()->SrcDumperAdd4(_context, _receiver, _d); + GetImpl()->SrcDumperAdd6(_context, _receiver, _d); return ; } -KOALA_INTEROP_V3(SrcDumperAdd4, KNativePointer, KNativePointer, KDouble); +KOALA_INTEROP_V3(SrcDumperAdd6, KNativePointer, KNativePointer, KDouble); KNativePointer impl_SrcDumperStrConst(KNativePointer context, KNativePointer receiver) { @@ -10705,15 +12156,6 @@ KBoolean impl_SrcDumperIsDeclgenConst(KNativePointer context, KNativePointer rec } KOALA_INTEROP_2(SrcDumperIsDeclgenConst, KBoolean, KNativePointer, KNativePointer); -KBoolean impl_SrcDumperIsIsolatedDeclgenConst(KNativePointer context, KNativePointer receiver) -{ - const auto _context = reinterpret_cast(context); - const auto _receiver = reinterpret_cast(receiver); - auto result = GetImpl()->SrcDumperIsIsolatedDeclgenConst(_context, _receiver); - return result; -} -KOALA_INTEROP_2(SrcDumperIsIsolatedDeclgenConst, KBoolean, KNativePointer, KNativePointer); - void impl_SrcDumperDumpNode(KNativePointer context, KNativePointer receiver, KStringPtr& key) { const auto _context = reinterpret_cast(context); @@ -11028,6 +12470,66 @@ KNativePointer impl_ClassDeclarationDecoratorsConst(KNativePointer context, KNat } KOALA_INTEROP_2(ClassDeclarationDecoratorsConst, KNativePointer, KNativePointer, KNativePointer); +void impl_ClassDeclarationEmplaceDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + GetImpl()->ClassDeclarationEmplaceDecorators(_context, _receiver, _decorators); + return ; +} +KOALA_INTEROP_V3(ClassDeclarationEmplaceDecorators, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDeclarationClearDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ClassDeclarationClearDecorators(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ClassDeclarationClearDecorators, KNativePointer, KNativePointer); + +void impl_ClassDeclarationSetValueDecorators(KNativePointer context, KNativePointer receiver, KNativePointer decorators, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _decorators = reinterpret_cast(decorators); + const auto _index = static_cast(index); + GetImpl()->ClassDeclarationSetValueDecorators(_context, _receiver, _decorators, _index); + return ; +} +KOALA_INTEROP_V4(ClassDeclarationSetValueDecorators, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ClassDeclarationDecorators(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDeclarationDecorators(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDeclarationDecorators, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ClassDeclarationDecoratorsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ClassDeclarationDecoratorsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ClassDeclarationDecoratorsForUpdate, KNativePointer, KNativePointer, KNativePointer); + +void impl_ClassDeclarationSetDefinition(KNativePointer context, KNativePointer receiver, KNativePointer def) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _def = reinterpret_cast(def); + GetImpl()->ClassDeclarationSetDefinition(_context, _receiver, _def); + return ; +} +KOALA_INTEROP_V3(ClassDeclarationSetDefinition, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateTSIndexedAccessType(KNativePointer context, KNativePointer objectType, KNativePointer indexType) { const auto _context = reinterpret_cast(context); @@ -11991,6 +13493,46 @@ KNativePointer impl_ArrowFunctionExpressionCreateTypeAnnotation(KNativePointer c } KOALA_INTEROP_2(ArrowFunctionExpressionCreateTypeAnnotation, KNativePointer, KNativePointer, KNativePointer); +void impl_ArrowFunctionExpressionEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->ArrowFunctionExpressionEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(ArrowFunctionExpressionEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_ArrowFunctionExpressionClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ArrowFunctionExpressionClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ArrowFunctionExpressionClearAnnotations, KNativePointer, KNativePointer); + +void impl_ArrowFunctionExpressionSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->ArrowFunctionExpressionSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(ArrowFunctionExpressionSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_ArrowFunctionExpressionAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->ArrowFunctionExpressionAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(ArrowFunctionExpressionAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ArrowFunctionExpressionAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -12011,17 +13553,38 @@ KNativePointer impl_ArrowFunctionExpressionAnnotationsConst(KNativePointer conte } KOALA_INTEROP_2(ArrowFunctionExpressionAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_ArrowFunctionExpressionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_ArrowFunctionExpressionSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->ArrowFunctionExpressionSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ArrowFunctionExpressionSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(ArrowFunctionExpressionSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_ArrowFunctionExpressionSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->ArrowFunctionExpressionSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(ArrowFunctionExpressionSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_ArrowFunctionExpressionAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->ArrowFunctionExpressionAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(ArrowFunctionExpressionAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateOmittedExpression(KNativePointer context) { const auto _context = reinterpret_cast(context); @@ -12373,6 +13936,15 @@ KNativePointer impl_ETSTypeReferencePartTypeParams(KNativePointer context, KNati } KOALA_INTEROP_2(ETSTypeReferencePartTypeParams, KNativePointer, KNativePointer, KNativePointer); +KNativePointer impl_ETSTypeReferencePartTypeParamsConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ETSTypeReferencePartTypeParamsConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(ETSTypeReferencePartTypeParamsConst, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ETSTypeReferencePartNameConst(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -12446,6 +14018,46 @@ KInt impl_ETSPrimitiveTypeGetPrimitiveTypeConst(KNativePointer context, KNativeP } KOALA_INTEROP_2(ETSPrimitiveTypeGetPrimitiveTypeConst, KInt, KNativePointer, KNativePointer); +void impl_TypeNodeEmplaceAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + GetImpl()->TypeNodeEmplaceAnnotations(_context, _receiver, _source); + return ; +} +KOALA_INTEROP_V3(TypeNodeEmplaceAnnotations, KNativePointer, KNativePointer, KNativePointer); + +void impl_TypeNodeClearAnnotations(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->TypeNodeClearAnnotations(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(TypeNodeClearAnnotations, KNativePointer, KNativePointer); + +void impl_TypeNodeSetValueAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer source, KUInt index) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _source = reinterpret_cast(source); + const auto _index = static_cast(index); + GetImpl()->TypeNodeSetValueAnnotations(_context, _receiver, _source, _index); + return ; +} +KOALA_INTEROP_V4(TypeNodeSetValueAnnotations, KNativePointer, KNativePointer, KNativePointer, KUInt); + +KNativePointer impl_TypeNodeAnnotationsForUpdate(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + std::size_t length; + auto result = GetImpl()->TypeNodeAnnotationsForUpdate(_context, _receiver, &length); + return StageArena::cloneVector(result, length); +} +KOALA_INTEROP_2(TypeNodeAnnotationsForUpdate, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_TypeNodeAnnotations(KNativePointer context, KNativePointer receiver) { const auto _context = reinterpret_cast(context); @@ -12466,17 +14078,38 @@ KNativePointer impl_TypeNodeAnnotationsConst(KNativePointer context, KNativePoin } KOALA_INTEROP_2(TypeNodeAnnotationsConst, KNativePointer, KNativePointer, KNativePointer); -void impl_TypeNodeSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotations, KUInt annotationsSequenceLength) +void impl_TypeNodeSetAnnotations(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) { const auto _context = reinterpret_cast(context); const auto _receiver = reinterpret_cast(receiver); - const auto _annotations = reinterpret_cast(annotations); - const auto _annotationsSequenceLength = static_cast(annotationsSequenceLength); - GetImpl()->TypeNodeSetAnnotations(_context, _receiver, _annotations, _annotationsSequenceLength); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TypeNodeSetAnnotations(_context, _receiver, _annotationList, _annotationListSequenceLength); return ; } KOALA_INTEROP_V4(TypeNodeSetAnnotations, KNativePointer, KNativePointer, KNativePointerArray, KUInt); +void impl_TypeNodeSetAnnotations1(KNativePointer context, KNativePointer receiver, KNativePointerArray annotationList, KUInt annotationListSequenceLength) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotationList = reinterpret_cast(annotationList); + const auto _annotationListSequenceLength = static_cast(annotationListSequenceLength); + GetImpl()->TypeNodeSetAnnotations1(_context, _receiver, _annotationList, _annotationListSequenceLength); + return ; +} +KOALA_INTEROP_V4(TypeNodeSetAnnotations1, KNativePointer, KNativePointer, KNativePointerArray, KUInt); + +void impl_TypeNodeAddAnnotations(KNativePointer context, KNativePointer receiver, KNativePointer annotations) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _annotations = reinterpret_cast(annotations); + GetImpl()->TypeNodeAddAnnotations(_context, _receiver, _annotations); + return ; +} +KOALA_INTEROP_V3(TypeNodeAddAnnotations, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_CreateNewExpression(KNativePointer context, KNativePointer callee, KNativePointerArray _arguments, KUInt _argumentsSequenceLength) { const auto _context = reinterpret_cast(context); @@ -12676,3 +14309,470 @@ KNativePointer impl_CreateFunctionDecl(KNativePointer context, KStringPtr& name, } KOALA_INTEROP_3(CreateFunctionDecl, KNativePointer, KNativePointer, KStringPtr, KNativePointer); +void impl_ProgramSetKind(KNativePointer context, KNativePointer receiver, KInt kind) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _kind = static_cast(kind); + GetImpl()->ProgramSetKind(_context, _receiver, _kind); + return ; +} +KOALA_INTEROP_V3(ProgramSetKind, KNativePointer, KNativePointer, KInt); + +void impl_ProgramPushVarBinder(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ProgramPushVarBinder(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ProgramPushVarBinder, KNativePointer, KNativePointer); + +void impl_ProgramPushChecker(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ProgramPushChecker(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ProgramPushChecker, KNativePointer, KNativePointer); + +KInt impl_ProgramKindConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramKindConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramKindConst, KInt, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramSourceCodeConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramSourceCodeConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramSourceCodeConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramSourceFilePathConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramSourceFilePathConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramSourceFilePathConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramSourceFileFolderConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramSourceFileFolderConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramSourceFileFolderConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramFileNameConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramFileNameConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramFileNameConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramFileNameWithExtensionConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramFileNameWithExtensionConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramFileNameWithExtensionConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramAbsoluteNameConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramAbsoluteNameConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramAbsoluteNameConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramResolvedFilePathConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramResolvedFilePathConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramResolvedFilePathConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramRelativeFilePathConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramRelativeFilePathConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramRelativeFilePathConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramSetRelativeFilePath(KNativePointer context, KNativePointer receiver, KStringPtr& relPath) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _relPath = getStringCopy(relPath); + GetImpl()->ProgramSetRelativeFilePath(_context, _receiver, _relPath); + return ; +} +KOALA_INTEROP_V3(ProgramSetRelativeFilePath, KNativePointer, KNativePointer, KStringPtr); + +KNativePointer impl_ProgramAst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramAst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramAst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramAstConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramAstConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(ProgramAstConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramSetAst(KNativePointer context, KNativePointer receiver, KNativePointer ast) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _ast = reinterpret_cast(ast); + GetImpl()->ProgramSetAst(_context, _receiver, _ast); + return ; +} +KOALA_INTEROP_V3(ProgramSetAst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramGlobalClass(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramGlobalClass(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramGlobalClass, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramGlobalClassConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramGlobalClassConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(ProgramGlobalClassConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramSetGlobalClass(KNativePointer context, KNativePointer receiver, KNativePointer globalClass) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _globalClass = reinterpret_cast(globalClass); + GetImpl()->ProgramSetGlobalClass(_context, _receiver, _globalClass); + return ; +} +KOALA_INTEROP_V3(ProgramSetGlobalClass, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramPackageStartConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramPackageStartConst(_context, _receiver); + return (void*)result; +} +KOALA_INTEROP_2(ProgramPackageStartConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramSetPackageStart(KNativePointer context, KNativePointer receiver, KNativePointer start) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _start = reinterpret_cast(start); + GetImpl()->ProgramSetPackageStart(_context, _receiver, _start); + return ; +} +KOALA_INTEROP_V3(ProgramSetPackageStart, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramSetSource(KNativePointer context, KNativePointer receiver, KStringPtr& sourceCode, KStringPtr& sourceFilePath, KStringPtr& sourceFileFolder) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _sourceCode = getStringCopy(sourceCode); + const auto _sourceFilePath = getStringCopy(sourceFilePath); + const auto _sourceFileFolder = getStringCopy(sourceFileFolder); + GetImpl()->ProgramSetSource(_context, _receiver, _sourceCode, _sourceFilePath, _sourceFileFolder); + return ; +} +KOALA_INTEROP_V5(ProgramSetSource, KNativePointer, KNativePointer, KStringPtr, KStringPtr, KStringPtr); + +void impl_ProgramSetPackageInfo(KNativePointer context, KNativePointer receiver, KStringPtr& name, KInt kind) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _name = getStringCopy(name); + const auto _kind = static_cast(kind); + GetImpl()->ProgramSetPackageInfo(_context, _receiver, _name, _kind); + return ; +} +KOALA_INTEROP_V4(ProgramSetPackageInfo, KNativePointer, KNativePointer, KStringPtr, KInt); + +KNativePointer impl_ProgramModuleNameConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramModuleNameConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramModuleNameConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramModulePrefixConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramModulePrefixConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramModulePrefixConst, KNativePointer, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsSeparateModuleConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsSeparateModuleConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsSeparateModuleConst, KBoolean, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsDeclarationModuleConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsDeclarationModuleConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsDeclarationModuleConst, KBoolean, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsPackageConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsPackageConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsPackageConst, KBoolean, KNativePointer, KNativePointer); + +void impl_ProgramSetFlag(KNativePointer context, KNativePointer receiver, KInt flag) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _flag = static_cast(flag); + GetImpl()->ProgramSetFlag(_context, _receiver, _flag); + return ; +} +KOALA_INTEROP_V3(ProgramSetFlag, KNativePointer, KNativePointer, KInt); + +KBoolean impl_ProgramGetFlagConst(KNativePointer context, KNativePointer receiver, KInt flag) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _flag = static_cast(flag); + auto result = GetImpl()->ProgramGetFlagConst(_context, _receiver, _flag); + return result; +} +KOALA_INTEROP_3(ProgramGetFlagConst, KBoolean, KNativePointer, KNativePointer, KInt); + +void impl_ProgramSetASTChecked(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ProgramSetASTChecked(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ProgramSetASTChecked, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsASTChecked(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsASTChecked(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsASTChecked, KBoolean, KNativePointer, KNativePointer); + +void impl_ProgramMarkASTAsLowered(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ProgramMarkASTAsLowered(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ProgramMarkASTAsLowered, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsASTLoweredConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsASTLoweredConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsASTLoweredConst, KBoolean, KNativePointer, KNativePointer); + +KBoolean impl_ProgramIsStdLibConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsStdLibConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsStdLibConst, KBoolean, KNativePointer, KNativePointer); + +KNativePointer impl_ProgramDumpConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramDumpConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ProgramDumpConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ProgramDumpSilentConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ProgramDumpSilentConst(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ProgramDumpSilentConst, KNativePointer, KNativePointer); + +void impl_ProgramAddDeclGenExportNode(KNativePointer context, KNativePointer receiver, KStringPtr& declGenExportStr, KNativePointer node) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _declGenExportStr = getStringCopy(declGenExportStr); + const auto _node = reinterpret_cast(node); + GetImpl()->ProgramAddDeclGenExportNode(_context, _receiver, _declGenExportStr, _node); + return ; +} +KOALA_INTEROP_V4(ProgramAddDeclGenExportNode, KNativePointer, KNativePointer, KStringPtr, KNativePointer); + +KBoolean impl_ProgramIsDiedConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ProgramIsDiedConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ProgramIsDiedConst, KBoolean, KNativePointer, KNativePointer); + +void impl_ProgramAddFileDependencies(KNativePointer context, KNativePointer receiver, KStringPtr& file, KStringPtr& depFile) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + const auto _file = getStringCopy(file); + const auto _depFile = getStringCopy(depFile); + GetImpl()->ProgramAddFileDependencies(_context, _receiver, _file, _depFile); + return ; +} +KOALA_INTEROP_V4(ProgramAddFileDependencies, KNativePointer, KNativePointer, KStringPtr, KStringPtr); + +KNativePointer impl_CreateArkTsConfig(KNativePointer context, KStringPtr& configPath, KNativePointer de) +{ + const auto _context = reinterpret_cast(context); + const auto _configPath = getStringCopy(configPath); + const auto _de = reinterpret_cast(de); + auto result = GetImpl()->CreateArkTsConfig(_context, _configPath, _de); + return result; +} +KOALA_INTEROP_3(CreateArkTsConfig, KNativePointer, KNativePointer, KStringPtr, KNativePointer); + +void impl_ArkTsConfigResolveAllDependenciesInArkTsConfig(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ArkTsConfigResolveAllDependenciesInArkTsConfig(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ArkTsConfigResolveAllDependenciesInArkTsConfig, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigConfigPathConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigConfigPathConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigConfigPathConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigPackageConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigPackageConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigPackageConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigBaseUrlConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigBaseUrlConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigBaseUrlConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigRootDirConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigRootDirConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigRootDirConst, KNativePointer, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigOutDirConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigOutDirConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigOutDirConst, KNativePointer, KNativePointer, KNativePointer); + +void impl_ArkTsConfigResetDependencies(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + GetImpl()->ArkTsConfigResetDependencies(_context, _receiver); + return ; +} +KOALA_INTEROP_V2(ArkTsConfigResetDependencies, KNativePointer, KNativePointer); + +KNativePointer impl_ArkTsConfigEntryConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigEntryConst(_context, _receiver); + return StageArena::strdup(result); +} +KOALA_INTEROP_2(ArkTsConfigEntryConst, KNativePointer, KNativePointer, KNativePointer); + +KBoolean impl_ArkTsConfigUseUrlConst(KNativePointer context, KNativePointer receiver) +{ + const auto _context = reinterpret_cast(context); + const auto _receiver = reinterpret_cast(receiver); + auto result = GetImpl()->ArkTsConfigUseUrlConst(_context, _receiver); + return result; +} +KOALA_INTEROP_2(ArkTsConfigUseUrlConst, KBoolean, KNativePointer, KNativePointer); + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/package.json index d5fab99c2507760bd3064573b5e0c0e00624dff1..207c451cc46631605dde23a75df2673c34076790 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/package.json @@ -1,10 +1,16 @@ { "name": "@koalaui/libarkts", - "version": "1.7.3+devel", + "version": "1.7.4+devel", "bin": "./lib/es2panda", - "types": "./build/index.d.ts", + "typesVersions": { + "*": { + "./compat/*": ["./build/wrapper-compat/index.d.ts"], + "*": ["./build/index.d.ts"] + } + }, "exports": { ".": "./lib/libarkts.js", + "./compat": "./lib/libarkts-compat.js", "./plugins/*": "./lib/plugins/*.js" }, "files": [ @@ -13,17 +19,17 @@ "./plugins/build/src/**/*" ], "config": { - "gen_version": "2.1.7", + "gen_version": "2.1.9-arktsgen-2", "panda_sdk_path": "../../incremental/tools/panda/node_modules/@panda/sdk", "ohos_panda_sdk_path": "../build/sdk", "panda_sdk_version": "next" }, "dependencies": { "@koalaui/ets-tsc": "4.9.5-r5", - "@koalaui/build-common": "1.7.3+devel", - "@koalaui/compat": "1.7.3+devel", - "@koalaui/common": "1.7.3+devel", - "@koalaui/interop": "1.7.3+devel", + "@koalaui/build-common": "1.7.4+devel", + "@koalaui/compat": "1.7.4+devel", + "@koalaui/common": "1.7.4+devel", + "@koalaui/interop": "1.7.4+devel", "node-addon-api": "8.0.0", "node-api-headers": "0.0.5", "commander": "10.0.1" @@ -40,10 +46,13 @@ "clean:plugins": "rimraf plugins/build", "compile:koala:interop": "npm run --prefix ../../interop compile", "compile:meson": "cd native && meson setup build && meson compile -C build", - "copy:.node": "mkdir -p ./build/native/build && cp ./native/build/es2panda.node ./build/native/build", + "crosscompile:meson": "cd native && CXX=clang++ meson setup -D cross_compile=true build && CXX=clang++ meson compile -C build", + "copy:.node": "mkdir -p ./build/native/build && cp ./native/build/es2panda_*.node ./build/native/build", "compile:native": "npm run compile:koala:interop && npm run compile:meson && npm run copy:.node", + "crosscompile:native": "npm run compile:koala:interop && npm run crosscompile:meson && npm run copy:.node", "compile:src": "npx ets-tsc -p ./tsconfig.json", "compile": "npm run compile:native && npm run compile:js", + "compile:release": "npm run crosscompile:native && npm run compile:js", "compile:js": "npm run compile:src && rollup -c rollup.lib.mjs && rollup -c rollup.es2panda.mjs", "compile:gn": "npm run compile:koala:interop && npm run compile:js", "compile:plugins": "npx rollup -c ./rollup.printer-plugin.mjs && npx rollup -c ./rollup.no-visitor-plugin.mjs ", @@ -51,19 +60,20 @@ "direct": "node ../fast-arktsc --config arktsconfig.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/abc/main.abc && ninja -f build/abc/build.ninja", "run": "npm run compile && npm run compile:plugins && npm run direct", "run:memo": "npm run compile && npm run compile:plugins && npm run compile --prefix ../memo-plugin && npm run memo", - "run:abc": "../../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools/bin/ark --load-runtimes=ets --boot-panda-files=../../incremental/tools/panda/node_modules/@panda/sdk/ets/etsstdlib.abc ./main.abc main.ETSGLOBAL::main", - "mocha": "PANDA_SDK_PATH=../../incremental/tools/panda/node_modules/@panda/sdk TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", - "mocha:ohos": "PANDA_SDK_PATH=../build/sdk TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", - "test": "npm run compile:native && npm run mocha", - "test:golden": "npm run compile:native && TEST_GOLDEN=1 npm run mocha", + "run:abc": "$npm_package_config_panda_sdk_path/linux_host_tools/bin/ark --load-runtimes=ets --boot-panda-files=$npm_package_config_panda_sdk_path/ets/etsstdlib.abc ./main.abc main.ETSGLOBAL::main", + "mocha": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", + "mocha:ohos": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", + "test:light": "npm run mocha", + "test": "npm run compile:native && npm run test:light", + "test:golden": "npm run compile:native && TEST_GOLDEN=1 npm run test:light", "compile:playground": "cd playground && meson setup build && meson compile -C build", "run:playground": "npm run compile:playground && ./playground/build/playground.out", "panda:sdk:clean": "cd ../../incremental/tools/panda && rimraf node_modules", - "panda:sdk:install": "cd ../../incremental/tools/panda && PANDA_SDK_VERSION=$npm_package_config_panda_sdk_version npm run panda:sdk:install", + "panda:sdk:install": "cd ../../incremental/tools/panda && echo \"Installing panda sdk $npm_package_config_panda_sdk_version\" && PANDA_SDK_VERSION=$npm_package_config_panda_sdk_version npm run panda:sdk:install", "panda:sdk:reinstall": "npm run panda:sdk:clean && npm run panda:sdk:install", "regenerate:current": "npm run compile -C ../../../arktscgen && node ../../../arktscgen --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize --debug", "regenerate": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize", - "regenerate:ohos": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path $npm_package_config_ohos_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize", + "regenerate:ohos": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize", "reinstall:regenerate": "npm run panda:sdk:reinstall && npm run regenerate" } -} \ No newline at end of file +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/plugins/src/printer-plugin.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/plugins/src/printer-plugin.ts index b58fb2860b41a54904aee86fd39420c57c1eea9e..efb97c6c8a668f40808d8c2b7d5ebc9b4032ba6b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/plugins/src/printer-plugin.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/plugins/src/printer-plugin.ts @@ -25,6 +25,6 @@ export default function printerTransformer( userPluginOptions?: TransformerOptions ) { return (program: arkts.Program) => { - return new PrintVisitor().visitor(program.astNode) + return new PrintVisitor().visitor(program.ast) } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/rollup.lib.mjs b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/rollup.lib.mjs index db773f233bf78ef79fa50b033f6a9927bf4a2d06..e0d28d22bfeb37122cad1e64e91559e23cf7035e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/rollup.lib.mjs +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/rollup.lib.mjs @@ -17,34 +17,37 @@ import typescript from "@rollup/plugin-typescript"; import commonjs from '@rollup/plugin-commonjs' /** @type {import("rollup").RollupOptions} */ -export default { - input: "./src/index.ts", - output: { - file: "./lib/libarkts.js", - format: "commonjs", +export default [ + makeConfig("./src/index.ts", "libarkts.js"), + makeConfig("./src/wrapper-compat/index.ts", "libarkts-compat.js"), +] + +function makeConfig(input, output) { + return { + input: input, + output: { + file: "./lib/" + output, + format: "commonjs", + plugins: [ + // terser() + ], + banner: APACHE_LICENSE_HEADER(), + }, plugins: [ - // terser() + commonjs(), + typescript({ + outputToFilesystem: false, + module: "esnext", + sourceMap: false, + declarationMap: false, + declaration: false, + composite: false, + }), + nodeResolve({ + extensions: [".js", ".mjs", ".cjs", ".ts", ".cts", ".mts"] + }) ], - banner: [ - "#!/usr/bin/env node", - APACHE_LICENSE_HEADER() - ].join("\n"), - }, - external: ["commander", "typescript", "@koalaui/libarkts"], - plugins: [ - commonjs(), - typescript({ - outputToFilesystem: false, - module: "esnext", - sourceMap: false, - declarationMap: false, - declaration: false, - composite: false, - }), - nodeResolve({ - extensions: [".js", ".mjs", ".cjs", ".ts", ".cts", ".mts"] - }) - ], + } } function APACHE_LICENSE_HEADER() { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src-host/es2panda.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src-host/es2panda.ts index 76c4c29364e85dd0fc7ebf7c53b7033b49d13388..bbbef0a8e3ce5ea78f418fb3be673ce0f3d994f2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src-host/es2panda.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src-host/es2panda.ts @@ -15,16 +15,27 @@ import * as fs from "node:fs" import * as path from "node:path" -import { checkSDK, arktsGlobal as global, ImportStorage } from "@koalaui/libarkts" -import { CheckedBackFilter, ChainExpressionFilter, PluginContext, PluginContextImpl } from "@koalaui/libarkts" +import { checkSDK, arktsGlobal as global, metaDatabase, runTransformer, runTransformerOnProgram, CompilationOptions, findStdlib } from "@koalaui/libarkts" +import { CheckedBackFilter, PluginContextImpl } from "@koalaui/libarkts" import { Command } from "commander" -import { filterSource, isNumber, throwError, withWarning } from "@koalaui/libarkts" +import { filterSource, isNumber, throwError } from "@koalaui/libarkts" import { Es2pandaContextState } from "@koalaui/libarkts" -import { AstNode, Config, Context, createETSModuleFromContext, inferVoidReturnType, listPrograms, proceedToState, ProgramTransformer, rebindSubtree, recheckSubtree, setBaseOverloads } from "@koalaui/libarkts" +import { Options, AstNode, GlobalContext, Config, Context, createETSModuleFromContext, proceedToState, ProgramTransformer, rebindSubtree, recheckSubtree, dumpProgramInfo, dumpArkTsConfigInfo, collectDependencies } from "@koalaui/libarkts" +import { ProgramInfo, compileWithCache } from "@koalaui/libarkts" + +interface CommandLineOptions { + files: string[] + configPath: string + outputs: string[] + dumpAst: boolean + restartStages: boolean + stage: number + useCache: boolean +} -function parseCommandLineArgs() { +function parseCommandLineArgs(): CommandLineOptions { const commander = new Command() - .argument('[file]', 'Path to file to be compiled') + .argument('[file]', 'Path to files to be compiled') .option('--file, ', 'Path to file to be compiled (deprecated)') .option('--arktsconfig, ', 'Path to arkts configuration file') .option('--ets-module', 'Do nothing, legacy compatibility') @@ -32,20 +43,24 @@ function parseCommandLineArgs() { .option('--dump-plugin-ast', 'Dump ast before and after each plugin') .option('--restart-stages', 'Restart the compiler to proceed to next stage') .option('--stage ', 'Stage of multistage compilation (from 0 to number of plugins in arktsconfig + 1)') + .option('--cache', 'Use AST chaches') .parse(process.argv) const cliOptions = commander.opts() const cliArgs = commander.args - const filePathArg = cliOptions.file ?? cliArgs[0] - if (!filePathArg) { + const fileArg = cliOptions.file ?? cliArgs[0] + if (!fileArg) { reportErrorAndExit(`Either --file option or file argument is required`) } - const filePath = path.resolve(filePathArg) + const files = fileArg.split(':').map((it: string) => path.resolve(it)) const configPath = path.resolve(cliOptions.arktsconfig) - const outputPath = path.resolve(cliOptions.output) - if (!fs.existsSync(filePath)) { - reportErrorAndExit(`File path doesn't exist: ${filePath}`) - } + const outputArg = cliOptions.output + const outputs = outputArg.split(':').map((it: string) => path.resolve(it)) + files.forEach((it: string) => { + if (!fs.existsSync(it)) { + reportErrorAndExit(`File path doesn't exist: ${it}`) + } + }) if (!fs.existsSync(configPath)) { reportErrorAndExit(`Arktsconfig path doesn't exist: ${configPath}`) } @@ -53,23 +68,24 @@ function parseCommandLineArgs() { const dumpAst = cliOptions.dumpPluginAst ?? false const restartStages = cliOptions.restartStages ?? false const stage = cliOptions.stage ?? 0 + const useCache = cliOptions.cache ?? false - return { filePath, configPath, outputPath, dumpAst, restartStages, stage } + return { files, configPath, outputs, dumpAst, restartStages, stage, useCache } } function insertPlugin( - source: string, transform: ProgramTransformer, state: Es2pandaContextState, - dumpAst: boolean, restart: boolean, - context: PluginContext, + pluginName: string, + dumpAst: boolean, + restart: boolean, + pluginContext: PluginContextImpl, updateWith?: (node: AstNode) => void ): AstNode { - proceedToState(state) const script = createETSModuleFromContext() // Or this: const script = createETSModuleFromSource(source) if (script === undefined) { - throw new Error(`Failed to receive AST from es2panda for ${source}`) + throw new Error(`Failed to receive AST from es2panda`) } if (dumpAst) { @@ -77,36 +93,20 @@ function insertPlugin( console.log(filterSource(script.dumpSrc())) } - const beforeTransform = Date.now() + global.profiler.curPlugin = pluginName + global.profiler.transformStarted() - if (!restart) { - const programs = listPrograms(global.compilerContext.program) - programs.forEach((program, index) => { - if (index == 0) { - return - } - const ast = program.program.astNode - const importStorage = new ImportStorage(program.program, state == Es2pandaContextState.ES2PANDA_STATE_PARSED) - stageSpecificPreFilters(ast, state) - - transform?.(program.program, { isMainProgram: false, name: program.name, stage: state }, context) - - stageSpecificPostFilters(ast, state) - setBaseOverloads(ast) - if (!restart) { - importStorage.update() - } - setAllParents(ast) - }) - } - - const importStorage = new ImportStorage(global.compilerContext.program, state == Es2pandaContextState.ES2PANDA_STATE_PARSED) - if (!restart) stageSpecificPreFilters(script, state) - - transform?.(global.compilerContext.program, { isMainProgram: true, name: `${global.packageName}.${global.filePathFromPackageRoot}`, stage: state }, context) + runTransformer(global.compilerContext.program, state, restart, transform, pluginContext, { + onProgramTransformStart(options: CompilationOptions) { + if (!options.isMainProgram) global.profiler.transformDepStarted() + }, + onProgramTransformEnd(options: CompilationOptions) { + if (!options.isMainProgram) global.profiler.transformDepEnded(state, pluginName) + } + }) - const afterTransform = Date.now() - global.profiler.transformTime += afterTransform - beforeTransform + global.profiler.transformEnded(state, pluginName) + global.profiler.curPlugin = "" if (dumpAst) { console.log(`AFTER ${stateName(state)}:`) @@ -117,33 +117,12 @@ function insertPlugin( } } - if (!restart) stageSpecificPostFilters(script, state) - setBaseOverloads(script) - if (!restart) { - importStorage.update() - } - setAllParents(script) - if (!restart) { - console.log("UPDATE...") updateWith?.(script) - console.log("DONE!") } return script } -function stageSpecificPreFilters(script: AstNode, state: Es2pandaContextState) { - if (state == Es2pandaContextState.ES2PANDA_STATE_CHECKED) { - inferVoidReturnType(script) - } -} - -function stageSpecificPostFilters(script: AstNode, state: Es2pandaContextState) { - if (state == Es2pandaContextState.ES2PANDA_STATE_CHECKED) { - new ChainExpressionFilter().visitor(script) - } -} - function restartCompiler(source: string, configPath: string, filePath: string, stdlib: string, outputPath: string, verbose: boolean = true) { if (verbose) { console.log(`restarting with config ${configPath}, file ${filePath}`) @@ -155,8 +134,8 @@ function restartCompiler(source: string, configPath: string, filePath: string, s filterTransform.visitor(module) .dumpSrc() ) - global.es2panda._DestroyContext(global.context) - global.es2panda._DestroyConfig(global.config) + //global.es2panda._DestroyContext(global.context) + //global.es2panda._DestroyConfig(global.config) global.filePath = filePath global.config = Config.create([ @@ -174,12 +153,8 @@ function restartCompiler(source: string, configPath: string, filePath: string, s global.compilerContext = Context.createFromString(srcText) } -const defaultPandaSdk = "../../../incremental/tools/panda/node_modules/@panda/sdk" function invokeWithPlugins( configPath: string, - packageName: string, - baseUrl: string, - outDir: string, filePath: string, outputPath: string, pluginsByState: Map, @@ -187,18 +162,13 @@ function invokeWithPlugins( restart: boolean, stage: number, pluginNames: string[], + pluginContext: PluginContextImpl ): void { - const source = fs.readFileSync(filePath).toString() - const sdk = process.env.PANDA_SDK_PATH ?? withWarning( - defaultPandaSdk, - `PANDA_SDK_PATH not set, assuming ${defaultPandaSdk}` - ) - const stdlib = `${sdk}/ets/stdlib` + const stdlib = findStdlib() + global.profiler.compilationStarted(filePath) global.filePath = filePath - global.packageName = packageName - global.filePathFromPackageRoot = path.relative(path.join(path.dirname(configPath), baseUrl), filePath) - global.config = Config.create([ + const compilerConfig = Config.create([ '_', '--arktsconfig', configPath, @@ -209,76 +179,116 @@ function invokeWithPlugins( stdlib, '--output', outputPath - ]).peer + ]) + global.config = compilerConfig.peer if (!global.configIsInitialized()) throw new Error(`Wrong config: path=${configPath} file=${filePath} stdlib=${stdlib} output=${outputPath}`) fs.mkdirSync(path.dirname(outputPath), {recursive: true}) - global.compilerContext = Context.createFromString(source) - - // console.log("PLUGINS: ", pluginsByState.size, pluginsByState) + const compilerContext = Context.createFromFile(filePath, configPath, stdlib, outputPath)! + global.compilerContext = compilerContext pluginNames.push(`_proceed_to_binary`) let pluginsApplied = 0 - const restartProcedure = () => { + let terminate = false + + const restartProcedure = (state: Es2pandaContextState) => { if (restart) { - const before = Date.now() const ext = path.extname(configPath) const newConfigPath = `${configPath.substring(0, configPath.length - pluginNames[pluginsApplied].length - ext.length)}${pluginNames[pluginsApplied + 1]}${ext}` - const newFilePath = path.resolve(outDir, pluginNames[pluginsApplied], global.filePathFromPackageRoot) + const newFilePath = path.resolve(global.arktsconfig!.outDir, pluginNames[pluginsApplied], path.relative(global.arktsconfig!.baseUrl, global.filePath)) + if (fs.existsSync(metaDatabase(filePath))) { + fs.copyFileSync(metaDatabase(filePath), metaDatabase(newFilePath)) + } if (pluginsApplied == stage) { - // uncomment if switch to dets generator - // restartCompiler(configPath, filePath, stdlib, outputPath, false) generateDeclFromCurrentContext(newFilePath) + terminate = true + return } pluginsApplied++ - restartCompiler(source, newConfigPath, newFilePath, stdlib, outputPath) + const before = Date.now() + restartCompiler(fs.readFileSync(filePath, 'utf-8'), newConfigPath, newFilePath, stdlib, outputPath) + const after = Date.now() configPath = newConfigPath filePath = newFilePath - const after = Date.now() - global.profiler.restartTime += after - before + const options = Options.createOptions(new Config(global.config)) + global.arktsconfig = options.getArkTsConfig() + proceedToState(state) + global.profiler.restarted(after - before) + } else { + pluginsApplied++ } } - const context = new PluginContextImpl() + proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED) + const options = Options.createOptions(new Config(global.config)) + global.arktsconfig = options.getArkTsConfig() + + console.log("COMPILATION STARTED") + dumpArkTsConfigInfo(global.arktsconfig) + dumpProgramInfo(compilerContext.program) + + global.profiler.curContextState = Es2pandaContextState.ES2PANDA_STATE_PARSED pluginsByState.get(Es2pandaContextState.ES2PANDA_STATE_PARSED)?.forEach(plugin => { - insertPlugin(source, plugin, Es2pandaContextState.ES2PANDA_STATE_PARSED, dumpAst, restart, context) - restartProcedure() + if (!terminate) { + insertPlugin(plugin, Es2pandaContextState.ES2PANDA_STATE_PARSED, pluginNames[pluginsApplied], dumpAst, restart, pluginContext) + restartProcedure(Es2pandaContextState.ES2PANDA_STATE_PARSED) + } }) + if (!terminate) { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_BOUND) + global.profiler.curContextState = Es2pandaContextState.ES2PANDA_STATE_BOUND + } + pluginsByState.get(Es2pandaContextState.ES2PANDA_STATE_BOUND)?.forEach(plugin => { - insertPlugin(source, plugin, Es2pandaContextState.ES2PANDA_STATE_BOUND, dumpAst, restart, context, rebindSubtree) - restartProcedure() + if (!terminate) { + insertPlugin(plugin, Es2pandaContextState.ES2PANDA_STATE_BOUND, pluginNames[pluginsApplied], dumpAst, restart, pluginContext, rebindSubtree) + restartProcedure(Es2pandaContextState.ES2PANDA_STATE_BOUND) + } }) + if (!terminate) { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_CHECKED) + global.profiler.curContextState = Es2pandaContextState.ES2PANDA_STATE_CHECKED + } + pluginsByState.get(Es2pandaContextState.ES2PANDA_STATE_CHECKED)?.forEach(plugin => { - insertPlugin(source, plugin, Es2pandaContextState.ES2PANDA_STATE_CHECKED, dumpAst, restart, context, recheckSubtree) - restartProcedure() + if (!terminate) { + insertPlugin(plugin, Es2pandaContextState.ES2PANDA_STATE_CHECKED, pluginNames[pluginsApplied], dumpAst, restart, pluginContext, recheckSubtree) + restartProcedure(Es2pandaContextState.ES2PANDA_STATE_CHECKED) + } }) - proceedToState(Es2pandaContextState.ES2PANDA_STATE_BIN_GENERATED) + + if (!terminate) { + global.profiler.curContextState = Es2pandaContextState.ES2PANDA_STATE_BIN_GENERATED + proceedToState(Es2pandaContextState.ES2PANDA_STATE_BIN_GENERATED) + } + + global.profiler.compilationEnded() + global.profiler.report() + global.profiler.reportToFile(true) + + compilerContext.destroy() + compilerConfig.destroy() } const exportsFromInitialFile: string[] = [] -function generateDeclFromCurrentContext(filePath: string): never { +function generateDeclFromCurrentContext(filePath: string) { proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED) console.log(`Emitting to ${filePath}`) - const filterTransform = new CheckedBackFilter() let out = [ filterSource( - filterTransform.visitor(global.compilerContext.program.astNode) - .dumpSrc() + new CheckedBackFilter() + .visitor(global.compilerContext!.program.ast) + .dumpSrc() ), ...exportsFromInitialFile ].join('\n') fs.mkdirSync(path.dirname(filePath), { recursive: true }) fs.writeFileSync(filePath, out) - process.exit(0) -} - -function setAllParents(ast: AstNode) { - global.es2panda._AstNodeUpdateAll(global.context, ast.peer) } function loadPlugin(configDir: string, jsonPlugin: any) { @@ -311,35 +321,59 @@ function readAndSortPlugins(configDir: string, plugins: any[]) { .filter(isNumber) .forEach(it => { const selected = selectPlugins(configDir, plugins, stateName(it).toLowerCase()) - if (selected) pluginsByState.set( - it, - selected - ) + if (selected) { + pluginsByState.set(it, selected) + } }) return pluginsByState } export function main() { - const before = Date.now() checkSDK() - const { filePath, configPath, outputPath, dumpAst, restartStages, stage } = parseCommandLineArgs() + const { files, configPath, outputs, dumpAst, restartStages, stage, useCache } = parseCommandLineArgs() + if (files.length != outputs.length) { + reportErrorAndExit("Different length of inputs and outputs") + } const arktsconfig = JSON.parse(fs.readFileSync(configPath).toString()) const configDir = path.dirname(configPath) const compilerOptions = arktsconfig.compilerOptions ?? throwError(`arktsconfig should specify compilerOptions`) - const packageName = compilerOptions.package ?? "" - const baseUrl = compilerOptions.baseUrl ?? "." - const outDir = path.resolve(path.dirname(configPath), compilerOptions.outDir ?? ".") const plugins = compilerOptions.plugins ?? [] const pluginNames = plugins.map((it: any) => `${it.name}-${it.stage}`) - + const pluginContext = new PluginContextImpl() const pluginsByState = readAndSortPlugins(configDir, plugins) - invokeWithPlugins(configPath, packageName, baseUrl, outDir, filePath, outputPath, pluginsByState, dumpAst, restartStages, stage, pluginNames) - - const after = Date.now() - global.profiler.totalTime = after - before - global.profiler.report() + if (useCache) { + const filesWithDependencies = collectDependencies(files, configPath) + const onlyDependencies = filesWithDependencies.filter(it => !files.includes(it)) + const compilationUnits: ProgramInfo[] = [] + files.forEach((it, index) => { + compilationUnits.push( + { + absoluteName: it, + output: outputs[index] + } + ) + }) + onlyDependencies.forEach(it => { + compilationUnits.push( + { + absoluteName: it, + output: undefined + } + ) + }) + compileWithCache( + configPath, + compilationUnits.reverse(), + pluginsByState.get(Es2pandaContextState.ES2PANDA_STATE_PARSED), + pluginsByState.get(Es2pandaContextState.ES2PANDA_STATE_CHECKED) + ) + } else { + for (var i = 0; i < files.length; i++) { + invokeWithPlugins(configPath, files[i], outputs[i], pluginsByState, dumpAst, restartStages, stage, pluginNames, pluginContext) + } + } } function reportErrorAndExit(message: string): never { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/Es2pandaNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/Es2pandaNativeModule.ts index db72a97fa38a8be71246ea60710472015aca2954..d64233b1ca19825f53537043cc77634c2eada07f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/Es2pandaNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/Es2pandaNativeModule.ts @@ -22,10 +22,12 @@ import { loadNativeModuleLibrary, KDouble, KUInt, + KStringArrayPtr, } from "@koalaui/interop" import { Es2pandaNativeModule as GeneratedEs2pandaNativeModule, KNativePointerArray } from "./generated/Es2pandaNativeModule" import * as path from "path" import * as fs from "fs" +import { Es2pandaPluginDiagnosticType } from "./generated/Es2pandaEnums" // TODO: this type should be in interop export type KPtrArray = BigUint64Array @@ -61,6 +63,24 @@ export class Es2pandaNativeModule { _CreateContextFromString(config: KPtr, source: String, filename: String): KPtr { throw new Error("Not implemented") } + _CreateContextFromFile(config: KPtr, filename: String): KPtr { + throw new Error("Not implemented") + } + _CreateCacheContextFromFile(config: KNativePointer, sourceFileName: String, globalContext: KNativePointer, isExternal: KBoolean): KNativePointer { + throw new Error("Not implemented"); + } + _InsertGlobalStructInfo(context: KNativePointer, str: String): void { + throw new Error("Not implemented"); + } + _HasGlobalStructInfo(context: KNativePointer, str: String): KBoolean { + throw new Error("Not implemented"); + } + _CreateGlobalContext(config: KNativePointer, externalFileList: KStringArrayPtr, fileNum: KUInt, lspUsage: KBoolean): KNativePointer { + throw new Error("Not implemented"); + } + _DestroyGlobalContext(context: KNativePointer): void { + throw new Error("Not implemented"); + } _DestroyContext(context: KPtr): void { throw new Error("Not implemented") } @@ -97,9 +117,15 @@ export class Es2pandaNativeModule { _DeclarationFromIdentifier(context: KPtr, identifier: KPtr): KPtr { throw new Error("Not implemented") } + _ProgramSourceFilePath(context: KNativePointer, instance: KNativePointer): KNativePointer { + throw new Error("Not implemented"); + } _ProgramExternalSources(context: KNativePointer, instance: KNativePointer): KNativePointer { throw new Error("Not implemented"); } + _ProgramDirectExternalSources(context: KNativePointer, instance: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } _ExternalSourceName(instance: KNativePointer): KNativePointer { throw new Error("Not implemented"); } @@ -127,12 +153,79 @@ export class Es2pandaNativeModule { _SourcePositionLine(context: KNativePointer, instance: KNativePointer): KInt { throw new Error("Not implemented"); } + _ConfigGetOptions(config: KNativePointer): KNativePointer { + throw new Error("Not implemented"); + } + _OptionsArkTsConfig(context: KNativePointer, options: KNativePointer): KNativePointer { + throw new Error("Not implemented"); + } + + // From koala-wrapper + _ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } + _IsMethodDefinition(node: KPtr): KBoolean { + throw new Error("Not implemented") + } + _SourceRangeStart(context: KNativePointer, range: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } + _SourceRangeEnd(context: KNativePointer, range: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } + _CreateSourceRange(context: KNativePointer, start: KNativePointer, end: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } + _IsArrayExpression(node: KPtr): KBoolean { + throw new Error("Not implemented") + } + _ETSParserGetGlobalProgramAbsName(context: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } + _CreateDiagnosticKind(context: KNativePointer, message: string, type: Es2pandaPluginDiagnosticType): KNativePointer { + throw new Error("Not implemented") + } + _CreateDiagnosticInfo(context: KNativePointer, kind: KNativePointer, args: string[], argc: number): KNativePointer { + throw new Error("Not implemented") + } + _CreateSuggestionInfo(context: KNativePointer, kind: KNativePointer, args: string[], + argc: number, substitutionCode: string): KNativePointer { + throw new Error("Not implemented") + } + _LogDiagnostic(context: KNativePointer, kind: KNativePointer, argv: string[], argc: number, pos: KNativePointer): void { + throw new Error("Not implemented") + } + _LogDiagnosticWithSuggestion(context: KNativePointer, diagnosticInfo: KNativePointer, + suggestionInfo?: KNativePointer, range?: KNativePointer): void { + throw new Error("Not implemented") + } + _SetUpSoPath(soPath: string): void { + throw new Error("Not implemented") + } + _MemInitialize(): void { + throw new Error("Not implemented") + } + _MemFinalize(): void { + throw new Error("Not implemented") + } + _ProgramCanSkipPhases(context: KNativePointer, program: KNativePointer): boolean { + throw new Error("Not implemented") + } + _GenerateTsDeclarationsFromContext(config: KPtr, outputDeclEts: String, outputEts: String, exportAll: KBoolean, isolated: KBoolean): KPtr { + throw new Error("Not implemented") + } + _GenerateStaticDeclarationsFromContext(config: KPtr, outputPath: String): KPtr { + throw new Error("Not implemented") + } + _AstNodeProgram(context: KNativePointer, instance: KNativePointer): KNativePointer { + throw new Error("Not implemented") + } } export function findNativeModule(): string { const candidates = [ - path.resolve(__dirname, "../native/build/es2panda.node"), - path.resolve(__dirname, "../build/native/build/es2panda.node"), + path.resolve(__dirname, "../native/build"), + path.resolve(__dirname, "../build/native/build"), ] let result = undefined candidates.forEach(path => { @@ -141,7 +234,8 @@ export function findNativeModule(): string { return } }) - if (result) return result + if (result) + return path.join(result, "es2panda") throw new Error("Cannot find native module") } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/AbstractVisitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/AbstractVisitor.ts index 684c098c7b8313de3f3a053bc4667bd5a0b78d8c..eb21588719f92c9cfbf9d66d4b9725dfc1542722 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/AbstractVisitor.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/AbstractVisitor.ts @@ -14,8 +14,8 @@ */ import { AstNode } from "./peers/AstNode" -import { Program } from "./peers/Program" import { visitEachChild } from "./visitor" +import { Program } from "../generated" export interface VisitorOptions { program?: Program diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CheckedBackFilter.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CheckedBackFilter.ts index 62792e5509f3916c6ddbd4802359411e0daa264a..fc23e8d269bcf8fb7e21695febc32f4bef91e8a4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CheckedBackFilter.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CheckedBackFilter.ts @@ -13,17 +13,44 @@ * limitations under the License. */ -import { AnnotationUsage, ClassDefinition, ClassElement, ClassProperty, Expression, TSEnumDeclaration, TSEnumMember, isArrowFunctionExpression, isCallExpression, isClassDeclaration, isClassDefinition, isClassProperty, isETSFunctionType, isETSNewClassInstanceExpression, isETSParameterExpression, isIdentifier, isScriptFunction, isTSTypeAliasDeclaration, isVariableDeclaration } from "src/generated"; +import { AnnotationUsage, ClassDefinition, ClassElement, Expression, isArrowFunctionExpression, isClassDefinition, isClassProperty, isETSFunctionType, isETSModule, isETSNewClassInstanceExpression, isScriptFunction, isTSEnumDeclaration, TSEnumDeclaration, TSEnumMember } from "src/generated"; import { AbstractVisitor } from "./AbstractVisitor"; import { AstNode } from "./peers/AstNode" import { Es2pandaModifierFlags } from "src/generated/Es2pandaEnums"; import { factory } from "src/generated/factory"; +import { arkts } from "src"; +import { TypeAliasDeclaration } from "@koalaui/ets-tsc"; function filterAnnotations(annotations: AnnotationUsage[]): AnnotationUsage[] { return annotations.filter(it => it.baseName?.name != "OptionalParametersAnnotation") } -export class CheckedBackFilter extends AbstractVisitor { +export abstract class ContextAwareVisitor extends AbstractVisitor { + private contextStack: ('global' | 'namespace')[] = ['global'] + protected get context() { + return this.contextStack.at(-1)! + } + private enter(node:AstNode): () => void { + if (isETSModule(node) && node.ident?.name !== 'ETSGLOBAL') { + this.contextStack.push('namespace') + return () => this.contextStack.pop() + } + if (isClassDefinition(node) && node.isNamespaceTransformed && node.ident?.name !== 'ETSGLOBAL') { + this.contextStack.push('namespace') + return () => this.contextStack.pop() + } + return () => {} + } + + visitEachChild(node: AstNode, options?: object): AstNode { + const leave = this.enter(node) + const r = super.visitEachChild(node, options) + leave() + return r + } +} + +export class CheckedBackFilter extends ContextAwareVisitor { transformInitializer(node: Expression|undefined): Expression|undefined { if (node == undefined) return undefined if (!isETSNewClassInstanceExpression(node)) return node @@ -37,23 +64,53 @@ export class CheckedBackFilter extends AbstractVisitor { if (!isClassProperty(member)) return undefined if (isClassProperty(member) && member.id?.name.startsWith("#")) return undefined return factory.createTSEnumMember( - member.key, + member.key, this.transformInitializer(member.value), false ) }).filter(it => it != undefined) as TSEnumMember[], false, false, - !!(node.modifierFlags & Es2pandaModifierFlags.MODIFIER_FLAGS_DECLARE) + !!(node.modifierFlags & Es2pandaModifierFlags.MODIFIER_FLAGS_DECLARE) && this.context !== 'namespace' + ) + } + transformScopedClass(node:ClassDefinition): ClassDefinition { + return ClassDefinition.createClassDefinition( + node.ident, + node.typeParams, + node.superTypeParams, + node.implements, + node.ctor, + node.super, + node.body, + node.modifiers, + this.context === 'namespace' + ? node.modifierFlags & (~Es2pandaModifierFlags.MODIFIER_FLAGS_DECLARE) + : node.modifierFlags + ) + } + transformScopedEnum(node:TSEnumDeclaration): TSEnumDeclaration { + return TSEnumDeclaration.createTSEnumDeclaration( + node.key, + node.members, + node.isConst, + false, + !!(node.modifierFlags & Es2pandaModifierFlags.MODIFIER_FLAGS_DECLARE) && this.context !== 'namespace' ) } visitor(beforeChildren: AstNode): AstNode { const node = this.visitEachChild(beforeChildren) + if (isTSEnumDeclaration(node)) { + return this.transformScopedEnum(node) + } if (isClassDefinition(node)) { if (node.isEnumTransformed) { return this.transformEnum(node) } else { - return node.setAnnotations(filterAnnotations([...node.annotations])) + const transformed = this.context === 'namespace' + ? this.transformScopedClass(node) + : node + return transformed.setAnnotations(filterAnnotations([...node.annotations])) } } if (isClassProperty(node)) { @@ -68,7 +125,7 @@ export class CheckedBackFilter extends AbstractVisitor { if (isScriptFunction(node)) { return node.setAnnotations(filterAnnotations([...node.annotations])) } - + return node } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CompileWithCache.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CompileWithCache.ts new file mode 100644 index 0000000000000000000000000000000000000000..22f39d284cbfbefd285a33b4b18323b053ebf8bc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/CompileWithCache.ts @@ -0,0 +1,187 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Config } from "./peers/Config" +import { CompilationOptions, PluginContextImpl, ProgramTransformer } from "./plugins" +import { findStdlib, proceedToState, recheckContext } from "./utilities/public" +import { global } from "./static/global" +import { passString, passStringArray } from "./utilities/private" +import { Context } from "./peers/Context" +import { Es2pandaContextState } from "../generated/Es2pandaEnums" +import { Program } from "../generated" +import { runTransformerOnProgram } from "../plugin-utils" +import { ProgramProvider } from "./ProgramProvider" + +export interface ProgramInfo { + /** + * Input to compile (absolute file path) + */ + absoluteName: string + /** + * Location of output (undefined for external sources) + */ + output: string | undefined +} + +export function getProgramsForPluginApplication( + programs: ProgramInfo[], +) { + const programsForCodeGeneration = programs + .filter(it => it.output != undefined) + .map(it => it.absoluteName) + // Generally, it would be ok to return just the list above, + // but for experimental purpose let's filter programs that + // are mentioned as both codegeneration and caching + const programsForCaching = new Set( + programs + .filter(it => it.output == undefined) + .map(it => it.absoluteName) + ) + return programsForCodeGeneration.filter(it => !programsForCaching.has(it)) +} + +export function compileWithCache( + configPath: string, + orderedPrograms: ProgramInfo[], + parsedPlugins: ProgramTransformer[] | undefined, + checkedPlugins: ProgramTransformer[] | undefined, +) { + if (orderedPrograms.length == 0) { + console.log("No files to compile") + return + } + const globalConfig = Config.create( + [ + '_', '--arktsconfig', configPath, '--extension', 'ets', '--stdlib', findStdlib(), + orderedPrograms[0].absoluteName // Putting some file here to avoid "Fatal error: Unresolved module name" + ] + ) + console.log(orderedPrograms) + const globalContext = global.es2panda._CreateGlobalContext( + globalConfig.peer, + passStringArray(orderedPrograms.map(it => it.absoluteName)), + orderedPrograms.length, + false + ) + + const programsForPluginApplication = getProgramsForPluginApplication( + orderedPrograms + ) + + orderedPrograms.forEach((it) => { + console.log(">>>", "considering", it.absoluteName) + const args = ['_', '--arktsconfig', configPath, '--extension', 'ets', '--stdlib', findStdlib()] + if (it.output) { + args.push('--output', it.output, it.absoluteName) + } + const config = Config.create( + args + ) + const isExternalProgram = (it.output == undefined) + const context = global.es2panda._CreateCacheContextFromFile( + config.peer, + passString(it.absoluteName), + globalContext, + isExternalProgram, + ) + + global.config = config.peer + global.compilerContext = new Context(context) + + function applyPlugins(plugins: ProgramTransformer[] | undefined, state: Es2pandaContextState) { + plugins?.forEach(plugin => { + const program = new Program(global.es2panda._ContextProgram(context)) + const provider = new ProgramProvider(program) + let currentProgram = provider.next() + let isFirstProgram = true + while (currentProgram) { + if (programsForPluginApplication.includes(currentProgram.absoluteName) || currentProgram.absoluteName == it.absoluteName) { + const options: CompilationOptions = { + isMainProgram: isFirstProgram, + stage: state, + restart: false, + } + runTransformerOnProgram( + currentProgram, + options, + plugin, + new PluginContextImpl(), + ) + } + currentProgram = provider.next() + isFirstProgram = false + } + if (state == Es2pandaContextState.ES2PANDA_STATE_CHECKED) { + recheckContext(context) + } + }) + } + + function proceedToParsed() { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED) + } + + function applyParsedPlugins() { + applyPlugins(parsedPlugins, Es2pandaContextState.ES2PANDA_STATE_PARSED) + } + + function proceedToChecked() { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_CHECKED) + } + + function applyCheckedPlugins() { + applyPlugins(checkedPlugins, Es2pandaContextState.ES2PANDA_STATE_CHECKED) + } + + function proceedToFinalState() { + if (isExternalProgram) { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_LOWERED) + } else { + proceedToState(Es2pandaContextState.ES2PANDA_STATE_BIN_GENERATED) + } + } + + function cleanup() { + global.es2panda._DestroyContext( + context + ) + global.es2panda._DestroyConfig( + config.peer + ) + } + + const operations = [ + proceedToParsed, + applyParsedPlugins, + proceedToChecked, + applyCheckedPlugins, + proceedToFinalState, + cleanup, + ] + + operations.forEach(operation => { + console.log('>>>', operation.name) + operation() + console.log('>>>', operation.name, 'OK') + }) + }) + + global.es2panda._DestroyGlobalContext( + globalContext + ) + global.es2panda._DestroyConfig( + globalConfig.peer + ) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ImportStorage.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ImportStorage.ts index 9655c138c3e725932d8d971bb1861523791c1bca..50f7d3485c46d2371e7b76b7739080cc4c5de052 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ImportStorage.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ImportStorage.ts @@ -14,8 +14,7 @@ */ import { KNativePointer } from "@koalaui/interop" -import { isETSImportDeclaration, Statement } from "../generated" -import { Program } from "./peers/Program" +import { ETSModule, ImportDeclaration, isETSImportDeclaration, Program, Statement } from "../generated" import { updateETSModuleByStatements } from "./utilities/public" import { passNode, passNodeArray, unpackNonNullableNode } from "./utilities/private" import { global } from "./static/global" @@ -27,7 +26,7 @@ export class ImportStorage { private importSources: Set = new Set() constructor(private program: Program, private isParserStage: boolean) { - for (const statement of program.astNode.statements) { + for (const statement of program.ast.statements) { if (isETSImportDeclaration(statement)) { this.imports.add(statement.peer) if (!isParserStage) { @@ -40,7 +39,7 @@ export class ImportStorage { update() { // Save current statements - const statements = this.program.astNode.statements + const statements = this.program.ast.statements // Update parser information const newStatements: Statement[] = [] @@ -51,7 +50,7 @@ export class ImportStorage { console.warn(statement.dumpSrc()) } - const importDeclaration = unpackNonNullableNode( + const importDeclaration = unpackNonNullableNode( // Note: this call is important, we cannot just pass "statement" to "InsertETSImportDeclarationAndParse" global.es2panda._ETSParserBuildImportDeclaration( global.context, @@ -72,7 +71,7 @@ export class ImportStorage { // Drop import statements generated by compiler in the beginning of the ETSModule updateETSModuleByStatements( - this.program.astNode, + this.program.ast as ETSModule, newStatements, ) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ProgramProvider.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ProgramProvider.ts new file mode 100644 index 0000000000000000000000000000000000000000..b0a2a28db409ba225cc99dafd1a8fbb564527f33 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/ProgramProvider.ts @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KNativePointer } from "@koalaui/interop" +import { defaultFilter, listPrograms } from "./plugins" +import { Program } from "../generated" + +export class ProgramProvider { + // TODO: migrate to wrappers instead of pointers + seenPrograms: Set = new Set() + queue: Program[] = [] + + constructor(private mainProgram: Program, private readonly filter: (name: string) => boolean = defaultFilter) { + this.seenPrograms.add(mainProgram.peer) + this.queue = [mainProgram] + } + + updateQueue() { + const listed = listPrograms(this.mainProgram, this.filter) + for (const program of listed) { + if (!this.seenPrograms.has(program.peer)) { + this.seenPrograms.add(program.peer) + this.queue.push(program) + } + } + } + + next(): Program | undefined { + if (this.queue.length == 0) { + this.updateQueue() + if (this.queue.length == 0) { + // console.log("PROGRAMS:", this.seenPrograms.size) + return undefined + } + } + return this.queue.shift() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/SetBaseOverloads.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/SetBaseOverloads.ts index 0164d8cab5ac800719c60f06db06cfdd64d13eae..0e931dc319b3be23c1473970b40cf2bb1acc6cd1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/SetBaseOverloads.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/SetBaseOverloads.ts @@ -14,38 +14,31 @@ */ import { factory } from "./factory/nodeFactory" -import { ETSModule, isMethodDefinition, MethodDefinition } from "../generated" +import { isMethodDefinition } from "../generated" import { AbstractVisitor } from "./AbstractVisitor" import { AstNode } from "./peers/AstNode" export class SetBaseOverloads extends AbstractVisitor { - visitor(node: MethodDefinition, baseOverloadMethod?: MethodDefinition): MethodDefinition - visitor(node: AstNode, baseOverloadMethod?: MethodDefinition): AstNode - visitor(node: AstNode, baseOverloadMethod?: MethodDefinition): AstNode { + visitor(node: AstNode): AstNode { if (isMethodDefinition(node)) { - const result = factory.updateMethodDefinition( + const baseOverloadMethod = node + return factory.updateMethodDefinition( node, node.kind, node.key, node.value, node.modifierFlags, node.isComputed, - node.overloads.map((it) => this.visitor(it, node)), + node.overloads.map((it) => { + it.setBaseOverloadMethod(baseOverloadMethod) + return it + }) ) - if (baseOverloadMethod) { - result.setBaseOverloadMethod(baseOverloadMethod) - } - return result } return this.visitEachChild(node) } - - static instance?: SetBaseOverloads } -export function setBaseOverloads(node: ETSModule) { - if (!SetBaseOverloads.instance) { - SetBaseOverloads.instance = new SetBaseOverloads() - } - SetBaseOverloads.instance.visitor(node) +export function setBaseOverloads(node: AstNode) { + new SetBaseOverloads().visitor(node) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/class-by-peer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/class-by-peer.ts index 3d834489da7286da06cb99a0357eda7c59c50bc8..e9ef34ea67538da4d2e5bf34e52e6bc871f8b025 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/class-by-peer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/class-by-peer.ts @@ -18,8 +18,6 @@ import { throwError } from "../utils" import { global } from "./static/global" import { KNativePointer, nullptr } from "@koalaui/interop" import { AstNode } from "./peers/AstNode" -import { factory } from "@koalaui/ets-tsc" -import { unpackString } from "./utilities/private" export const nodeByType = new Map AstNode>([]) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts index 408b66284bcb0c1e90c22f98f7b228a3a016af96..9a7afef53ebbcd3febda4f5cd0ef9cdad437bf3c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts @@ -15,17 +15,15 @@ import { ClassDefinition, - ClassProperty, + ETSImportDeclaration, ETSStructDeclaration, + ETSTuple, ETSTypeReferencePart, MemberExpression, + ObjectExpression, TryStatement, - TSInterfaceDeclaration, TSTypeParameter, VariableDeclarator, - ObjectExpression, - ETSTuple, - ETSImportDeclaration, } from "../../generated" import { factory as generatedFactory } from "../../generated/factory" import { createScriptFunction, updateScriptFunction } from "../node-utilities/ScriptFunction" @@ -52,6 +50,7 @@ import { updateETSTuple } from "../node-utilities/ETSTuple" import { createArrayExpression, updateArrayExpression } from "../node-utilities/ArrayExpression" import { createTSTypeAliasDeclaration, updateTSTypeAliasDeclaration } from "../node-utilities/TSTypeAliasDeclaration" import { createClassDeclaration, updateClassDeclaration } from "../node-utilities/ClassDeclaration" +import { createBlockStatement, updateBlockStatement } from "../node-utilities/BlockStatement" export const factory = { ...generatedFactory, @@ -127,4 +126,7 @@ export const factory = { createTSTypeAliasDeclaration, updateTSTypeAliasDeclaration, + + createBlockStatement, + updateBlockStatement, } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/index.ts index 2cbeb09bafdde149da1a9b2573243dcebca9e9c9..2f968ab726c1a8fbe172e8906ceef5d13d1cc740 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/index.ts @@ -27,10 +27,16 @@ export * from "./SetBaseOverloads" export * from "./plugins" export * from "./ImportStorage" export * from "./InferVoidReturnType" +export * from "./ProgramProvider" +export * from "./CompileWithCache" export * from "./peers/AstNode" export * from "./peers/Config" export * from "./peers/Context" -export * from "./peers/Program" +export * from "./peers/ExternalSource" +export * from "./peers/Options" +export * from "./node-utilities/ArkTsConfig" +export * from "./node-utilities/Program" export * from "./peers/ImportPathManager" export { global as arktsGlobal } from "./static/global" +export * from "./wrapper-compat" \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArkTsConfig.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArkTsConfig.ts new file mode 100644 index 0000000000000000000000000000000000000000..062755f6dd88eed9e65b3daab13d32fa95004401 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArkTsConfig.ts @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArkTsConfig } from "../../generated" + +export function dumpArkTsConfigInfo(arkTsConfig: ArkTsConfig) { + console.log(`ArkTsConfig info:`) + console.log(`\tBaseUrl: ${arkTsConfig.baseUrl}`) + console.log(`\tConfigPath: ${arkTsConfig.configPath}`) + console.log(`\tEntry: ${arkTsConfig.entry}`) + console.log(`\tOutDir: ${arkTsConfig.outDir}`) + console.log(`\tPackage: ${arkTsConfig.package}`) + console.log(`\tRootDir: ${arkTsConfig.rootDir}`) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArrayExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArrayExpression.ts index 5ea0798c36467d4aee0c500899896b97daa00dcb..f4ce7df2a7756031f15e849693eed6acb31754e9 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArrayExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/ArrayExpression.ts @@ -16,7 +16,7 @@ import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums" import { ArrayExpression, Expression } from "../../generated" import { isSameNativeObject } from "../peers/ArktsObject" -import { updateNodeByNode } from "../../reexport-for-generated" +import { updateNodeByNode } from "../utilities/private" export function createArrayExpression( elements: readonly Expression[] diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/BlockStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/BlockStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..0f70accb740a34543d84a0c7e905296232d37e86 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/BlockStatement.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BlockStatement, Statement } from "../../generated" +import { isSameNativeObject } from "../peers/ArktsObject" +import { updateNodeByNode } from "../utilities/private" + +export function createBlockStatement(statements: readonly Statement[]): BlockStatement { + return BlockStatement.createBlockStatement(statements) +} + +export function updateBlockStatement(original: BlockStatement, statements: readonly Statement[]): BlockStatement { + if (isSameNativeObject(statements, original.statements)) { + return original + } + return updateNodeByNode(BlockStatement.createBlockStatement(statements), original) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/Program.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/Program.ts new file mode 100644 index 0000000000000000000000000000000000000000..7596032ab02e32d263a0e0334f4d1054ed3b80d1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/node-utilities/Program.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ExternalSource } from "../peers/ExternalSource" +import { acceptNativeObjectArrayResult } from "../utilities/private" +import { KNativePointer } from "@koalaui/interop" +import { global } from "../static/global" +import { Program } from "../../generated" + +export function programGetExternalSources(program: Program, context: KNativePointer = global.context): ExternalSource[] { + return acceptNativeObjectArrayResult( + global.es2panda._ProgramExternalSources(context, program.peer), + (instance: KNativePointer) => new ExternalSource(instance) + ) +} + +export function dumpProgramInfo(program: Program) { + console.log(`Program info:`) + console.log(`\tAbsoluteName: ${program.absoluteName}`) + console.log(`\tFileName: ${program.fileName}`) + console.log(`\tFileNameWithExtension: ${program.fileNameWithExtension}`) + console.log(`\tModuleName: ${program.moduleName}`) + console.log(`\tModulePrefix: ${program.modulePrefix}`) + console.log(`\tRelativeFilePath: ${program.relativeFilePath}`) + console.log(`\tResolvedFilePath: ${program.resolvedFilePath}`) + console.log(`\tSourceFileFolder: ${program.sourceFileFolder}`) + console.log(`\tSourceFilePath: ${program.sourceFilePath}`) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ArktsObject.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ArktsObject.ts index 3b0a15deb445de74073d18ad586dfd8294179675..c3906ac15248437657e2e4a829cc7e1768f402c5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ArktsObject.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ArktsObject.ts @@ -20,7 +20,9 @@ export abstract class ArktsObject { this.peer = peer } - readonly peer: KNativePointer + peer: KNativePointer + + public onUpdate(node: ArktsObject) {} } export function isSameNativeObject( diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/AstNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/AstNode.ts index 2861b14cba06f3732266b485d2ad2b803adab3ed..39d4542a1ba9af2b3c5d67551d6803b90e3eefde 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/AstNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/AstNode.ts @@ -19,10 +19,11 @@ import { allFlags, unpackNodeArray, unpackNonNullableNode, unpackString } from " import { throwError } from "../../utils" import { Es2pandaModifierFlags } from "../../generated/Es2pandaEnums" import { ArktsObject } from "./ArktsObject" +import { SourcePosition } from "./SourcePosition" export abstract class AstNode extends ArktsObject { protected constructor(peer: KNativePointer) { - global.profiler.createdNodes ++ + global.profiler.nodeCreated() if (isNullPtr(peer)) { throwError(`attempted to create AstNode from nullptr`) } @@ -95,20 +96,37 @@ export abstract class AstNode extends ArktsObject { return unpackString(global.es2panda._AstNodeDumpModifiers(global.context, this.peer)) } + // public clone(): this { + // return unpackNonNullableNode(global.generatedEs2panda._AstNodeClone(global.context, this.peer, this.parent.peer)); + // } + + // public get parent(): AstNode { + // const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer) + // if (parent === nullptr) { + // throwError(`no parent`) + // } + // return unpackNonNullableNode(parent) + // } + + // public set parent(node: AstNode) { + // global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node.peer) + // } + public clone(): this { - return unpackNonNullableNode(global.generatedEs2panda._AstNodeClone(global.context, this.peer, this.parent.peer)); + const clonedNode = unpackNonNullableNode( + global.generatedEs2panda._AstNodeClone(global.context, this.peer, this.parent?.peer ?? nullptr) + ); + clonedNode.parent = undefined; + return clonedNode as this; } - - public get parent(): AstNode { - const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer) - if (parent === nullptr) { - throwError(`no parent`) - } - return unpackNonNullableNode(parent) + + public get parent(): AstNode | undefined { + const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer); + return unpackNonNullableNode(parent); } - public set parent(node: AstNode) { - global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node.peer) + public set parent(node: AstNode | undefined) { + global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node?.peer ?? nullptr); } public get modifierFlags(): Es2pandaModifierFlags { @@ -119,4 +137,46 @@ export abstract class AstNode extends ArktsObject { global.generatedEs2panda._AstNodeClearModifier(global.context, this.peer, allFlags) global.generatedEs2panda._AstNodeAddModifier(global.context, this.peer, flags ?? Es2pandaModifierFlags.MODIFIER_FLAGS_NONE) } + + /** @deprecated Use {@link modifierFlags} instead */ + public get modifiers(): KInt { + return this.modifierFlags + } + + /** @deprecated Use {@link modifierFlags} instead */ + public set modifiers(flags: KInt | undefined) { + this.modifierFlags = flags + } + + public override onUpdate(node: AstNode): void { + global.generatedEs2panda._AstNodeSetOriginalNode(global.context, node.peer, this.originalPeer) + } + + public get isExport(): boolean { + return global.generatedEs2panda._AstNodeIsExportedConst(global.context, this.peer); + } + + public get isDefaultExport(): boolean { + return global.generatedEs2panda._AstNodeIsDefaultExportedConst(global.context, this.peer); + } + + public get isStatic(): boolean { + return global.generatedEs2panda._AstNodeIsStaticConst(global.context, this.peer); + } + + public get startPosition(): SourcePosition { + return new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, this.peer)); + } + + public set startPosition(start: SourcePosition) { + global.generatedEs2panda._AstNodeSetStart(global.context, this.peer, start.peer); + } + + public get endPosition(): SourcePosition { + return new SourcePosition(global.generatedEs2panda._AstNodeEndConst(global.context, this.peer)); + } + + public set endPosition(end: SourcePosition) { + global.generatedEs2panda._AstNodeSetEnd(global.context, this.peer, end.peer); + } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Config.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Config.ts index ca7984740d88ddc1fbf29dc412c51b59db758852..894fcbb75ee75119fa1a5106b3f5af042f095661 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Config.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Config.ts @@ -16,7 +16,7 @@ import { ArktsObject } from "./ArktsObject" import { global } from "../static/global" import { passStringArray } from "../utilities/private" -import { KNativePointer } from "@koalaui/interop" +import { KNativePointer, nullptr } from "@koalaui/interop" export class Config extends ArktsObject { constructor(peer: KNativePointer) { @@ -48,5 +48,12 @@ export class Config extends ArktsObject { ) } + destroy() { + if (this.peer != nullptr) { + global.es2panda._DestroyConfig(this.peer) + this.peer = nullptr + } + } + readonly path: string } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Context.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Context.ts index bc5c9c23cc75b3b2edac495dd388759ef81fec25..349884d6e2050f5671db201cc4cc2ec8d8dffec3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Context.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Context.ts @@ -14,10 +14,11 @@ */ import { ArktsObject } from "./ArktsObject" -import { Program } from "./Program" +import { Program } from "../../generated" import { global } from "../static/global" -import { passString } from "../utilities/private" -import { KNativePointer } from "@koalaui/interop" +import { passString, passStringArray } from "../utilities/private" +import { KNativePointer, nullptr } from "@koalaui/interop" +import { Config } from "./Config" export class Context extends ArktsObject { constructor(peer: KNativePointer) { @@ -39,7 +40,73 @@ export class Context extends ArktsObject { ) } + static createFromFile(filePath: string, configPath: string, stdlibPath: string, outputPath: string): Context | undefined { + const config = Config.create([ + "", + "--arktsconfig", + configPath, + '--extension', + 'ets', + '--stdlib', + stdlibPath, + filePath, + '--output', + outputPath, + ]) + return new Context( + global.es2panda._CreateContextFromFile( + config.peer, + passString(filePath) + ) + ) + } + + static createCacheFromFile(filePath: string, config: Config, globalContext: GlobalContext, isExternal: boolean) { + return new Context( + global.es2panda._CreateCacheContextFromFile( + config.peer, + passString(filePath), + globalContext.peer, + isExternal + ) + ) + } + + + destroy() { + if (this.peer != nullptr) { + global.es2panda._DestroyContext(this.peer) + this.peer = nullptr + } + } + get program(): Program { return new Program(global.es2panda._ContextProgram(this.peer)); } -} \ No newline at end of file +} + +export class GlobalContext extends ArktsObject { + static create( + config: Config, externalFileList: string[] + ): GlobalContext { + return new GlobalContext( + global.es2panda._CreateGlobalContext( + config.peer, + passStringArray(externalFileList), + externalFileList.length, + false + ) + ) + } + + constructor(peer: KNativePointer) { + super(peer) + } + + destroy() { + if (this.peer != nullptr) { + global.es2panda._DestroyGlobalContext(this.peer) + this.peer = nullptr + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Program.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ExternalSource.ts similarity index 66% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Program.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ExternalSource.ts index 5d9321b0173d98083c31c10ab16bba6520192974..fc41fe11026d9c9f0c35769d2032959df61e6465 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Program.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/ExternalSource.ts @@ -13,31 +13,11 @@ * limitations under the License. */ -import { ArktsObject } from "./ArktsObject" import { global } from "../static/global" import { acceptNativeObjectArrayResult, unpackString } from "../utilities/private" import { KNativePointer, nullptr } from "@koalaui/interop" -import { ETSModule } from "../../generated" - -export class Program extends ArktsObject { - constructor(peer: KNativePointer) { - super(peer) - } - - get astNode(): ETSModule { - let program = global.es2panda._ProgramAst(global.context, this.peer) - if (program == nullptr) throw new Error(`astNode() cannt get AST`) - return new ETSModule(program) - } - - get externalSources(): ExternalSource[] { - return acceptNativeObjectArrayResult( - global.es2panda._ProgramExternalSources(global.context, this.peer), - (instance: KNativePointer) => new ExternalSource(instance) - ) - } - -} +import { Program } from "../../generated" +import { ArktsObject } from "./ArktsObject" export class ExternalSource extends ArktsObject { constructor(peer: KNativePointer) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Options.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Options.ts new file mode 100644 index 0000000000000000000000000000000000000000..cadb3e1e006a3d0ab835f9f220f2c4de67413a60 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/peers/Options.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KNativePointer } from "@koalaui/interop" +import { ArktsObject } from "./ArktsObject" +import { global } from "../static/global" +import { Config } from "./Config" +import { ArkTsConfig } from "../../generated" + +export class Options extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer) + } + + static createOptions(config: Config) { + return new Options(global.es2panda._ConfigGetOptions(config.peer)) + } + + getArkTsConfig(): ArkTsConfig { + return new ArkTsConfig(global.es2panda._OptionsArkTsConfig(global.context, this.peer)) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/plugins.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/plugins.ts index fdc3c8c3ed9ad31cb6d80692f1d33b26367fdc1a..656942b73ab7a50276be1c088499d6ed6ed7242c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/plugins.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/plugins.ts @@ -14,12 +14,16 @@ */ import { Es2pandaContextState } from "../generated/Es2pandaEnums" -import { ExternalSource, Program } from "./peers/Program" +import { Program } from "../generated" +import { ExternalSource } from "./peers/ExternalSource" +import { programGetExternalSources } from "./node-utilities/Program" +import { KNativePointer } from "@koalaui/interop" +import { global } from "./static/global" export interface CompilationOptions { readonly isMainProgram: boolean, - readonly name: string, readonly stage: Es2pandaContextState, + readonly restart: boolean, } export interface PluginContext { @@ -45,17 +49,12 @@ export function defaultFilter(name: string) { return true } -export interface ProgramWithName { - program: Program, - name: string -} - -export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter): ProgramWithName[] { +export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter, context: KNativePointer = global.context): Program[] { return [ - { program, name: "" }, - ...program.externalSources.flatMap((it: ExternalSource) => { + program, + ...programGetExternalSources(program, context).flatMap((it: ExternalSource) => { if (filter(it.getName())) { - return it.programs.map(program => ({ program, name: it.getName() } as ProgramWithName)) + return it.programs } return [] }) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/global.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/global.ts index 63003254e2c8b9cbccafae70e58c3770541c7ab6..a8bc02825b6a88d7fe691c51be75d81671beee4f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/global.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/global.ts @@ -20,12 +20,12 @@ import { Es2pandaNativeModule as GeneratedEs2pandaNativeModule } from "../../gen import { initInterop, InteropNativeModule } from "../../InteropNativeModule" import { Context } from "../peers/Context" import { Profiler } from "./profiler" -import { Program } from "../peers/Program" +import { ArkTsConfig } from "../../generated" export class global { public static filePath: string = "./plugins/input/main.ets" - public static packageName: string = "" - public static filePathFromPackageRoot: string = global.filePath + + public static arktsconfig?: ArkTsConfig private static _config?: KNativePointer public static set config(config: KNativePointer) { @@ -37,10 +37,13 @@ export class global { public static configIsInitialized(): boolean { return global._config !== undefined && global._config !== nullptr } + public static resetConfig(): void { + global._config = undefined + } // TODO: rename to contextPeer public static get context(): KNativePointer { - return global.compilerContext.peer ?? throwError('Global.context not initialized') + return global.compilerContext?.peer ?? throwError('Global.context not initialized') } // TODO: rename to context when the pointer valued one is eliminated diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/profiler.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/profiler.ts index 6e96e24eab33441043ae7eef6f8b687534518d8e..f96f858759cd1618bc1c51faa590b3fa5dc994a0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/profiler.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/static/profiler.ts @@ -13,28 +13,185 @@ * limitations under the License. */ -export class Profiler { - totalTime = 0 - transformTime = 0 - proceedTime = 0 - restartTime = 0 - visitedNodes = 0 - createdNodes = 0 +import * as fs from "fs" +import * as path from "path" +import { Es2pandaContextState } from "../../generated/Es2pandaEnums" +import { global } from "./global" + +const PERFORMANCE_DATA_DIR = "./performance-results/" + +interface PluginData { + transformTime: number + transformTimeDeps: number + visitedNodes: number + createdNodes: number + contextState?: Es2pandaContextState +} + +function emptyPluginData(contextState?: Es2pandaContextState): PluginData { + return { + transformTime: 0, + transformTimeDeps: 0, + visitedNodes: 0, + createdNodes: 0, + contextState: contextState + } +} + +interface PerformanceData { + filePath: string + + visitedNodes: number + createdNodes: number + restartTime: number + proceedTime: number + totalTime: number + + pluginsByName: Record +} + +interface PerformanceDataFile { + data: PerformanceData[] + summary?: PerformanceData +} + +function parseFile(performanceFile: string): PerformanceDataFile | undefined { + if (!fs.existsSync(performanceFile)) return undefined + + const data = fs.readFileSync(path.resolve(performanceFile)).toString() + if (!data.length) return undefined + return JSON.parse(data) as PerformanceDataFile +} + +export class Profiler implements PerformanceData { + filePath: string = "" + visitedNodes: number = 0 + createdNodes: number = 0 + restartTime: number = 0 + proceedTime: number = 0 + totalTime: number = 0 + pluginsByName: Record = {} + + curPlugin: string = "" + curContextState?: Es2pandaContextState + + private getPluginData(pluginName: string, contextState?: Es2pandaContextState): PluginData { + if (!(pluginName in this.pluginsByName)) { + this.pluginsByName[pluginName] = emptyPluginData(contextState) + } + return this.pluginsByName[pluginName] + } + + disableReport = false + + nodeCreated() { + this.createdNodes++ + if (this.curPlugin) this.getPluginData(this.curPlugin, this.curContextState).createdNodes++ + } + + nodeVisited() { + this.visitedNodes++ + if (this.curPlugin) this.getPluginData(this.curPlugin, this.curContextState).visitedNodes++ + } + + private transformStartTime = 0 + transformStarted() { + this.transformStartTime = Date.now() + } + private transformDepStartTime = 0 + transformDepStarted() { + this.transformDepStartTime = Date.now() + } + + transformEnded(state: Es2pandaContextState, pluginName: string) { + const transformEndTime = Date.now() + const consumedTime = transformEndTime - this.transformStartTime + this.getPluginData(pluginName, state).transformTime += consumedTime + } + + transformDepEnded(state: Es2pandaContextState, pluginName: string) { + const transformEndTime = Date.now() + const consumedTime = transformEndTime - this.transformDepStartTime + this.getPluginData(pluginName, state).transformTimeDeps += consumedTime + } + + restarted(consumedTime: number) { + this.restartTime += consumedTime + } + + proceededToState(consumedTime: number) { + this.proceedTime += consumedTime + } + + private compilationStartTime = 0 + compilationStarted(filePath: string) { + this.filePath = filePath + + this.visitedNodes = 0 + this.createdNodes = 0 + this.restartTime = 0 + this.proceedTime = 0 + this.totalTime = 0 + this.pluginsByName = {} + + this.curPlugin = "" + this.compilationStartTime = Date.now() + } + + compilationEnded() { + const consumedTime: number = Date.now() - this.compilationStartTime + this.totalTime = consumedTime + } report() { - console.log( - "total compiler:", - this.totalTime, - " proceeds:", - this.proceedTime, - " restarts", - this.restartTime, - " transforms:", - this.transformTime, - " visited:", - this.visitedNodes, - " created:", - this.createdNodes - ) - } -} \ No newline at end of file + Object.entries(this.pluginsByName).forEach((data, key) => { + console.log(data[0], "totalTransformTime =", data[1].transformTime, "ms") + console.log(data[0], "totalDepsTransformTime =", data[1].transformTimeDeps, "ms") + }) + } + + reportToFile(withSummary: boolean = false) { + if (this.disableReport) return + const outDir = path.resolve(global.arktsconfig!.outDir, PERFORMANCE_DATA_DIR) + fs.mkdirSync(outDir, { recursive: true }) + const outFilePath = path.resolve(outDir, path.basename(this.filePath)) + ".json" + + const data: PerformanceDataFile = { data: [this as PerformanceData] } + if (!fs.existsSync(outFilePath)) { + fs.writeFileSync(outFilePath, JSON.stringify(data)) + } else { + const savedData: PerformanceDataFile | undefined = parseFile(outFilePath) ?? data + savedData.data.push(this as PerformanceData) + + if (withSummary) { + const summary: PerformanceData = { + filePath: this.filePath, + visitedNodes: savedData.data.map(it => it.visitedNodes).reduce((sum, it) => sum + it), + createdNodes: savedData.data.map(it => it.createdNodes).reduce((sum, it) => sum + it), + restartTime: savedData.data.map(it => it.restartTime).reduce((sum, it) => sum + it), + proceedTime: savedData.data.map(it => it.proceedTime).reduce((sum, it) => sum + it), + totalTime: savedData.data.map(it => it.totalTime).reduce((sum, it) => sum + it), + pluginsByName: {} + } + const pluginNames = new Set(savedData.data.flatMap(it => Object.keys(it.pluginsByName))) + for (const pluginName of pluginNames) { + const sumTransformTime = savedData.data.map(it => it.pluginsByName).filter(it => !!it[pluginName]).map(it => it[pluginName].transformTime).reduce((sum, it) => sum+it) + const sumTransformTimeDeps = savedData.data.map(it => it.pluginsByName).filter(it => !!it[pluginName]).map(it => it[pluginName].transformTimeDeps).reduce((sum, it) => sum+it) + const sumCreatedNodes = savedData.data.map(it => it.pluginsByName).filter(it => !!it[pluginName]).map(it => it[pluginName].createdNodes).reduce((sum, it) => sum+it) + const sumVisitedNodes = savedData.data.map(it => it.pluginsByName).filter(it => !!it[pluginName]).map(it => it[pluginName].visitedNodes).reduce((sum, it) => sum+it) + + summary.pluginsByName[pluginName] = { + transformTime: sumTransformTime, + transformTimeDeps: sumTransformTimeDeps, + createdNodes: sumCreatedNodes, + visitedNodes: sumVisitedNodes, + } + } + + savedData.summary = summary + } + + fs.writeFileSync(outFilePath, JSON.stringify(savedData)) + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/private.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/private.ts index 2149e3de96aa41cf7772dff1bb42fc96f0d1507b..096e1ce03f3f816987dfe04e957a535c5dd34589 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/private.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/private.ts @@ -26,7 +26,7 @@ import { import { NativePtrDecoder } from "./nativePtrDecoder" import { Es2pandaAstNodeType, Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from "../../generated/Es2pandaEnums" import { classByPeer } from "../class-by-peer" -import { AstNode } from "../peers/AstNode" +import type { AstNode } from "../peers/AstNode" import { ArktsObject } from "../peers/ArktsObject" export const arrayOfNullptr = new BigUint64Array([nullptr]) @@ -121,13 +121,9 @@ export function unpackString(peer: KNativePointer): string { // TODO: use direct string arguments instead. export function passString(str: string | undefined): string { - if (str === undefined) { - return "" - } - return withString(str, (it: string) => it) + return str ?? "" } - // TODO: use direct string arguments instead. export function passStringArray(strings: readonly string[]): string[] { return withStringArray(strings, (it: string[]) => it) @@ -147,9 +143,7 @@ export function updateNodeByNode(node: T, original: T): T if (original.peer === nullptr) { throwError('update called on NULLPTR') } - if (original instanceof AstNode) { - global.generatedEs2panda._AstNodeSetOriginalNode(global.context, node.peer, original.originalPeer) - } + original.onUpdate(node) global.generatedEs2panda._AstNodeSetParent(global.context, node.peer, global.generatedEs2panda._AstNodeParent(global.context, original.peer)) global.es2panda._AstNodeUpdateChildren(global.context, node.peer) return node diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/public.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/public.ts index 46df8f56126f38098247653299670a171d0ef8cd..abd4c8a8191d09df2dd23db6a25eb68eef63c1e8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/public.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/utilities/public.ts @@ -14,7 +14,7 @@ */ import { global } from "../static/global" -import { isNumber, throwError } from "../../utils" +import { isNumber, throwError, withWarning } from "../../utils" import { KNativePointer, nullptr } from "@koalaui/interop" import { passNode, passNodeArray, unpackNodeArray, unpackNonNullableNode } from "./private" import { Es2pandaContextState, Es2pandaModifierFlags } from "../../generated/Es2pandaEnums" @@ -23,7 +23,6 @@ import { type AnnotationUsage, ClassDefinition, ClassProperty, - ETSImportDeclaration, ETSModule, isClassDefinition, isFunctionDeclaration, @@ -35,13 +34,19 @@ import { import { Config } from "../peers/Config" import { Context } from "../peers/Context" import { NodeCache } from "../node-cache" +import { listPrograms } from "../plugins" export function createETSModuleFromContext(): ETSModule { let program = global.es2panda._ContextProgram(global.context) if (program == nullptr) { throw new Error(`Program is null for context ${global.context.toString(16)}`) } - return new ETSModule(global.es2panda._ProgramAst(global.context, program)) + const ast = global.es2panda._ProgramAst(global.context, program) + if (ast == nullptr) { + throw new Error(`AST is null for program ${program.toString(16)}`) + + } + return new ETSModule(ast) } export function createETSModuleFromSource( @@ -59,6 +64,11 @@ export function createETSModuleFromSource( return new ETSModule(global.es2panda._ProgramAst(global.context, program)) } +export function metaDatabase(fileName: string): string { + if (fileName.endsWith(".meta.json")) throw new Error(`Must pass source, not database: ${fileName}`) + return `${fileName}.meta.json` +} + export function updateETSModuleByStatements( node: ETSModule, statements: readonly AstNode[], @@ -83,7 +93,7 @@ export function proceedToState(state: Es2pandaContextState): void { const before = Date.now() global.es2panda._ProceedToState(global.context, state) const after = Date.now() - global.profiler.proceedTime += after-before + global.profiler.proceededToState(after-before) NodeCache.clear() checkErrors() } @@ -102,6 +112,19 @@ export function rebindSubtree(node: AstNode): void { checkErrors() } +export function recheckContext(context: KNativePointer): void { + global.es2panda._AstNodeRecheck( + context, + global.es2panda._ProgramAst( + context, + global.es2panda._ContextProgram( + context + ) + ) + ) + checkErrors() +} + export function getDecl(node: AstNode): AstNode | undefined { if (isMemberExpression(node)) { return getDecl(node.property!) @@ -139,14 +162,6 @@ export function getFileName(): string { return global.filePath } -export function getPackageName(): string { - return global.packageName -} - -export function getFilePathFromPackageRoot(): string { - return global.filePathFromPackageRoot -} - // TODO: It seems like Definition overrides AstNode modifiers // with it's own modifiers which is completely unrelated set of flags. // Use this function if you need @@ -197,3 +212,26 @@ export function nameIfETSModule(node: AstNode): string { export function asString(node: AstNode|undefined): string { return `${node?.constructor.name} ${node ? nameIfIdentifier(node) : undefined}` } + +const defaultPandaSdk = "../../../incremental/tools/panda/node_modules/@panda/sdk" + + +export function findStdlib(): string { + const sdk = process.env.PANDA_SDK_PATH ?? withWarning( + defaultPandaSdk, + `PANDA_SDK_PATH not set, assuming ${defaultPandaSdk}` + ) + return `${sdk}/ets/stdlib` +} + +export function collectDependencies(files: string[], configPath: string): string[] { + const result = new Set() + for (let file of files) { + const context = Context.createFromFile(file, configPath, findStdlib(), "/tmp/foo.abc")! + global.compilerContext = context + proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED) + listPrograms(context.program).forEach(it => result.add(it.absoluteName)) + context.destroy() + } + return Array.from(result) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/visitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/visitor.ts index a593cb68bbeee84139689613cbfa3d424762f692..f1fb3340f7359b14201ecbee80fa94c4c9cef06b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/visitor.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/visitor.ts @@ -144,7 +144,7 @@ export function visitEachChild( node: AstNode, visitor: Visitor ): AstNode { - global.profiler.visitedNodes ++ + global.profiler.nodeVisited() if (isETSModule(node)) { return updateETSModuleByStatements( node, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/wrapper-compat.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/wrapper-compat.ts new file mode 100644 index 0000000000000000000000000000000000000000..15226e716af76a79737df6a4111917edc972fe45 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/arkts-api/wrapper-compat.ts @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// koala-wrapper compatibility helpers + +import { KNativePointer } from "@koalaui/interop" +import { ETSModule } from "../generated" +import { createETSModuleFromContext } from "./utilities/public" +import { global } from "./static/global" + +export class EtsScript { + public static fromContext(): ETSModule { + return createETSModuleFromContext() + } +} + +export function destroyConfig(config: KNativePointer): void { + global.es2panda._DestroyConfig(config) + global.resetConfig() +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/checkSdk.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/checkSdk.ts index 99eb630e0625c8fea44e3b4dede0288d109abeda..38d83927923da672affd9ced0870c3b3105844fd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/checkSdk.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/checkSdk.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Huawei Device Co., Ltd. + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -36,5 +36,5 @@ export function checkSDK() { if (expectedVersion && expectedVersion != "next" && version != expectedVersion) console.log(`WARNING: Panda SDK version "${version}" doesn't match expected "${expectedVersion}"`) else - console.log(`Use Panda ${version}`) + console.log(`Using Panda ${version}`) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaEnums.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaEnums.ts index 79da4cbe247efd30dc0472a6ca7e96476a35f0ff..446f0536a55e70836226bc3d2e9dbf41bded5a94 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaEnums.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaEnums.ts @@ -280,6 +280,40 @@ export enum Es2pandaScopeFlags { SCOPE_FLAGS_STATIC_FIELD_SCOPE = 320, SCOPE_FLAGS_STATIC_METHOD_SCOPE = 384 } +export enum Es2pandaEnum { + ENUM_NODE_HAS_PARENT = 0, + ENUM_NODE_HAS_SOURCE_RANGE = 1, + ENUM_EVERY_CHILD_HAS_VALID_PARENT = 2, + ENUM_EVERY_CHILD_IN_PARENT_RANGE = 3, + ENUM_CHECK_STRUCT_DECLARATION = 4, + ENUM_VARIABLE_HAS_SCOPE = 5, + ENUM_NODE_HAS_TYPE = 6, + ENUM_NO_PRIMITIVE_TYPES = 7, + ENUM_IDENTIFIER_HAS_VARIABLE = 8, + ENUM_REFERENCE_TYPE_ANNOTATION_IS_NULL = 9, + ENUM_ARITHMETIC_OPERATION_VALID = 10, + ENUM_SEQUENCE_EXPRESSION_HAS_LAST_TYPE = 11, + ENUM_FOR_LOOP_CORRECTLY_INITIALIZED = 12, + ENUM_VARIABLE_HAS_ENCLOSING_SCOPE = 13, + ENUM_MODIFIER_ACCESS_VALID = 14, + ENUM_VARIABLE_NAME_IDENTIFIER_NAME_SAME = 15, + ENUM_CHECK_ABSTRACT_METHOD = 16, + ENUM_GETTER_SETTER_VALIDATION = 17, + ENUM_CHECK_SCOPE_DECLARATION = 18, + ENUM_CHECK_CONST_PROPERTIES = 19, + ENUM_COUNT = 20, + ENUM_BASE_FIRST = 0, + ENUM_BASE_LAST = 3, + ENUM_AFTER_PLUGINS_AFTER_PARSE_FIRST = 4, + ENUM_AFTER_PLUGINS_AFTER_PARSE_LAST = 4, + ENUM_AFTER_SCOPES_INIT_PHASE_FIRST = 5, + ENUM_AFTER_SCOPES_INIT_PHASE_LAST = 5, + ENUM_AFTER_CHECKER_PHASE_FIRST = 6, + ENUM_AFTER_CHECKER_PHASE_LAST = 19, + ENUM_FIRST = 0, + ENUM_LAST = 19, + ENUM_INVALID = 20 +} export enum Es2pandaRegExpFlags { REG_EXP_FLAGS_EMPTY = 0, REG_EXP_FLAGS_GLOBAL = 1, @@ -296,17 +330,214 @@ export enum Es2pandaId { ID_ETS = 3, ID_COUNT = 4 } +export enum Es2pandaTokenType { + TOKEN_TYPE_EOS = 0, + TOKEN_TYPE_LITERAL_IDENT = 1, + TOKEN_TYPE_LITERAL_STRING = 2, + TOKEN_TYPE_LITERAL_CHAR = 3, + TOKEN_TYPE_LITERAL_NUMBER = 4, + TOKEN_TYPE_LITERAL_REGEXP = 5, + TOKEN_TYPE_PUNCTUATOR_BITWISE_AND = 6, + TOKEN_TYPE_PUNCTUATOR_BITWISE_OR = 7, + TOKEN_TYPE_PUNCTUATOR_MULTIPLY = 8, + TOKEN_TYPE_PUNCTUATOR_DIVIDE = 9, + TOKEN_TYPE_PUNCTUATOR_MINUS = 10, + TOKEN_TYPE_PUNCTUATOR_EXCLAMATION_MARK = 11, + TOKEN_TYPE_PUNCTUATOR_TILDE = 12, + TOKEN_TYPE_PUNCTUATOR_MINUS_MINUS = 13, + TOKEN_TYPE_PUNCTUATOR_LEFT_SHIFT = 14, + TOKEN_TYPE_PUNCTUATOR_RIGHT_SHIFT = 15, + TOKEN_TYPE_PUNCTUATOR_LESS_THAN_EQUAL = 16, + TOKEN_TYPE_PUNCTUATOR_GREATER_THAN_EQUAL = 17, + TOKEN_TYPE_PUNCTUATOR_MOD = 18, + TOKEN_TYPE_PUNCTUATOR_BITWISE_XOR = 19, + TOKEN_TYPE_PUNCTUATOR_EXPONENTIATION = 20, + TOKEN_TYPE_PUNCTUATOR_MULTIPLY_EQUAL = 21, + TOKEN_TYPE_PUNCTUATOR_EXPONENTIATION_EQUAL = 22, + TOKEN_TYPE_PUNCTUATOR_ARROW = 23, + TOKEN_TYPE_PUNCTUATOR_BACK_TICK = 24, + TOKEN_TYPE_PUNCTUATOR_HASH_MARK = 25, + TOKEN_TYPE_PUNCTUATOR_DIVIDE_EQUAL = 26, + TOKEN_TYPE_PUNCTUATOR_MOD_EQUAL = 27, + TOKEN_TYPE_PUNCTUATOR_MINUS_EQUAL = 28, + TOKEN_TYPE_PUNCTUATOR_LEFT_SHIFT_EQUAL = 29, + TOKEN_TYPE_PUNCTUATOR_RIGHT_SHIFT_EQUAL = 30, + TOKEN_TYPE_PUNCTUATOR_UNSIGNED_RIGHT_SHIFT = 31, + TOKEN_TYPE_PUNCTUATOR_UNSIGNED_RIGHT_SHIFT_EQUAL = 32, + TOKEN_TYPE_PUNCTUATOR_BITWISE_AND_EQUAL = 33, + TOKEN_TYPE_PUNCTUATOR_BITWISE_OR_EQUAL = 34, + TOKEN_TYPE_PUNCTUATOR_LOGICAL_AND_EQUAL = 35, + TOKEN_TYPE_PUNCTUATOR_NULLISH_COALESCING = 36, + TOKEN_TYPE_PUNCTUATOR_LOGICAL_OR_EQUAL = 37, + TOKEN_TYPE_PUNCTUATOR_LOGICAL_NULLISH_EQUAL = 38, + TOKEN_TYPE_PUNCTUATOR_BITWISE_XOR_EQUAL = 39, + TOKEN_TYPE_PUNCTUATOR_PLUS = 40, + TOKEN_TYPE_PUNCTUATOR_PLUS_PLUS = 41, + TOKEN_TYPE_PUNCTUATOR_PLUS_EQUAL = 42, + TOKEN_TYPE_PUNCTUATOR_LESS_THAN = 43, + TOKEN_TYPE_PUNCTUATOR_GREATER_THAN = 44, + TOKEN_TYPE_PUNCTUATOR_EQUAL = 45, + TOKEN_TYPE_PUNCTUATOR_NOT_EQUAL = 46, + TOKEN_TYPE_PUNCTUATOR_STRICT_EQUAL = 47, + TOKEN_TYPE_PUNCTUATOR_NOT_STRICT_EQUAL = 48, + TOKEN_TYPE_PUNCTUATOR_LOGICAL_AND = 49, + TOKEN_TYPE_PUNCTUATOR_LOGICAL_OR = 50, + TOKEN_TYPE_PUNCTUATOR_SUBSTITUTION = 51, + TOKEN_TYPE_PUNCTUATOR_QUESTION_MARK = 52, + TOKEN_TYPE_PUNCTUATOR_QUESTION_DOT = 53, + TOKEN_TYPE_PUNCTUATOR_AT = 54, + TOKEN_TYPE_PUNCTUATOR_FORMAT = 55, + TOKEN_TYPE_PUNCTUATOR_RIGHT_PARENTHESIS = 56, + TOKEN_TYPE_PUNCTUATOR_LEFT_PARENTHESIS = 57, + TOKEN_TYPE_PUNCTUATOR_RIGHT_SQUARE_BRACKET = 58, + TOKEN_TYPE_PUNCTUATOR_LEFT_SQUARE_BRACKET = 59, + TOKEN_TYPE_PUNCTUATOR_RIGHT_BRACE = 60, + TOKEN_TYPE_PUNCTUATOR_PERIOD = 61, + TOKEN_TYPE_PUNCTUATOR_PERIOD_PERIOD_PERIOD = 62, + TOKEN_TYPE_PUNCTUATOR_PERIOD_QUESTION = 63, + TOKEN_TYPE_PUNCTUATOR_LEFT_BRACE = 64, + TOKEN_TYPE_PUNCTUATOR_SEMI_COLON = 65, + TOKEN_TYPE_PUNCTUATOR_COLON = 66, + TOKEN_TYPE_PUNCTUATOR_COMMA = 67, + TOKEN_TYPE_KEYW_ABSTRACT = 68, + TOKEN_TYPE_KEYW_ANY = 69, + TOKEN_TYPE_KEYW_BUILTIN_ANY = 70, + TOKEN_TYPE_KEYW_ANYREF = 71, + TOKEN_TYPE_KEYW_ARGUMENTS = 72, + TOKEN_TYPE_KEYW_AS = 73, + TOKEN_TYPE_KEYW_ASSERTS = 74, + TOKEN_TYPE_KEYW_ASYNC = 75, + TOKEN_TYPE_KEYW_AWAIT = 76, + TOKEN_TYPE_KEYW_BIGINT = 77, + TOKEN_TYPE_KEYW_BUILTIN_BIGINT = 78, + TOKEN_TYPE_KEYW_BOOLEAN = 79, + TOKEN_TYPE_KEYW_BUILTIN_BOOLEAN = 80, + TOKEN_TYPE_KEYW_BREAK = 81, + TOKEN_TYPE_KEYW_BYTE = 82, + TOKEN_TYPE_KEYW_BUILTIN_BYTE = 83, + TOKEN_TYPE_KEYW_CASE = 84, + TOKEN_TYPE_KEYW_CATCH = 85, + TOKEN_TYPE_KEYW_CHAR = 86, + TOKEN_TYPE_KEYW_BUILTIN_CHAR = 87, + TOKEN_TYPE_KEYW_CLASS = 88, + TOKEN_TYPE_KEYW_CONST = 89, + TOKEN_TYPE_KEYW_CONSTRUCTOR = 90, + TOKEN_TYPE_KEYW_CONTINUE = 91, + TOKEN_TYPE_KEYW_DATAREF = 92, + TOKEN_TYPE_KEYW_DEBUGGER = 93, + TOKEN_TYPE_KEYW_DECLARE = 94, + TOKEN_TYPE_KEYW_DEFAULT = 95, + TOKEN_TYPE_KEYW_DELETE = 96, + TOKEN_TYPE_KEYW_DO = 97, + TOKEN_TYPE_KEYW_DOUBLE = 98, + TOKEN_TYPE_KEYW_BUILTIN_DOUBLE = 99, + TOKEN_TYPE_KEYW_ELSE = 100, + TOKEN_TYPE_KEYW_ENUM = 101, + TOKEN_TYPE_KEYW_EQREF = 102, + TOKEN_TYPE_KEYW_EVAL = 103, + TOKEN_TYPE_KEYW_EXPORT = 104, + TOKEN_TYPE_KEYW_EXTENDS = 105, + TOKEN_TYPE_KEYW_EXTERNREF = 106, + TOKEN_TYPE_KEYW_F32 = 107, + TOKEN_TYPE_KEYW_F64 = 108, + TOKEN_TYPE_LITERAL_FALSE = 109, + TOKEN_TYPE_KEYW_FINALLY = 110, + TOKEN_TYPE_KEYW_FLOAT = 111, + TOKEN_TYPE_KEYW_BUILTIN_FLOAT = 112, + TOKEN_TYPE_KEYW_FOR = 113, + TOKEN_TYPE_KEYW_FROM = 114, + TOKEN_TYPE_KEYW_FUNCREF = 115, + TOKEN_TYPE_KEYW_FUNCTION = 116, + TOKEN_TYPE_KEYW_GET = 117, + TOKEN_TYPE_KEYW_GLOBAL = 118, + TOKEN_TYPE_KEYW_I8 = 119, + TOKEN_TYPE_KEYW_I16 = 120, + TOKEN_TYPE_KEYW_I31REF = 121, + TOKEN_TYPE_KEYW_I32 = 122, + TOKEN_TYPE_KEYW_I64 = 123, + TOKEN_TYPE_KEYW_IF = 124, + TOKEN_TYPE_KEYW_IMPLEMENTS = 125, + TOKEN_TYPE_KEYW_IMPORT = 126, + TOKEN_TYPE_KEYW_IN = 127, + TOKEN_TYPE_KEYW_INFER = 128, + TOKEN_TYPE_KEYW_INSTANCEOF = 129, + TOKEN_TYPE_KEYW_INT = 130, + TOKEN_TYPE_KEYW_BUILTIN_INT = 131, + TOKEN_TYPE_KEYW_INTERFACE = 132, + TOKEN_TYPE_KEYW_IS = 133, + TOKEN_TYPE_KEYW_ISIZE = 134, + TOKEN_TYPE_KEYW_KEYOF = 135, + TOKEN_TYPE_KEYW_LET = 136, + TOKEN_TYPE_KEYW_LONG = 137, + TOKEN_TYPE_KEYW_BUILTIN_LONG = 138, + TOKEN_TYPE_KEYW_META = 139, + TOKEN_TYPE_KEYW_MODULE = 140, + TOKEN_TYPE_KEYW_NAMESPACE = 141, + TOKEN_TYPE_KEYW_NATIVE = 142, + TOKEN_TYPE_KEYW_NEVER = 143, + TOKEN_TYPE_KEYW_NEW = 144, + TOKEN_TYPE_LITERAL_NULL = 145, + TOKEN_TYPE_KEYW_NUMBER = 146, + TOKEN_TYPE_KEYW_OBJECT = 147, + TOKEN_TYPE_KEYW_BUILTIN_OBJECT = 148, + TOKEN_TYPE_KEYW_OF = 149, + TOKEN_TYPE_KEYW_FINAL = 150, + TOKEN_TYPE_KEYW_OUT = 151, + TOKEN_TYPE_KEYW_OVERRIDE = 152, + TOKEN_TYPE_KEYW_PACKAGE = 153, + TOKEN_TYPE_KEYW_INTERNAL = 154, + TOKEN_TYPE_KEYW_PRIVATE = 155, + TOKEN_TYPE_KEYW_PROTECTED = 156, + TOKEN_TYPE_KEYW_PUBLIC = 157, + TOKEN_TYPE_KEYW_READONLY = 158, + TOKEN_TYPE_KEYW_RETHROWS = 159, + TOKEN_TYPE_KEYW_RETURN = 160, + TOKEN_TYPE_KEYW_REQUIRE = 161, + TOKEN_TYPE_KEYW_SET = 162, + TOKEN_TYPE_KEYW_SHORT = 163, + TOKEN_TYPE_KEYW_BUILTIN_SHORT = 164, + TOKEN_TYPE_KEYW_STATIC = 165, + TOKEN_TYPE_KEYW_STRING = 166, + TOKEN_TYPE_KEYW_BUILTIN_STRING = 167, + TOKEN_TYPE_KEYW_STRUCT = 168, + TOKEN_TYPE_KEYW_SUPER = 169, + TOKEN_TYPE_KEYW_SWITCH = 170, + TOKEN_TYPE_KEYW_TARGET = 171, + TOKEN_TYPE_KEYW_THIS = 172, + TOKEN_TYPE_KEYW_THROW = 173, + TOKEN_TYPE_KEYW_THROWS = 174, + TOKEN_TYPE_LITERAL_TRUE = 175, + TOKEN_TYPE_KEYW_TRY = 176, + TOKEN_TYPE_KEYW_TYPE = 177, + TOKEN_TYPE_KEYW_TYPEOF = 178, + TOKEN_TYPE_KEYW_U8 = 179, + TOKEN_TYPE_KEYW_U16 = 180, + TOKEN_TYPE_KEYW_U32 = 181, + TOKEN_TYPE_KEYW_U64 = 182, + TOKEN_TYPE_KEYW_UNDEFINED = 183, + TOKEN_TYPE_KEYW_UNKNOWN = 184, + TOKEN_TYPE_KEYW_USIZE = 185, + TOKEN_TYPE_KEYW_V128 = 186, + TOKEN_TYPE_KEYW_VAR = 187, + TOKEN_TYPE_KEYW_VOID = 188, + TOKEN_TYPE_KEYW_WHILE = 189, + TOKEN_TYPE_KEYW_WITH = 190, + TOKEN_TYPE_KEYW_YIELD = 191, + TOKEN_TYPE_JS_DOC_START = 192, + TOKEN_TYPE_JS_DOC_END = 193, + TOKEN_TYPE_FIRST_PUNCTUATOR = 6, + TOKEN_TYPE_FIRST_KEYW = 68 +} export enum Es2pandaAstNodeFlags { AST_NODE_FLAGS_NO_OPTS = 0, AST_NODE_FLAGS_CHECKCAST = 1, - AST_NODE_FLAGS_CONVERT_TO_STRING = 2, - AST_NODE_FLAGS_ALLOW_REQUIRED_INSTANTIATION = 4, - AST_NODE_FLAGS_HAS_EXPORT_ALIAS = 8, - AST_NODE_FLAGS_GENERATE_VALUE_OF = 16, - AST_NODE_FLAGS_RECHECK = 32, - AST_NODE_FLAGS_NOCLEANUP = 64, - AST_NODE_FLAGS_RESIZABLE_REST = 128, - AST_NODE_FLAGS_TMP_CONVERT_PRIMITIVE_CAST_METHOD_CALL = 256 + AST_NODE_FLAGS_ALLOW_REQUIRED_INSTANTIATION = 2, + AST_NODE_FLAGS_HAS_EXPORT_ALIAS = 4, + AST_NODE_FLAGS_GENERATE_VALUE_OF = 8, + AST_NODE_FLAGS_RECHECK = 16, + AST_NODE_FLAGS_NOCLEANUP = 32, + AST_NODE_FLAGS_RESIZABLE_REST = 64, + AST_NODE_FLAGS_TMP_CONVERT_PRIMITIVE_CAST_METHOD_CALL = 128 } export enum Es2pandaModifierFlags { MODIFIER_FLAGS_NONE = 0, @@ -381,7 +612,9 @@ export enum Es2pandaScriptFunctionFlags { SCRIPT_FUNCTION_FLAGS_HAS_RETURN = 262144, SCRIPT_FUNCTION_FLAGS_ASYNC_IMPL = 524288, SCRIPT_FUNCTION_FLAGS_EXTERNAL_OVERLOAD = 1048576, - SCRIPT_FUNCTION_FLAGS_HAS_THROW = 2097152 + SCRIPT_FUNCTION_FLAGS_HAS_THROW = 2097152, + SCRIPT_FUNCTION_FLAGS_IN_RECORD = 4194304, + SCRIPT_FUNCTION_FLAGS_TRAILING_LAMBDA = 8388608 } export enum Es2pandaTSOperatorType { TS_OPERATOR_TYPE_READONLY = 0, @@ -393,28 +626,6 @@ export enum Es2pandaMappedOption { MAPPED_OPTION_PLUS = 1, MAPPED_OPTION_MINUS = 2 } -export enum Es2pandaBoxingUnboxingFlags { - BOXING_UNBOXING_FLAGS_NONE = 0, - BOXING_UNBOXING_FLAGS_BOX_TO_BOOLEAN = 1, - BOXING_UNBOXING_FLAGS_BOX_TO_BYTE = 2, - BOXING_UNBOXING_FLAGS_BOX_TO_SHORT = 4, - BOXING_UNBOXING_FLAGS_BOX_TO_CHAR = 8, - BOXING_UNBOXING_FLAGS_BOX_TO_INT = 16, - BOXING_UNBOXING_FLAGS_BOX_TO_LONG = 32, - BOXING_UNBOXING_FLAGS_BOX_TO_FLOAT = 64, - BOXING_UNBOXING_FLAGS_BOX_TO_DOUBLE = 128, - BOXING_UNBOXING_FLAGS_BOX_TO_ENUM = 256, - BOXING_UNBOXING_FLAGS_UNBOX_TO_BOOLEAN = 512, - BOXING_UNBOXING_FLAGS_UNBOX_TO_BYTE = 1024, - BOXING_UNBOXING_FLAGS_UNBOX_TO_SHORT = 2048, - BOXING_UNBOXING_FLAGS_UNBOX_TO_CHAR = 4096, - BOXING_UNBOXING_FLAGS_UNBOX_TO_INT = 8192, - BOXING_UNBOXING_FLAGS_UNBOX_TO_LONG = 16384, - BOXING_UNBOXING_FLAGS_UNBOX_TO_FLOAT = 32768, - BOXING_UNBOXING_FLAGS_UNBOX_TO_DOUBLE = 65536, - BOXING_UNBOXING_FLAGS_BOXING_FLAG = 511, - BOXING_UNBOXING_FLAGS_UNBOXING_FLAG = 130560 -} export enum Es2pandaClassDefinitionModifiers { CLASS_DEFINITION_MODIFIERS_NONE = 0, CLASS_DEFINITION_MODIFIERS_DECLARATION = 1, @@ -434,6 +645,7 @@ export enum Es2pandaClassDefinitionModifiers { CLASS_DEFINITION_MODIFIERS_STRING_ENUM_TRANSFORMED = 16384, CLASS_DEFINITION_MODIFIERS_INT_ENUM_TRANSFORMED = 32768, CLASS_DEFINITION_MODIFIERS_FROM_STRUCT = 65536, + CLASS_DEFINITION_MODIFIERS_FUNCTIONAL_REFERENCE = 131072, CLASS_DEFINITION_MODIFIERS_DECLARATION_ID_REQUIRED = 3, CLASS_DEFINITION_MODIFIERS_ETS_MODULE = 8196 } @@ -455,36 +667,37 @@ export enum Es2pandaOperandType { } export enum Es2pandaTypeRelationFlag { TYPE_RELATION_FLAG_NONE = 0, - TYPE_RELATION_FLAG_NARROWING = 1, - TYPE_RELATION_FLAG_WIDENING = 2, - TYPE_RELATION_FLAG_BOXING = 4, - TYPE_RELATION_FLAG_UNBOXING = 8, - TYPE_RELATION_FLAG_CAPTURE = 16, - TYPE_RELATION_FLAG_STRING = 32, - TYPE_RELATION_FLAG_VALUE_SET = 64, - TYPE_RELATION_FLAG_UNCHECKED = 128, - TYPE_RELATION_FLAG_NO_THROW = 256, - TYPE_RELATION_FLAG_SELF_REFERENCE = 512, - TYPE_RELATION_FLAG_NO_RETURN_TYPE_CHECK = 1024, - TYPE_RELATION_FLAG_DIRECT_RETURN = 2048, - TYPE_RELATION_FLAG_NO_WIDENING = 4096, - TYPE_RELATION_FLAG_NO_BOXING = 8192, - TYPE_RELATION_FLAG_NO_UNBOXING = 16384, - TYPE_RELATION_FLAG_ONLY_CHECK_WIDENING = 32768, - TYPE_RELATION_FLAG_ONLY_CHECK_BOXING_UNBOXING = 65536, - TYPE_RELATION_FLAG_IN_ASSIGNMENT_CONTEXT = 131072, - TYPE_RELATION_FLAG_IN_CASTING_CONTEXT = 262144, - TYPE_RELATION_FLAG_UNCHECKED_CAST = 524288, - TYPE_RELATION_FLAG_IGNORE_TYPE_PARAMETERS = 1048576, - TYPE_RELATION_FLAG_CHECK_PROXY = 2097152, - TYPE_RELATION_FLAG_NO_CHECK_TRAILING_LAMBDA = 4194304, - TYPE_RELATION_FLAG_NO_THROW_GENERIC_TYPEALIAS = 8388608, - TYPE_RELATION_FLAG_OVERRIDING_CONTEXT = 16777216, - TYPE_RELATION_FLAG_IGNORE_REST_PARAM = 33554432, - TYPE_RELATION_FLAG_STRING_TO_CHAR = 67108864, - TYPE_RELATION_FLAG_ASSIGNMENT_CONTEXT = 14, - TYPE_RELATION_FLAG_BRIDGE_CHECK = 17826816, - TYPE_RELATION_FLAG_CASTING_CONTEXT = 524303 + TYPE_RELATION_FLAG_WIDENING = 1, + TYPE_RELATION_FLAG_BOXING = 2, + TYPE_RELATION_FLAG_UNBOXING = 4, + TYPE_RELATION_FLAG_CAPTURE = 8, + TYPE_RELATION_FLAG_STRING = 16, + TYPE_RELATION_FLAG_VALUE_SET = 32, + TYPE_RELATION_FLAG_UNCHECKED = 64, + TYPE_RELATION_FLAG_NO_THROW = 128, + TYPE_RELATION_FLAG_SELF_REFERENCE = 256, + TYPE_RELATION_FLAG_NO_RETURN_TYPE_CHECK = 512, + TYPE_RELATION_FLAG_DIRECT_RETURN = 1024, + TYPE_RELATION_FLAG_NO_WIDENING = 2048, + TYPE_RELATION_FLAG_NO_BOXING = 4096, + TYPE_RELATION_FLAG_NO_UNBOXING = 8192, + TYPE_RELATION_FLAG_ONLY_CHECK_WIDENING = 16384, + TYPE_RELATION_FLAG_ONLY_CHECK_BOXING_UNBOXING = 32768, + TYPE_RELATION_FLAG_IN_ASSIGNMENT_CONTEXT = 65536, + TYPE_RELATION_FLAG_IN_CASTING_CONTEXT = 131072, + TYPE_RELATION_FLAG_UNCHECKED_CAST = 262144, + TYPE_RELATION_FLAG_IGNORE_TYPE_PARAMETERS = 524288, + TYPE_RELATION_FLAG_CHECK_PROXY = 1048576, + TYPE_RELATION_FLAG_NO_CHECK_TRAILING_LAMBDA = 2097152, + TYPE_RELATION_FLAG_NO_THROW_GENERIC_TYPEALIAS = 4194304, + TYPE_RELATION_FLAG_OVERRIDING_CONTEXT = 8388608, + TYPE_RELATION_FLAG_IGNORE_REST_PARAM = 16777216, + TYPE_RELATION_FLAG_STRING_TO_CHAR = 33554432, + TYPE_RELATION_FLAG_OVERLOADING_CONTEXT = 67108864, + TYPE_RELATION_FLAG_NO_SUBSTITUTION_NEEDED = 134217728, + TYPE_RELATION_FLAG_ASSIGNMENT_CONTEXT = 7, + TYPE_RELATION_FLAG_BRIDGE_CHECK = 8912896, + TYPE_RELATION_FLAG_CASTING_CONTEXT = 262151 } export enum Es2pandaRelationResult { RELATION_RESULT_TRUE = 0, @@ -601,6 +814,7 @@ export enum Es2pandaSignatureFlags { SIGNATURE_FLAGS_RETHROWS = 131072, SIGNATURE_FLAGS_EXTENSION_FUNCTION = 262144, SIGNATURE_FLAGS_DUPLICATE_ASM = 524288, + SIGNATURE_FLAGS_BRIDGE = 1048576, SIGNATURE_FLAGS_INTERNAL_PROTECTED = 1040, SIGNATURE_FLAGS_GETTER_OR_SETTER = 49152, SIGNATURE_FLAGS_THROWING = 196608 @@ -734,150 +948,153 @@ export enum Es2pandaGlobalTypeId { GLOBAL_TYPE_ID_ETS_OBJECT_BUILTIN = 33, GLOBAL_TYPE_ID_ETS_NULL = 34, GLOBAL_TYPE_ID_ETS_UNDEFINED = 35, - GLOBAL_TYPE_ID_ETS_NULLISH_TYPE = 36, - GLOBAL_TYPE_ID_ETS_NEVER = 37, - GLOBAL_TYPE_ID_ETS_NULLISH_OBJECT = 38, - GLOBAL_TYPE_ID_ETS_WILDCARD = 39, - GLOBAL_TYPE_ID_ETS_BOOLEAN_BUILTIN = 40, - GLOBAL_TYPE_ID_ETS_BYTE_BUILTIN = 41, - GLOBAL_TYPE_ID_ETS_CHAR_BUILTIN = 42, - GLOBAL_TYPE_ID_ETS_COMPARABLE_BUILTIN = 43, - GLOBAL_TYPE_ID_ETS_CONSOLE_BUILTIN = 44, - GLOBAL_TYPE_ID_ETS_DATE_BUILTIN = 45, - GLOBAL_TYPE_ID_ETS_DOUBLE_BUILTIN = 46, - GLOBAL_TYPE_ID_ETS_EXCEPTION_BUILTIN = 47, - GLOBAL_TYPE_ID_ETS_FLOAT_BUILTIN = 48, - GLOBAL_TYPE_ID_ETS_FLOATING_BUILTIN = 49, - GLOBAL_TYPE_ID_ETS_INT_BUILTIN = 50, - GLOBAL_TYPE_ID_ETS_INTEGRAL_BUILTIN = 51, - GLOBAL_TYPE_ID_ETS_LONG_BUILTIN = 52, - GLOBAL_TYPE_ID_ETS_MAP_BUILTIN = 53, - GLOBAL_TYPE_ID_ETS_ERROR_BUILTIN = 54, - GLOBAL_TYPE_ID_ETS_RUNTIME_BUILTIN = 55, - GLOBAL_TYPE_ID_ETS_RUNTIME_LINKER_BUILTIN = 56, - GLOBAL_TYPE_ID_ETS_SET_BUILTIN = 57, - GLOBAL_TYPE_ID_ETS_SHORT_BUILTIN = 58, - GLOBAL_TYPE_ID_ETS_STACK_TRACE_ELEMENT_BUILTIN = 59, - GLOBAL_TYPE_ID_ETS_STACK_TRACE_BUILTIN = 60, - GLOBAL_TYPE_ID_ETS_ARRAY_INDEX_OUT_OF_BOUNDS_ERROR_BUILTIN = 61, - GLOBAL_TYPE_ID_ETS_ARITHMETIC_ERROR_BUILTIN = 62, - GLOBAL_TYPE_ID_ETS_CLASS_CAST_ERROR_BUILTIN = 63, - GLOBAL_TYPE_ID_ETS_ASSERTION_ERROR_BUILTIN = 64, - GLOBAL_TYPE_ID_ETS_DIVIDE_BY_ZERO_ERROR_BUILTIN = 65, - GLOBAL_TYPE_ID_ETS_NULL_POINTER_ERROR_BUILTIN = 66, - GLOBAL_TYPE_ID_ETS_UNCAUGHT_EXCEPTION_ERROR_BUILTIN = 67, - GLOBAL_TYPE_ID_ETS_STRING_BUILTIN = 68, - GLOBAL_TYPE_ID_ETS_STRING_BUILDER_BUILTIN = 69, - GLOBAL_TYPE_ID_ETS_TYPE_BUILTIN = 70, - GLOBAL_TYPE_ID_ETS_TYPES_BUILTIN = 71, - GLOBAL_TYPE_ID_ETS_PROMISE_BUILTIN = 72, - GLOBAL_TYPE_ID_ETS_FUNCTION_BUILTIN = 73, - GLOBAL_TYPE_ID_ETS_REGEXP_BUILTIN = 74, - GLOBAL_TYPE_ID_ETS_ARRAY_BUILTIN = 75, - GLOBAL_TYPE_ID_ETS_ARRAY = 76, - GLOBAL_TYPE_ID_ETS_INTEROP_JSRUNTIME_BUILTIN = 77, - GLOBAL_TYPE_ID_ETS_INTEROP_JSVALUE_BUILTIN = 78, - GLOBAL_TYPE_ID_ETS_BOX_BUILTIN = 79, - GLOBAL_TYPE_ID_ETS_BOOLEAN_BOX_BUILTIN = 80, - GLOBAL_TYPE_ID_ETS_BYTE_BOX_BUILTIN = 81, - GLOBAL_TYPE_ID_ETS_CHAR_BOX_BUILTIN = 82, - GLOBAL_TYPE_ID_ETS_SHORT_BOX_BUILTIN = 83, - GLOBAL_TYPE_ID_ETS_INT_BOX_BUILTIN = 84, - GLOBAL_TYPE_ID_ETS_LONG_BOX_BUILTIN = 85, - GLOBAL_TYPE_ID_ETS_FLOAT_BOX_BUILTIN = 86, - GLOBAL_TYPE_ID_ETS_DOUBLE_BOX_BUILTIN = 87, - GLOBAL_TYPE_ID_ETS_BIG_INT_BUILTIN = 88, - GLOBAL_TYPE_ID_ETS_BIG_INT = 89, - GLOBAL_TYPE_ID_ETS_FUNCTION0_CLASS = 90, - GLOBAL_TYPE_ID_ETS_FUNCTION1_CLASS = 91, - GLOBAL_TYPE_ID_ETS_FUNCTION2_CLASS = 92, - GLOBAL_TYPE_ID_ETS_FUNCTION3_CLASS = 93, - GLOBAL_TYPE_ID_ETS_FUNCTION4_CLASS = 94, - GLOBAL_TYPE_ID_ETS_FUNCTION5_CLASS = 95, - GLOBAL_TYPE_ID_ETS_FUNCTION6_CLASS = 96, - GLOBAL_TYPE_ID_ETS_FUNCTION7_CLASS = 97, - GLOBAL_TYPE_ID_ETS_FUNCTION8_CLASS = 98, - GLOBAL_TYPE_ID_ETS_FUNCTION9_CLASS = 99, - GLOBAL_TYPE_ID_ETS_FUNCTION10_CLASS = 100, - GLOBAL_TYPE_ID_ETS_FUNCTION11_CLASS = 101, - GLOBAL_TYPE_ID_ETS_FUNCTION12_CLASS = 102, - GLOBAL_TYPE_ID_ETS_FUNCTION13_CLASS = 103, - GLOBAL_TYPE_ID_ETS_FUNCTION14_CLASS = 104, - GLOBAL_TYPE_ID_ETS_FUNCTION15_CLASS = 105, - GLOBAL_TYPE_ID_ETS_FUNCTION16_CLASS = 106, - GLOBAL_TYPE_ID_ETS_FUNCTIONN_CLASS = 107, - GLOBAL_TYPE_ID_ETS_LAMBDA0_CLASS = 108, - GLOBAL_TYPE_ID_ETS_LAMBDA1_CLASS = 109, - GLOBAL_TYPE_ID_ETS_LAMBDA2_CLASS = 110, - GLOBAL_TYPE_ID_ETS_LAMBDA3_CLASS = 111, - GLOBAL_TYPE_ID_ETS_LAMBDA4_CLASS = 112, - GLOBAL_TYPE_ID_ETS_LAMBDA5_CLASS = 113, - GLOBAL_TYPE_ID_ETS_LAMBDA6_CLASS = 114, - GLOBAL_TYPE_ID_ETS_LAMBDA7_CLASS = 115, - GLOBAL_TYPE_ID_ETS_LAMBDA8_CLASS = 116, - GLOBAL_TYPE_ID_ETS_LAMBDA9_CLASS = 117, - GLOBAL_TYPE_ID_ETS_LAMBDA10_CLASS = 118, - GLOBAL_TYPE_ID_ETS_LAMBDA11_CLASS = 119, - GLOBAL_TYPE_ID_ETS_LAMBDA12_CLASS = 120, - GLOBAL_TYPE_ID_ETS_LAMBDA13_CLASS = 121, - GLOBAL_TYPE_ID_ETS_LAMBDA14_CLASS = 122, - GLOBAL_TYPE_ID_ETS_LAMBDA15_CLASS = 123, - GLOBAL_TYPE_ID_ETS_LAMBDA16_CLASS = 124, - GLOBAL_TYPE_ID_ETS_LAMBDAN_CLASS = 125, - GLOBAL_TYPE_ID_ETS_FUNCTIONR0_CLASS = 126, - GLOBAL_TYPE_ID_ETS_FUNCTIONR1_CLASS = 127, - GLOBAL_TYPE_ID_ETS_FUNCTIONR2_CLASS = 128, - GLOBAL_TYPE_ID_ETS_FUNCTIONR3_CLASS = 129, - GLOBAL_TYPE_ID_ETS_FUNCTIONR4_CLASS = 130, - GLOBAL_TYPE_ID_ETS_FUNCTIONR5_CLASS = 131, - GLOBAL_TYPE_ID_ETS_FUNCTIONR6_CLASS = 132, - GLOBAL_TYPE_ID_ETS_FUNCTIONR7_CLASS = 133, - GLOBAL_TYPE_ID_ETS_FUNCTIONR8_CLASS = 134, - GLOBAL_TYPE_ID_ETS_FUNCTIONR9_CLASS = 135, - GLOBAL_TYPE_ID_ETS_FUNCTIONR10_CLASS = 136, - GLOBAL_TYPE_ID_ETS_FUNCTIONR11_CLASS = 137, - GLOBAL_TYPE_ID_ETS_FUNCTIONR12_CLASS = 138, - GLOBAL_TYPE_ID_ETS_FUNCTIONR13_CLASS = 139, - GLOBAL_TYPE_ID_ETS_FUNCTIONR14_CLASS = 140, - GLOBAL_TYPE_ID_ETS_FUNCTIONR15_CLASS = 141, - GLOBAL_TYPE_ID_ETS_FUNCTIONR16_CLASS = 142, - GLOBAL_TYPE_ID_ETS_LAMBDAR0_CLASS = 143, - GLOBAL_TYPE_ID_ETS_LAMBDAR1_CLASS = 144, - GLOBAL_TYPE_ID_ETS_LAMBDAR2_CLASS = 145, - GLOBAL_TYPE_ID_ETS_LAMBDAR3_CLASS = 146, - GLOBAL_TYPE_ID_ETS_LAMBDAR4_CLASS = 147, - GLOBAL_TYPE_ID_ETS_LAMBDAR5_CLASS = 148, - GLOBAL_TYPE_ID_ETS_LAMBDAR6_CLASS = 149, - GLOBAL_TYPE_ID_ETS_LAMBDAR7_CLASS = 150, - GLOBAL_TYPE_ID_ETS_LAMBDAR8_CLASS = 151, - GLOBAL_TYPE_ID_ETS_LAMBDAR9_CLASS = 152, - GLOBAL_TYPE_ID_ETS_LAMBDAR10_CLASS = 153, - GLOBAL_TYPE_ID_ETS_LAMBDAR11_CLASS = 154, - GLOBAL_TYPE_ID_ETS_LAMBDAR12_CLASS = 155, - GLOBAL_TYPE_ID_ETS_LAMBDAR13_CLASS = 156, - GLOBAL_TYPE_ID_ETS_LAMBDAR14_CLASS = 157, - GLOBAL_TYPE_ID_ETS_LAMBDAR15_CLASS = 158, - GLOBAL_TYPE_ID_ETS_LAMBDAR16_CLASS = 159, - GLOBAL_TYPE_ID_ETS_TUPLE0_CLASS = 160, - GLOBAL_TYPE_ID_ETS_TUPLE1_CLASS = 161, - GLOBAL_TYPE_ID_ETS_TUPLE2_CLASS = 162, - GLOBAL_TYPE_ID_ETS_TUPLE3_CLASS = 163, - GLOBAL_TYPE_ID_ETS_TUPLE4_CLASS = 164, - GLOBAL_TYPE_ID_ETS_TUPLE5_CLASS = 165, - GLOBAL_TYPE_ID_ETS_TUPLE6_CLASS = 166, - GLOBAL_TYPE_ID_ETS_TUPLE7_CLASS = 167, - GLOBAL_TYPE_ID_ETS_TUPLE8_CLASS = 168, - GLOBAL_TYPE_ID_ETS_TUPLE9_CLASS = 169, - GLOBAL_TYPE_ID_ETS_TUPLE10_CLASS = 170, - GLOBAL_TYPE_ID_ETS_TUPLE11_CLASS = 171, - GLOBAL_TYPE_ID_ETS_TUPLE12_CLASS = 172, - GLOBAL_TYPE_ID_ETS_TUPLE13_CLASS = 173, - GLOBAL_TYPE_ID_ETS_TUPLE14_CLASS = 174, - GLOBAL_TYPE_ID_ETS_TUPLE15_CLASS = 175, - GLOBAL_TYPE_ID_ETS_TUPLE16_CLASS = 176, - GLOBAL_TYPE_ID_ETS_TUPLEN_CLASS = 177, - GLOBAL_TYPE_ID_TYPE_ERROR = 178, - GLOBAL_TYPE_ID_COUNT = 179 + GLOBAL_TYPE_ID_ETS_UNION_UNDEFINED_NULL = 36, + GLOBAL_TYPE_ID_ETS_ANY = 37, + GLOBAL_TYPE_ID_ETS_NEVER = 38, + GLOBAL_TYPE_ID_ETS_UNION_UNDEFINED_NULL_OBJECT = 39, + GLOBAL_TYPE_ID_ETS_WILDCARD = 40, + GLOBAL_TYPE_ID_ETS_BOOLEAN_BUILTIN = 41, + GLOBAL_TYPE_ID_ETS_BYTE_BUILTIN = 42, + GLOBAL_TYPE_ID_ETS_CHAR_BUILTIN = 43, + GLOBAL_TYPE_ID_ETS_COMPARABLE_BUILTIN = 44, + GLOBAL_TYPE_ID_ETS_CONSOLE_BUILTIN = 45, + GLOBAL_TYPE_ID_ETS_DATE_BUILTIN = 46, + GLOBAL_TYPE_ID_ETS_DOUBLE_BUILTIN = 47, + GLOBAL_TYPE_ID_ETS_EXCEPTION_BUILTIN = 48, + GLOBAL_TYPE_ID_ETS_FLOAT_BUILTIN = 49, + GLOBAL_TYPE_ID_ETS_FLOATING_BUILTIN = 50, + GLOBAL_TYPE_ID_ETS_INT_BUILTIN = 51, + GLOBAL_TYPE_ID_ETS_INTEGRAL_BUILTIN = 52, + GLOBAL_TYPE_ID_ETS_LONG_BUILTIN = 53, + GLOBAL_TYPE_ID_ETS_NUMERIC_BUILTIN = 54, + GLOBAL_TYPE_ID_ETS_MAP_BUILTIN = 55, + GLOBAL_TYPE_ID_ETS_RECORD_BUILTIN = 56, + GLOBAL_TYPE_ID_ETS_ERROR_BUILTIN = 57, + GLOBAL_TYPE_ID_ETS_RUNTIME_BUILTIN = 58, + GLOBAL_TYPE_ID_ETS_RUNTIME_LINKER_BUILTIN = 59, + GLOBAL_TYPE_ID_ETS_SET_BUILTIN = 60, + GLOBAL_TYPE_ID_ETS_SHORT_BUILTIN = 61, + GLOBAL_TYPE_ID_ETS_STACK_TRACE_ELEMENT_BUILTIN = 62, + GLOBAL_TYPE_ID_ETS_STACK_TRACE_BUILTIN = 63, + GLOBAL_TYPE_ID_ETS_ARRAY_INDEX_OUT_OF_BOUNDS_ERROR_BUILTIN = 64, + GLOBAL_TYPE_ID_ETS_ARITHMETIC_ERROR_BUILTIN = 65, + GLOBAL_TYPE_ID_ETS_CLASS_CAST_ERROR_BUILTIN = 66, + GLOBAL_TYPE_ID_ETS_ASSERTION_ERROR_BUILTIN = 67, + GLOBAL_TYPE_ID_ETS_DIVIDE_BY_ZERO_ERROR_BUILTIN = 68, + GLOBAL_TYPE_ID_ETS_NULL_POINTER_ERROR_BUILTIN = 69, + GLOBAL_TYPE_ID_ETS_UNCAUGHT_EXCEPTION_ERROR_BUILTIN = 70, + GLOBAL_TYPE_ID_ETS_STRING_BUILTIN = 71, + GLOBAL_TYPE_ID_ETS_STRING_BUILDER_BUILTIN = 72, + GLOBAL_TYPE_ID_ETS_TYPE_BUILTIN = 73, + GLOBAL_TYPE_ID_ETS_TYPES_BUILTIN = 74, + GLOBAL_TYPE_ID_ETS_PROMISE_BUILTIN = 75, + GLOBAL_TYPE_ID_ETS_FUNCTION_BUILTIN = 76, + GLOBAL_TYPE_ID_ETS_REGEXP_BUILTIN = 77, + GLOBAL_TYPE_ID_ETS_ARRAY_BUILTIN = 78, + GLOBAL_TYPE_ID_ETS_INTEROP_JSRUNTIME_BUILTIN = 79, + GLOBAL_TYPE_ID_ETS_INTEROP_JSVALUE_BUILTIN = 80, + GLOBAL_TYPE_ID_ETS_BOX_BUILTIN = 81, + GLOBAL_TYPE_ID_ETS_BOOLEAN_BOX_BUILTIN = 82, + GLOBAL_TYPE_ID_ETS_BYTE_BOX_BUILTIN = 83, + GLOBAL_TYPE_ID_ETS_CHAR_BOX_BUILTIN = 84, + GLOBAL_TYPE_ID_ETS_SHORT_BOX_BUILTIN = 85, + GLOBAL_TYPE_ID_ETS_INT_BOX_BUILTIN = 86, + GLOBAL_TYPE_ID_ETS_LONG_BOX_BUILTIN = 87, + GLOBAL_TYPE_ID_ETS_FLOAT_BOX_BUILTIN = 88, + GLOBAL_TYPE_ID_ETS_DOUBLE_BOX_BUILTIN = 89, + GLOBAL_TYPE_ID_ETS_BIG_INT_BUILTIN = 90, + GLOBAL_TYPE_ID_ETS_BIG_INT = 91, + GLOBAL_TYPE_ID_ETS_ARRAY = 92, + GLOBAL_TYPE_ID_ETS_FUNCTION0_CLASS = 93, + GLOBAL_TYPE_ID_ETS_FUNCTION1_CLASS = 94, + GLOBAL_TYPE_ID_ETS_FUNCTION2_CLASS = 95, + GLOBAL_TYPE_ID_ETS_FUNCTION3_CLASS = 96, + GLOBAL_TYPE_ID_ETS_FUNCTION4_CLASS = 97, + GLOBAL_TYPE_ID_ETS_FUNCTION5_CLASS = 98, + GLOBAL_TYPE_ID_ETS_FUNCTION6_CLASS = 99, + GLOBAL_TYPE_ID_ETS_FUNCTION7_CLASS = 100, + GLOBAL_TYPE_ID_ETS_FUNCTION8_CLASS = 101, + GLOBAL_TYPE_ID_ETS_FUNCTION9_CLASS = 102, + GLOBAL_TYPE_ID_ETS_FUNCTION10_CLASS = 103, + GLOBAL_TYPE_ID_ETS_FUNCTION11_CLASS = 104, + GLOBAL_TYPE_ID_ETS_FUNCTION12_CLASS = 105, + GLOBAL_TYPE_ID_ETS_FUNCTION13_CLASS = 106, + GLOBAL_TYPE_ID_ETS_FUNCTION14_CLASS = 107, + GLOBAL_TYPE_ID_ETS_FUNCTION15_CLASS = 108, + GLOBAL_TYPE_ID_ETS_FUNCTION16_CLASS = 109, + GLOBAL_TYPE_ID_ETS_FUNCTIONN_CLASS = 110, + GLOBAL_TYPE_ID_ETS_LAMBDA0_CLASS = 111, + GLOBAL_TYPE_ID_ETS_LAMBDA1_CLASS = 112, + GLOBAL_TYPE_ID_ETS_LAMBDA2_CLASS = 113, + GLOBAL_TYPE_ID_ETS_LAMBDA3_CLASS = 114, + GLOBAL_TYPE_ID_ETS_LAMBDA4_CLASS = 115, + GLOBAL_TYPE_ID_ETS_LAMBDA5_CLASS = 116, + GLOBAL_TYPE_ID_ETS_LAMBDA6_CLASS = 117, + GLOBAL_TYPE_ID_ETS_LAMBDA7_CLASS = 118, + GLOBAL_TYPE_ID_ETS_LAMBDA8_CLASS = 119, + GLOBAL_TYPE_ID_ETS_LAMBDA9_CLASS = 120, + GLOBAL_TYPE_ID_ETS_LAMBDA10_CLASS = 121, + GLOBAL_TYPE_ID_ETS_LAMBDA11_CLASS = 122, + GLOBAL_TYPE_ID_ETS_LAMBDA12_CLASS = 123, + GLOBAL_TYPE_ID_ETS_LAMBDA13_CLASS = 124, + GLOBAL_TYPE_ID_ETS_LAMBDA14_CLASS = 125, + GLOBAL_TYPE_ID_ETS_LAMBDA15_CLASS = 126, + GLOBAL_TYPE_ID_ETS_LAMBDA16_CLASS = 127, + GLOBAL_TYPE_ID_ETS_LAMBDAN_CLASS = 128, + GLOBAL_TYPE_ID_ETS_FUNCTIONR0_CLASS = 129, + GLOBAL_TYPE_ID_ETS_FUNCTIONR1_CLASS = 130, + GLOBAL_TYPE_ID_ETS_FUNCTIONR2_CLASS = 131, + GLOBAL_TYPE_ID_ETS_FUNCTIONR3_CLASS = 132, + GLOBAL_TYPE_ID_ETS_FUNCTIONR4_CLASS = 133, + GLOBAL_TYPE_ID_ETS_FUNCTIONR5_CLASS = 134, + GLOBAL_TYPE_ID_ETS_FUNCTIONR6_CLASS = 135, + GLOBAL_TYPE_ID_ETS_FUNCTIONR7_CLASS = 136, + GLOBAL_TYPE_ID_ETS_FUNCTIONR8_CLASS = 137, + GLOBAL_TYPE_ID_ETS_FUNCTIONR9_CLASS = 138, + GLOBAL_TYPE_ID_ETS_FUNCTIONR10_CLASS = 139, + GLOBAL_TYPE_ID_ETS_FUNCTIONR11_CLASS = 140, + GLOBAL_TYPE_ID_ETS_FUNCTIONR12_CLASS = 141, + GLOBAL_TYPE_ID_ETS_FUNCTIONR13_CLASS = 142, + GLOBAL_TYPE_ID_ETS_FUNCTIONR14_CLASS = 143, + GLOBAL_TYPE_ID_ETS_FUNCTIONR15_CLASS = 144, + GLOBAL_TYPE_ID_ETS_FUNCTIONR16_CLASS = 145, + GLOBAL_TYPE_ID_ETS_LAMBDAR0_CLASS = 146, + GLOBAL_TYPE_ID_ETS_LAMBDAR1_CLASS = 147, + GLOBAL_TYPE_ID_ETS_LAMBDAR2_CLASS = 148, + GLOBAL_TYPE_ID_ETS_LAMBDAR3_CLASS = 149, + GLOBAL_TYPE_ID_ETS_LAMBDAR4_CLASS = 150, + GLOBAL_TYPE_ID_ETS_LAMBDAR5_CLASS = 151, + GLOBAL_TYPE_ID_ETS_LAMBDAR6_CLASS = 152, + GLOBAL_TYPE_ID_ETS_LAMBDAR7_CLASS = 153, + GLOBAL_TYPE_ID_ETS_LAMBDAR8_CLASS = 154, + GLOBAL_TYPE_ID_ETS_LAMBDAR9_CLASS = 155, + GLOBAL_TYPE_ID_ETS_LAMBDAR10_CLASS = 156, + GLOBAL_TYPE_ID_ETS_LAMBDAR11_CLASS = 157, + GLOBAL_TYPE_ID_ETS_LAMBDAR12_CLASS = 158, + GLOBAL_TYPE_ID_ETS_LAMBDAR13_CLASS = 159, + GLOBAL_TYPE_ID_ETS_LAMBDAR14_CLASS = 160, + GLOBAL_TYPE_ID_ETS_LAMBDAR15_CLASS = 161, + GLOBAL_TYPE_ID_ETS_LAMBDAR16_CLASS = 162, + GLOBAL_TYPE_ID_ETS_TUPLE0_CLASS = 163, + GLOBAL_TYPE_ID_ETS_TUPLE1_CLASS = 164, + GLOBAL_TYPE_ID_ETS_TUPLE2_CLASS = 165, + GLOBAL_TYPE_ID_ETS_TUPLE3_CLASS = 166, + GLOBAL_TYPE_ID_ETS_TUPLE4_CLASS = 167, + GLOBAL_TYPE_ID_ETS_TUPLE5_CLASS = 168, + GLOBAL_TYPE_ID_ETS_TUPLE6_CLASS = 169, + GLOBAL_TYPE_ID_ETS_TUPLE7_CLASS = 170, + GLOBAL_TYPE_ID_ETS_TUPLE8_CLASS = 171, + GLOBAL_TYPE_ID_ETS_TUPLE9_CLASS = 172, + GLOBAL_TYPE_ID_ETS_TUPLE10_CLASS = 173, + GLOBAL_TYPE_ID_ETS_TUPLE11_CLASS = 174, + GLOBAL_TYPE_ID_ETS_TUPLE12_CLASS = 175, + GLOBAL_TYPE_ID_ETS_TUPLE13_CLASS = 176, + GLOBAL_TYPE_ID_ETS_TUPLE14_CLASS = 177, + GLOBAL_TYPE_ID_ETS_TUPLE15_CLASS = 178, + GLOBAL_TYPE_ID_ETS_TUPLE16_CLASS = 179, + GLOBAL_TYPE_ID_ETS_TUPLEN_CLASS = 180, + GLOBAL_TYPE_ID_TYPE_ERROR = 181, + GLOBAL_TYPE_ID_COUNT = 182 } export enum Es2pandaMethodDefinitionKind { METHOD_DEFINITION_KIND_NONE = 0, @@ -1076,12 +1293,11 @@ export enum Es2pandaProgramFlags { PROGRAM_FLAGS_AST_CHECK_PROCESSED = 2, PROGRAM_FLAGS_AST_ENUM_LOWERED = 4, PROGRAM_FLAGS_AST_BOXED_TYPE_LOWERED = 8, - PROGRAM_FLAGS_AST_CONST_STRING_TO_CHAR_LOWERED = 16, - PROGRAM_FLAGS_AST_CONSTANT_EXPRESSION_LOWERED = 32, - PROGRAM_FLAGS_AST_STRING_CONSTANT_LOWERED = 64, - PROGRAM_FLAGS_AST_IDENTIFIER_ANALYZED = 128, - PROGRAM_FLAGS_AST_HAS_SCOPES_INITIALIZED = 256, - PROGRAM_FLAGS_AST_HAS_OPTIONAL_PARAMETER_ANNOTATION = 512 + PROGRAM_FLAGS_AST_CONSTANT_EXPRESSION_LOWERED = 16, + PROGRAM_FLAGS_AST_STRING_CONSTANT_LOWERED = 32, + PROGRAM_FLAGS_AST_IDENTIFIER_ANALYZED = 64, + PROGRAM_FLAGS_AST_HAS_SCOPES_INITIALIZED = 128, + PROGRAM_FLAGS_AST_HAS_OPTIONAL_PARAMETER_ANNOTATION = 256 } export enum Es2pandaCompilationMode { COMPILATION_MODE_GEN_STD_LIB = 0, @@ -1098,234 +1314,3 @@ export enum Es2pandaModuleKind { MODULE_KIND_DECLARATION = 1, MODULE_KIND_PACKAGE = 2 } -export enum Es2pandaEnum { - ENUM_NODE_HAS_PARENT = 0, - ENUM_NODE_HAS_SOURCE_RANGE = 1, - ENUM_EVERY_CHILD_HAS_VALID_PARENT = 2, - ENUM_EVERY_CHILD_IN_PARENT_RANGE = 3, - ENUM_CHECK_STRUCT_DECLARATION = 4, - ENUM_VARIABLE_HAS_SCOPE = 5, - ENUM_NODE_HAS_TYPE = 6, - ENUM_NO_PRIMITIVE_TYPES = 7, - ENUM_IDENTIFIER_HAS_VARIABLE = 8, - ENUM_REFERENCE_TYPE_ANNOTATION_IS_NULL = 9, - ENUM_ARITHMETIC_OPERATION_VALID = 10, - ENUM_SEQUENCE_EXPRESSION_HAS_LAST_TYPE = 11, - ENUM_FOR_LOOP_CORRECTLY_INITIALIZED = 12, - ENUM_VARIABLE_HAS_ENCLOSING_SCOPE = 13, - ENUM_MODIFIER_ACCESS_VALID = 14, - ENUM_VARIABLE_NAME_IDENTIFIER_NAME_SAME = 15, - ENUM_CHECK_ABSTRACT_METHOD = 16, - ENUM_GETTER_SETTER_VALIDATION = 17, - ENUM_CHECK_SCOPE_DECLARATION = 18, - ENUM_CHECK_CONST_PROPERTIES = 19, - ENUM_COUNT = 20, - ENUM_BASE_FIRST = 0, - ENUM_BASE_LAST = 3, - ENUM_AFTER_PLUGINS_AFTER_PARSE_FIRST = 4, - ENUM_AFTER_PLUGINS_AFTER_PARSE_LAST = 4, - ENUM_AFTER_SCOPES_INIT_PHASE_FIRST = 5, - ENUM_AFTER_SCOPES_INIT_PHASE_LAST = 5, - ENUM_AFTER_CHECKER_PHASE_FIRST = 6, - ENUM_AFTER_CHECKER_PHASE_LAST = 19, - ENUM_FIRST = 0, - ENUM_LAST = 19, - ENUM_INVALID = 20 -} -export enum Es2pandaTokenType { - TOKEN_TYPE_EOS = 0, - TOKEN_TYPE_LITERAL_IDENT = 1, - TOKEN_TYPE_LITERAL_STRING = 2, - TOKEN_TYPE_LITERAL_CHAR = 3, - TOKEN_TYPE_LITERAL_NUMBER = 4, - TOKEN_TYPE_LITERAL_REGEXP = 5, - TOKEN_TYPE_PUNCTUATOR_BITWISE_AND = 6, - TOKEN_TYPE_PUNCTUATOR_BITWISE_OR = 7, - TOKEN_TYPE_PUNCTUATOR_MULTIPLY = 8, - TOKEN_TYPE_PUNCTUATOR_DIVIDE = 9, - TOKEN_TYPE_PUNCTUATOR_MINUS = 10, - TOKEN_TYPE_PUNCTUATOR_EXCLAMATION_MARK = 11, - TOKEN_TYPE_PUNCTUATOR_TILDE = 12, - TOKEN_TYPE_PUNCTUATOR_MINUS_MINUS = 13, - TOKEN_TYPE_PUNCTUATOR_LEFT_SHIFT = 14, - TOKEN_TYPE_PUNCTUATOR_RIGHT_SHIFT = 15, - TOKEN_TYPE_PUNCTUATOR_LESS_THAN_EQUAL = 16, - TOKEN_TYPE_PUNCTUATOR_GREATER_THAN_EQUAL = 17, - TOKEN_TYPE_PUNCTUATOR_MOD = 18, - TOKEN_TYPE_PUNCTUATOR_BITWISE_XOR = 19, - TOKEN_TYPE_PUNCTUATOR_EXPONENTIATION = 20, - TOKEN_TYPE_PUNCTUATOR_MULTIPLY_EQUAL = 21, - TOKEN_TYPE_PUNCTUATOR_EXPONENTIATION_EQUAL = 22, - TOKEN_TYPE_PUNCTUATOR_ARROW = 23, - TOKEN_TYPE_PUNCTUATOR_BACK_TICK = 24, - TOKEN_TYPE_PUNCTUATOR_HASH_MARK = 25, - TOKEN_TYPE_PUNCTUATOR_DIVIDE_EQUAL = 26, - TOKEN_TYPE_PUNCTUATOR_MOD_EQUAL = 27, - TOKEN_TYPE_PUNCTUATOR_MINUS_EQUAL = 28, - TOKEN_TYPE_PUNCTUATOR_LEFT_SHIFT_EQUAL = 29, - TOKEN_TYPE_PUNCTUATOR_RIGHT_SHIFT_EQUAL = 30, - TOKEN_TYPE_PUNCTUATOR_UNSIGNED_RIGHT_SHIFT = 31, - TOKEN_TYPE_PUNCTUATOR_UNSIGNED_RIGHT_SHIFT_EQUAL = 32, - TOKEN_TYPE_PUNCTUATOR_BITWISE_AND_EQUAL = 33, - TOKEN_TYPE_PUNCTUATOR_BITWISE_OR_EQUAL = 34, - TOKEN_TYPE_PUNCTUATOR_LOGICAL_AND_EQUAL = 35, - TOKEN_TYPE_PUNCTUATOR_NULLISH_COALESCING = 36, - TOKEN_TYPE_PUNCTUATOR_LOGICAL_OR_EQUAL = 37, - TOKEN_TYPE_PUNCTUATOR_LOGICAL_NULLISH_EQUAL = 38, - TOKEN_TYPE_PUNCTUATOR_BITWISE_XOR_EQUAL = 39, - TOKEN_TYPE_PUNCTUATOR_PLUS = 40, - TOKEN_TYPE_PUNCTUATOR_PLUS_PLUS = 41, - TOKEN_TYPE_PUNCTUATOR_PLUS_EQUAL = 42, - TOKEN_TYPE_PUNCTUATOR_LESS_THAN = 43, - TOKEN_TYPE_PUNCTUATOR_GREATER_THAN = 44, - TOKEN_TYPE_PUNCTUATOR_EQUAL = 45, - TOKEN_TYPE_PUNCTUATOR_NOT_EQUAL = 46, - TOKEN_TYPE_PUNCTUATOR_STRICT_EQUAL = 47, - TOKEN_TYPE_PUNCTUATOR_NOT_STRICT_EQUAL = 48, - TOKEN_TYPE_PUNCTUATOR_LOGICAL_AND = 49, - TOKEN_TYPE_PUNCTUATOR_LOGICAL_OR = 50, - TOKEN_TYPE_PUNCTUATOR_SUBSTITUTION = 51, - TOKEN_TYPE_PUNCTUATOR_QUESTION_MARK = 52, - TOKEN_TYPE_PUNCTUATOR_QUESTION_DOT = 53, - TOKEN_TYPE_PUNCTUATOR_AT = 54, - TOKEN_TYPE_PUNCTUATOR_FORMAT = 55, - TOKEN_TYPE_PUNCTUATOR_RIGHT_PARENTHESIS = 56, - TOKEN_TYPE_PUNCTUATOR_LEFT_PARENTHESIS = 57, - TOKEN_TYPE_PUNCTUATOR_RIGHT_SQUARE_BRACKET = 58, - TOKEN_TYPE_PUNCTUATOR_LEFT_SQUARE_BRACKET = 59, - TOKEN_TYPE_PUNCTUATOR_RIGHT_BRACE = 60, - TOKEN_TYPE_PUNCTUATOR_PERIOD = 61, - TOKEN_TYPE_PUNCTUATOR_PERIOD_PERIOD_PERIOD = 62, - TOKEN_TYPE_PUNCTUATOR_PERIOD_QUESTION = 63, - TOKEN_TYPE_PUNCTUATOR_LEFT_BRACE = 64, - TOKEN_TYPE_PUNCTUATOR_SEMI_COLON = 65, - TOKEN_TYPE_PUNCTUATOR_COLON = 66, - TOKEN_TYPE_PUNCTUATOR_COMMA = 67, - TOKEN_TYPE_KEYW_ABSTRACT = 68, - TOKEN_TYPE_KEYW_ANY = 69, - TOKEN_TYPE_KEYW_ANYREF = 70, - TOKEN_TYPE_KEYW_ARGUMENTS = 71, - TOKEN_TYPE_KEYW_AS = 72, - TOKEN_TYPE_KEYW_ASSERTS = 73, - TOKEN_TYPE_KEYW_ASYNC = 74, - TOKEN_TYPE_KEYW_AWAIT = 75, - TOKEN_TYPE_KEYW_BIGINT = 76, - TOKEN_TYPE_KEYW_BUILTIN_BIGINT = 77, - TOKEN_TYPE_KEYW_BOOLEAN = 78, - TOKEN_TYPE_KEYW_BUILTIN_BOOLEAN = 79, - TOKEN_TYPE_KEYW_BREAK = 80, - TOKEN_TYPE_KEYW_BYTE = 81, - TOKEN_TYPE_KEYW_BUILTIN_BYTE = 82, - TOKEN_TYPE_KEYW_CASE = 83, - TOKEN_TYPE_KEYW_CATCH = 84, - TOKEN_TYPE_KEYW_CHAR = 85, - TOKEN_TYPE_KEYW_BUILTIN_CHAR = 86, - TOKEN_TYPE_KEYW_CLASS = 87, - TOKEN_TYPE_KEYW_CONST = 88, - TOKEN_TYPE_KEYW_CONSTRUCTOR = 89, - TOKEN_TYPE_KEYW_CONTINUE = 90, - TOKEN_TYPE_KEYW_DATAREF = 91, - TOKEN_TYPE_KEYW_DEBUGGER = 92, - TOKEN_TYPE_KEYW_DECLARE = 93, - TOKEN_TYPE_KEYW_DEFAULT = 94, - TOKEN_TYPE_KEYW_DELETE = 95, - TOKEN_TYPE_KEYW_DO = 96, - TOKEN_TYPE_KEYW_DOUBLE = 97, - TOKEN_TYPE_KEYW_BUILTIN_DOUBLE = 98, - TOKEN_TYPE_KEYW_ELSE = 99, - TOKEN_TYPE_KEYW_ENUM = 100, - TOKEN_TYPE_KEYW_EQREF = 101, - TOKEN_TYPE_KEYW_EVAL = 102, - TOKEN_TYPE_KEYW_EXPORT = 103, - TOKEN_TYPE_KEYW_EXTENDS = 104, - TOKEN_TYPE_KEYW_EXTERNREF = 105, - TOKEN_TYPE_KEYW_F32 = 106, - TOKEN_TYPE_KEYW_F64 = 107, - TOKEN_TYPE_LITERAL_FALSE = 108, - TOKEN_TYPE_KEYW_FINALLY = 109, - TOKEN_TYPE_KEYW_FLOAT = 110, - TOKEN_TYPE_KEYW_BUILTIN_FLOAT = 111, - TOKEN_TYPE_KEYW_FOR = 112, - TOKEN_TYPE_KEYW_FROM = 113, - TOKEN_TYPE_KEYW_FUNCREF = 114, - TOKEN_TYPE_KEYW_FUNCTION = 115, - TOKEN_TYPE_KEYW_GET = 116, - TOKEN_TYPE_KEYW_GLOBAL = 117, - TOKEN_TYPE_KEYW_I8 = 118, - TOKEN_TYPE_KEYW_I16 = 119, - TOKEN_TYPE_KEYW_I31REF = 120, - TOKEN_TYPE_KEYW_I32 = 121, - TOKEN_TYPE_KEYW_I64 = 122, - TOKEN_TYPE_KEYW_IF = 123, - TOKEN_TYPE_KEYW_IMPLEMENTS = 124, - TOKEN_TYPE_KEYW_IMPORT = 125, - TOKEN_TYPE_KEYW_IN = 126, - TOKEN_TYPE_KEYW_INFER = 127, - TOKEN_TYPE_KEYW_INSTANCEOF = 128, - TOKEN_TYPE_KEYW_INT = 129, - TOKEN_TYPE_KEYW_BUILTIN_INT = 130, - TOKEN_TYPE_KEYW_INTERFACE = 131, - TOKEN_TYPE_KEYW_IS = 132, - TOKEN_TYPE_KEYW_ISIZE = 133, - TOKEN_TYPE_KEYW_KEYOF = 134, - TOKEN_TYPE_KEYW_LET = 135, - TOKEN_TYPE_KEYW_LONG = 136, - TOKEN_TYPE_KEYW_BUILTIN_LONG = 137, - TOKEN_TYPE_KEYW_META = 138, - TOKEN_TYPE_KEYW_MODULE = 139, - TOKEN_TYPE_KEYW_NAMESPACE = 140, - TOKEN_TYPE_KEYW_NATIVE = 141, - TOKEN_TYPE_KEYW_NEVER = 142, - TOKEN_TYPE_KEYW_NEW = 143, - TOKEN_TYPE_LITERAL_NULL = 144, - TOKEN_TYPE_KEYW_NUMBER = 145, - TOKEN_TYPE_KEYW_OBJECT = 146, - TOKEN_TYPE_KEYW_BUILTIN_OBJECT = 147, - TOKEN_TYPE_KEYW_OF = 148, - TOKEN_TYPE_KEYW_FINAL = 149, - TOKEN_TYPE_KEYW_OUT = 150, - TOKEN_TYPE_KEYW_OVERRIDE = 151, - TOKEN_TYPE_KEYW_PACKAGE = 152, - TOKEN_TYPE_KEYW_INTERNAL = 153, - TOKEN_TYPE_KEYW_PRIVATE = 154, - TOKEN_TYPE_KEYW_PROTECTED = 155, - TOKEN_TYPE_KEYW_PUBLIC = 156, - TOKEN_TYPE_KEYW_READONLY = 157, - TOKEN_TYPE_KEYW_RETHROWS = 158, - TOKEN_TYPE_KEYW_RETURN = 159, - TOKEN_TYPE_KEYW_REQUIRE = 160, - TOKEN_TYPE_KEYW_SET = 161, - TOKEN_TYPE_KEYW_SHORT = 162, - TOKEN_TYPE_KEYW_BUILTIN_SHORT = 163, - TOKEN_TYPE_KEYW_STATIC = 164, - TOKEN_TYPE_KEYW_STRING = 165, - TOKEN_TYPE_KEYW_BUILTIN_STRING = 166, - TOKEN_TYPE_KEYW_STRUCT = 167, - TOKEN_TYPE_KEYW_SUPER = 168, - TOKEN_TYPE_KEYW_SWITCH = 169, - TOKEN_TYPE_KEYW_TARGET = 170, - TOKEN_TYPE_KEYW_THIS = 171, - TOKEN_TYPE_KEYW_THROW = 172, - TOKEN_TYPE_KEYW_THROWS = 173, - TOKEN_TYPE_LITERAL_TRUE = 174, - TOKEN_TYPE_KEYW_TRY = 175, - TOKEN_TYPE_KEYW_TYPE = 176, - TOKEN_TYPE_KEYW_TYPEOF = 177, - TOKEN_TYPE_KEYW_U8 = 178, - TOKEN_TYPE_KEYW_U16 = 179, - TOKEN_TYPE_KEYW_U32 = 180, - TOKEN_TYPE_KEYW_U64 = 181, - TOKEN_TYPE_KEYW_UNDEFINED = 182, - TOKEN_TYPE_KEYW_UNKNOWN = 183, - TOKEN_TYPE_KEYW_USIZE = 184, - TOKEN_TYPE_KEYW_V128 = 185, - TOKEN_TYPE_KEYW_VAR = 186, - TOKEN_TYPE_KEYW_VOID = 187, - TOKEN_TYPE_KEYW_WHILE = 188, - TOKEN_TYPE_KEYW_WITH = 189, - TOKEN_TYPE_KEYW_YIELD = 190, - TOKEN_TYPE_JS_DOC_START = 191, - TOKEN_TYPE_JS_DOC_END = 192, - TOKEN_TYPE_FIRST_PUNCTUATOR = 6, - TOKEN_TYPE_FIRST_KEYW = 68 -} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaNativeModule.ts index 15c63fd0e396e88a94b9c2db52ae8b556acb0038..db1f2d58e2747a1f1fb0835ed6b6fc523487ac99 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/Es2pandaNativeModule.ts @@ -109,13 +109,31 @@ export class Es2pandaNativeModule { _ClassPropertySetInitInStaticBlock(context: KNativePointer, receiver: KNativePointer, needInitInStaticBlock: KBoolean): void { throw new Error("This methods was not overloaded by native module initialization") } + _ClassPropertyEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassPropertyClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassPropertySetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassPropertyAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ClassPropertyAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ClassPropertyAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassPropertySetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ClassPropertySetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassPropertySetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassPropertyAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateTSVoidKeyword(context: KNativePointer): KNativePointer { @@ -157,6 +175,9 @@ export class Es2pandaNativeModule { _ETSFunctionTypeFlags(context: KNativePointer, receiver: KNativePointer): KInt { throw new Error("This methods was not overloaded by native module initialization") } + _ETSFunctionTypeFlagsConst(context: KNativePointer, receiver: KNativePointer): KInt { + throw new Error("This methods was not overloaded by native module initialization") + } _ETSFunctionTypeIsThrowingConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } @@ -196,6 +217,9 @@ export class Es2pandaNativeModule { _IfStatementTest(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _IfStatementSetTest(context: KNativePointer, receiver: KNativePointer, test: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } _IfStatementConsequentConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -268,7 +292,7 @@ export class Es2pandaNativeModule { _TSEnumDeclarationBoxedClassConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _TSEnumDeclarationSetBoxedClass(context: KNativePointer, receiver: KNativePointer, wrapperClass: KNativePointer): void { + _TSEnumDeclarationSetBoxedClass(context: KNativePointer, receiver: KNativePointer, boxedClass: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _TSEnumDeclarationIsConstConst(context: KNativePointer, receiver: KNativePointer): KBoolean { @@ -277,6 +301,30 @@ export class Es2pandaNativeModule { _TSEnumDeclarationDecoratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _TSEnumDeclarationEmplaceDecorators(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationClearDecorators(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationSetValueDecorators(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationEmplaceMembers(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationClearMembers(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationSetValueMembers(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSEnumDeclarationMembersForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateTSNeverKeyword(context: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -499,6 +547,21 @@ export class Es2pandaNativeModule { _ClassElementToPrivateFieldKindConst(context: KNativePointer, receiver: KNativePointer, isStatic: KBoolean): KInt { throw new Error("This methods was not overloaded by native module initialization") } + _ClassElementEmplaceDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassElementClearDecorators(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassElementSetValueDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassElementDecorators(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassElementDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateTSImportType(context: KNativePointer, param: KNativePointer, typeParams: KNativePointer, qualifier: KNativePointer, isTypeof: KBoolean): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -553,13 +616,34 @@ export class Es2pandaNativeModule { _FunctionDeclarationFunctionConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _FunctionDeclarationDecoratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _FunctionDeclarationAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _FunctionDeclarationAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _FunctionDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _FunctionDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _FunctionDeclarationAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateETSTypeReference(context: KNativePointer, part: KNativePointer): KNativePointer { @@ -697,6 +781,9 @@ export class Es2pandaNativeModule { _TSInterfaceDeclarationExtends(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _TSInterfaceDeclarationExtendsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _TSInterfaceDeclarationExtendsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -712,13 +799,55 @@ export class Es2pandaNativeModule { _TSInterfaceDeclarationSetAnonClass(context: KNativePointer, receiver: KNativePointer, anonClass: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _TSInterfaceDeclarationEmplaceExtends(context: KNativePointer, receiver: KNativePointer, _extends: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationClearExtends(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationSetValueExtends(context: KNativePointer, receiver: KNativePointer, _extends: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationEmplaceDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationClearDecorators(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationSetValueDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationDecorators(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _TSInterfaceDeclarationAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _TSInterfaceDeclarationAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _TSInterfaceDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _TSInterfaceDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSInterfaceDeclarationAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateVariableDeclaration(context: KNativePointer, kind: KInt, declarators: BigUint64Array, declaratorsSequenceLength: KUInt): KNativePointer { @@ -730,22 +859,52 @@ export class Es2pandaNativeModule { _VariableDeclarationDeclaratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _VariableDeclarationDeclarators(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationDeclaratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _VariableDeclarationKindConst(context: KNativePointer, receiver: KNativePointer): KInt { throw new Error("This methods was not overloaded by native module initialization") } _VariableDeclarationDecoratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _VariableDeclarationDecorators(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _VariableDeclarationGetDeclaratorByNameConst(context: KNativePointer, receiver: KNativePointer, name: KStringPtr): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _VariableDeclarationEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _VariableDeclarationAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _VariableDeclarationAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _VariableDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _VariableDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _VariableDeclarationAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateUndefinedLiteral(context: KNativePointer): KNativePointer { @@ -847,6 +1006,9 @@ export class Es2pandaNativeModule { _ETSUnionTypeTypesConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ETSUnionTypeSetValueTypesConst(context: KNativePointer, receiver: KNativePointer, type: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateETSKeyofType(context: KNativePointer, type: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -937,15 +1099,39 @@ export class Es2pandaNativeModule { _TSTypeAliasDeclarationSetTypeParameters(context: KNativePointer, receiver: KNativePointer, typeParams: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } - _TSTypeAliasDeclarationAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { - throw new Error("This methods was not overloaded by native module initialization") - } _TSTypeAliasDeclarationAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _TSTypeAliasDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { throw new Error("This methods was not overloaded by native module initialization") } + _TSTypeAliasDeclarationEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationClearTypeParamterTypes(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationEmplaceDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationClearDecorators(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationSetValueDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeAliasDeclarationDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _TSTypeAliasDeclarationTypeAnnotationConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1021,6 +1207,9 @@ export class Es2pandaNativeModule { _ScriptFunctionReturnStatements(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ScriptFunctionReturnStatementsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ScriptFunctionTypeParamsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1120,6 +1309,9 @@ export class Es2pandaNativeModule { _ScriptFunctionIsRethrowingConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } + _ScriptFunctionIsTrailingLambdaConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } _ScriptFunctionIsDynamicConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } @@ -1141,16 +1333,40 @@ export class Es2pandaNativeModule { _ScriptFunctionClearFlag(context: KNativePointer, receiver: KNativePointer, flags: KInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _ScriptFunctionAddModifier(context: KNativePointer, receiver: KNativePointer, flags: KInt): void { + _ScriptFunctionFormalParamsLengthConst(context: KNativePointer, receiver: KNativePointer): KUInt { throw new Error("This methods was not overloaded by native module initialization") } - _ScriptFunctionFormalParamsLengthConst(context: KNativePointer, receiver: KNativePointer): KUInt { + _ScriptFunctionEmplaceReturnStatements(context: KNativePointer, receiver: KNativePointer, returnStatements: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionClearReturnStatements(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionSetValueReturnStatements(context: KNativePointer, receiver: KNativePointer, returnStatements: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionEmplaceParams(context: KNativePointer, receiver: KNativePointer, params: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } - _ScriptFunctionSetIsolatedDeclgenReturnType(context: KNativePointer, receiver: KNativePointer, type: KStringPtr): void { + _ScriptFunctionClearParams(context: KNativePointer, receiver: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } - _ScriptFunctionGetIsolatedDeclgenReturnTypeConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + _ScriptFunctionSetValueParams(context: KNativePointer, receiver: KNativePointer, params: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionParamsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ScriptFunctionAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { @@ -1159,7 +1375,13 @@ export class Es2pandaNativeModule { _ScriptFunctionAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ScriptFunctionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ScriptFunctionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ScriptFunctionAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateClassDefinition(context: KNativePointer, ident: KNativePointer, typeParams: KNativePointer, superTypeParams: KNativePointer, _implements: BigUint64Array, _implementsSequenceLength: KUInt, ctor: KNativePointer, superClass: KNativePointer, body: BigUint64Array, bodySequenceLength: KUInt, modifiers: KInt, flags: KInt): KNativePointer { @@ -1192,9 +1414,6 @@ export class Es2pandaNativeModule { _ClassDefinitionInternalNameConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetInternalName(context: KNativePointer, receiver: KNativePointer, internalName: KStringPtr): void { - throw new Error("This methods was not overloaded by native module initialization") - } _ClassDefinitionSuper(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1267,27 +1486,15 @@ export class Es2pandaNativeModule { _ClassDefinitionModifiersConst(context: KNativePointer, receiver: KNativePointer): KInt { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetModifiers(context: KNativePointer, receiver: KNativePointer, modifiers: KInt): void { - throw new Error("This methods was not overloaded by native module initialization") - } _ClassDefinitionAddProperties(context: KNativePointer, receiver: KNativePointer, body: BigUint64Array, bodySequenceLength: KUInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionBody(context: KNativePointer, receiver: KNativePointer): KNativePointer { - throw new Error("This methods was not overloaded by native module initialization") - } _ClassDefinitionBodyConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ClassDefinitionCtor(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetCtor(context: KNativePointer, receiver: KNativePointer, ctor: KNativePointer): void { - throw new Error("This methods was not overloaded by native module initialization") - } - _ClassDefinitionImplements(context: KNativePointer, receiver: KNativePointer): KNativePointer { - throw new Error("This methods was not overloaded by native module initialization") - } _ClassDefinitionImplementsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1297,9 +1504,6 @@ export class Es2pandaNativeModule { _ClassDefinitionTypeParams(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetTypeParams(context: KNativePointer, receiver: KNativePointer, typeParams: KNativePointer): void { - throw new Error("This methods was not overloaded by native module initialization") - } _ClassDefinitionSuperTypeParamsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1312,19 +1516,19 @@ export class Es2pandaNativeModule { _ClassDefinitionLocalIndexConst(context: KNativePointer, receiver: KNativePointer): KInt { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionLocalPrefixConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + _ClassDefinitionFunctionalReferenceReferencedMethodConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetOrigEnumDecl(context: KNativePointer, receiver: KNativePointer, enumDecl: KNativePointer): void { + _ClassDefinitionSetFunctionalReferenceReferencedMethod(context: KNativePointer, receiver: KNativePointer, functionalReferenceReferencedMethod: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionOrigEnumDeclConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + _ClassDefinitionLocalPrefixConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionGetAnonClass(context: KNativePointer, receiver: KNativePointer): KNativePointer { + _ClassDefinitionOrigEnumDeclConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetAnonClass(context: KNativePointer, receiver: KNativePointer, anonClass: KNativePointer): void { + _ClassDefinitionGetAnonClass(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ClassDefinitionCtorConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { @@ -1345,13 +1549,79 @@ export class Es2pandaNativeModule { _ClassDefinitionAddToExportedClasses(context: KNativePointer, receiver: KNativePointer, cls: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _ClassDefinitionSetModifiers(context: KNativePointer, receiver: KNativePointer, modifiers: KInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionEmplaceBody(context: KNativePointer, receiver: KNativePointer, body: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionClearBody(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetValueBody(context: KNativePointer, receiver: KNativePointer, body: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionBody(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionBodyForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionEmplaceImplements(context: KNativePointer, receiver: KNativePointer, _implements: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionClearImplements(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetValueImplements(context: KNativePointer, receiver: KNativePointer, _implements: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionImplements(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionImplementsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetCtor(context: KNativePointer, receiver: KNativePointer, ctor: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetTypeParams(context: KNativePointer, receiver: KNativePointer, typeParams: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetOrigEnumDecl(context: KNativePointer, receiver: KNativePointer, origEnumDecl: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetAnonClass(context: KNativePointer, receiver: KNativePointer, anonClass: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetInternalName(context: KNativePointer, receiver: KNativePointer, internalName: KStringPtr): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ClassDefinitionAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ClassDefinitionAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ClassDefinitionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ClassDefinitionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDefinitionAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateArrayExpression(context: KNativePointer, elements: BigUint64Array, elementsSequenceLength: KUInt): KNativePointer { @@ -1822,9 +2092,6 @@ export class Es2pandaNativeModule { _AstNodeDumpDeclConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { throw new Error("This methods was not overloaded by native module initialization") } - _AstNodeIsolatedDumpDeclConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { - throw new Error("This methods was not overloaded by native module initialization") - } _AstNodeDumpConst(context: KNativePointer, receiver: KNativePointer, dumper: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } @@ -1855,6 +2122,15 @@ export class Es2pandaNativeModule { _AstNodeShallowClone(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _AstNodeIsValidInCurrentPhaseConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _AstNodeGetHistoryNodeConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _AstNodeGetOrCreateHistoryNodeConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateUnaryExpression(context: KNativePointer, argument: KNativePointer, unaryOperator: KInt): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -1870,6 +2146,9 @@ export class Es2pandaNativeModule { _UnaryExpressionArgumentConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _UnaryExpressionSetArgument(context: KNativePointer, receiver: KNativePointer, arg: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateForInStatement(context: KNativePointer, left: KNativePointer, right: KNativePointer, body: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -2095,12 +2374,30 @@ export class Es2pandaNativeModule { _ExpressionStatementSetExpression(context: KNativePointer, receiver: KNativePointer, expr: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _CreateETSModule(context: KNativePointer, statementList: BigUint64Array, statementListSequenceLength: KUInt, ident: KNativePointer, flag: KInt, program: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _UpdateETSModule(context: KNativePointer, original: KNativePointer, statementList: BigUint64Array, statementListSequenceLength: KUInt, ident: KNativePointer, flag: KInt, program: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ETSModuleIdent(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ETSModuleIdentConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ETSModuleProgram(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleGlobalClassConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleGlobalClass(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleSetGlobalClass(context: KNativePointer, receiver: KNativePointer, globalClass: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } _ETSModuleIsETSScriptConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } @@ -2113,13 +2410,34 @@ export class Es2pandaNativeModule { _ETSModuleSetNamespaceChainLastNode(context: KNativePointer, receiver: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _ETSModuleProgramConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ETSModuleAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ETSModuleAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ETSModuleSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ETSModuleSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSModuleAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateMetaProperty(context: KNativePointer, kind: KInt): KNativePointer { @@ -2275,6 +2593,18 @@ export class Es2pandaNativeModule { _UpdateImportDeclaration(context: KNativePointer, original: KNativePointer, source: KNativePointer, specifiers: BigUint64Array, specifiersSequenceLength: KUInt, importKinds: KInt): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ImportDeclarationEmplaceSpecifiers(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ImportDeclarationClearSpecifiers(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ImportDeclarationSetValueSpecifiers(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ImportDeclarationSpecifiersForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ImportDeclarationSourceConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -2284,9 +2614,6 @@ export class Es2pandaNativeModule { _ImportDeclarationSpecifiersConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ImportDeclarationSpecifiers(context: KNativePointer, receiver: KNativePointer): KNativePointer { - throw new Error("This methods was not overloaded by native module initialization") - } _ImportDeclarationIsTypeKindConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } @@ -2299,6 +2626,12 @@ export class Es2pandaNativeModule { _TSParenthesizedTypeTypeConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _LiteralIsFoldedConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _LiteralSetFolded(context: KNativePointer, receiver: KNativePointer, folded: KBoolean): void { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateCharLiteral(context: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -2332,7 +2665,7 @@ export class Es2pandaNativeModule { _ETSImportDeclarationIsPureDynamicConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } - _ETSImportDeclarationAssemblerName(context: KNativePointer, receiver: KNativePointer): KStringPtr { + _ETSImportDeclarationSetAssemblerName(context: KNativePointer, receiver: KNativePointer, assemblerName: KStringPtr): void { throw new Error("This methods was not overloaded by native module initialization") } _ETSImportDeclarationAssemblerNameConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { @@ -2407,6 +2740,9 @@ export class Es2pandaNativeModule { _AnnotationDeclarationProperties(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _AnnotationDeclarationPropertiesForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _AnnotationDeclarationPropertiesConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -2434,13 +2770,40 @@ export class Es2pandaNativeModule { _AnnotationDeclarationGetBaseNameConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _AnnotationDeclarationEmplaceProperties(context: KNativePointer, receiver: KNativePointer, properties: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationClearProperties(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationSetValueProperties(context: KNativePointer, receiver: KNativePointer, properties: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _AnnotationDeclarationAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _AnnotationDeclarationAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _AnnotationDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _AnnotationDeclarationSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _AnnotationDeclarationAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateAnnotationUsage(context: KNativePointer, expr: KNativePointer): KNativePointer { @@ -2500,6 +2863,9 @@ export class Es2pandaNativeModule { _WhileStatementTest(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _WhileStatementSetTest(context: KNativePointer, receiver: KNativePointer, test: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } _WhileStatementBodyConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -2638,13 +3004,31 @@ export class Es2pandaNativeModule { _TSTypeParameterSetDefaultType(context: KNativePointer, receiver: KNativePointer, defaultType: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _TSTypeParameterEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeParameterClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeParameterSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeParameterAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _TSTypeParameterAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _TSTypeParameterAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _TSTypeParameterSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _TSTypeParameterSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeParameterSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TSTypeParameterAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateTSBooleanKeyword(context: KNativePointer): KNativePointer { @@ -2779,7 +3163,7 @@ export class Es2pandaNativeModule { _ETSParameterExpressionInitializer(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ETSParameterExpressionSetLexerSaved(context: KNativePointer, receiver: KNativePointer, s: KStringPtr): void { + _ETSParameterExpressionSetLexerSaved(context: KNativePointer, receiver: KNativePointer, savedLexer: KStringPtr): void { throw new Error("This methods was not overloaded by native module initialization") } _ETSParameterExpressionLexerSavedConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { @@ -2809,7 +3193,19 @@ export class Es2pandaNativeModule { _ETSParameterExpressionGetRequiredParamsConst(context: KNativePointer, receiver: KNativePointer): KUInt { throw new Error("This methods was not overloaded by native module initialization") } - _ETSParameterExpressionSetRequiredParams(context: KNativePointer, receiver: KNativePointer, value: KUInt): void { + _ETSParameterExpressionSetRequiredParams(context: KNativePointer, receiver: KNativePointer, extraValue: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ETSParameterExpressionAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { @@ -2818,7 +3214,13 @@ export class Es2pandaNativeModule { _ETSParameterExpressionAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ETSParameterExpressionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ETSParameterExpressionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ETSParameterExpressionAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateTSTypeParameterInstantiation(context: KNativePointer, params: BigUint64Array, paramsSequenceLength: KUInt): KNativePointer { @@ -3040,6 +3442,9 @@ export class Es2pandaNativeModule { _IdentifierSetName(context: KNativePointer, receiver: KNativePointer, newName: KStringPtr): void { throw new Error("This methods was not overloaded by native module initialization") } + _IdentifierSetValueDecorators(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } _IdentifierDecoratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -3124,24 +3529,36 @@ export class Es2pandaNativeModule { _UpdateBlockStatement(context: KNativePointer, original: KNativePointer, statementList: BigUint64Array, statementListSequenceLength: KUInt): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _BlockStatementStatementsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + _BlockStatementStatementsForUpdates(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _BlockStatementStatements(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _BlockStatementStatementsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _BlockStatementSetStatements(context: KNativePointer, receiver: KNativePointer, statementList: BigUint64Array, statementListSequenceLength: KUInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _BlockStatementAddStatement(context: KNativePointer, receiver: KNativePointer, stmt: KNativePointer): void { + _BlockStatementAddStatements(context: KNativePointer, receiver: KNativePointer, statementList: BigUint64Array, statementListSequenceLength: KUInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _BlockStatementAddStatements(context: KNativePointer, receiver: KNativePointer, stmts: BigUint64Array, stmtsSequenceLength: KUInt): void { + _BlockStatementClearStatements(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _BlockStatementAddStatement(context: KNativePointer, receiver: KNativePointer, statement: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _BlockStatementAddStatement1(context: KNativePointer, receiver: KNativePointer, idx: KUInt, statement: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _BlockStatementAddTrailingBlock(context: KNativePointer, receiver: KNativePointer, stmt: KNativePointer, trailingBlock: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _BlockStatementSearchStatementInTrailingBlock(context: KNativePointer, receiver: KNativePointer, item: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateDirectEvalExpression(context: KNativePointer, callee: KNativePointer, _arguments: BigUint64Array, _argumentsSequenceLength: KUInt, typeParams: KNativePointer, optional_arg: KBoolean, parserStatus: KUInt): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -3160,6 +3577,9 @@ export class Es2pandaNativeModule { _TSTypeParameterDeclarationAddParam(context: KNativePointer, receiver: KNativePointer, param: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _TSTypeParameterDeclarationSetValueParams(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } _TSTypeParameterDeclarationRequiredParamsConst(context: KNativePointer, receiver: KNativePointer): KUInt { throw new Error("This methods was not overloaded by native module initialization") } @@ -3211,16 +3631,13 @@ export class Es2pandaNativeModule { _MethodDefinitionSetOverloads(context: KNativePointer, receiver: KNativePointer, overloads: BigUint64Array, overloadsSequenceLength: KUInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _MethodDefinitionClearOverloads(context: KNativePointer, receiver: KNativePointer): void { - throw new Error("This methods was not overloaded by native module initialization") - } _MethodDefinitionAddOverload(context: KNativePointer, receiver: KNativePointer, overload: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _MethodDefinitionSetBaseOverloadMethod(context: KNativePointer, receiver: KNativePointer, baseOverloadMethod: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } - _MethodDefinitionSetAsyncPairMethod(context: KNativePointer, receiver: KNativePointer, method: KNativePointer): void { + _MethodDefinitionSetAsyncPairMethod(context: KNativePointer, receiver: KNativePointer, asyncPairMethod: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _MethodDefinitionHasOverload(context: KNativePointer, receiver: KNativePointer, overload: KNativePointer): KBoolean { @@ -3235,6 +3652,15 @@ export class Es2pandaNativeModule { _MethodDefinitionInitializeOverloadInfo(context: KNativePointer, receiver: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } + _MethodDefinitionEmplaceOverloads(context: KNativePointer, receiver: KNativePointer, overloads: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _MethodDefinitionClearOverloads(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _MethodDefinitionSetValueOverloads(context: KNativePointer, receiver: KNativePointer, overloads: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateTSNullKeyword(context: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -3307,22 +3733,28 @@ export class Es2pandaNativeModule { _CreateSrcDumper(context: KNativePointer, node: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _CreateSrcDumper1(context: KNativePointer, node: KNativePointer, isDeclgen: KBoolean, isIsolatedDeclgen: KBoolean): KNativePointer { + _CreateSrcDumper1(context: KNativePointer, node: KNativePointer, isDeclgen: KBoolean): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _SrcDumperAdd(context: KNativePointer, receiver: KNativePointer, str: KStringPtr): void { throw new Error("This methods was not overloaded by native module initialization") } - _SrcDumperAdd1(context: KNativePointer, receiver: KNativePointer, i: KInt): void { + _SrcDumperAdd1(context: KNativePointer, receiver: KNativePointer, i: KBoolean): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _SrcDumperAdd2(context: KNativePointer, receiver: KNativePointer, i: KInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _SrcDumperAdd2(context: KNativePointer, receiver: KNativePointer, l: KLong): void { + _SrcDumperAdd3(context: KNativePointer, receiver: KNativePointer, i: KInt): void { throw new Error("This methods was not overloaded by native module initialization") } - _SrcDumperAdd3(context: KNativePointer, receiver: KNativePointer, f: KFloat): void { + _SrcDumperAdd4(context: KNativePointer, receiver: KNativePointer, l: KLong): void { throw new Error("This methods was not overloaded by native module initialization") } - _SrcDumperAdd4(context: KNativePointer, receiver: KNativePointer, d: KDouble): void { + _SrcDumperAdd5(context: KNativePointer, receiver: KNativePointer, f: KFloat): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _SrcDumperAdd6(context: KNativePointer, receiver: KNativePointer, d: KDouble): void { throw new Error("This methods was not overloaded by native module initialization") } _SrcDumperStrConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { @@ -3340,9 +3772,6 @@ export class Es2pandaNativeModule { _SrcDumperIsDeclgenConst(context: KNativePointer, receiver: KNativePointer): KBoolean { throw new Error("This methods was not overloaded by native module initialization") } - _SrcDumperIsIsolatedDeclgenConst(context: KNativePointer, receiver: KNativePointer): KBoolean { - throw new Error("This methods was not overloaded by native module initialization") - } _SrcDumperDumpNode(context: KNativePointer, receiver: KNativePointer, key: KStringPtr): void { throw new Error("This methods was not overloaded by native module initialization") } @@ -3442,6 +3871,24 @@ export class Es2pandaNativeModule { _ClassDeclarationDecoratorsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ClassDeclarationEmplaceDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDeclarationClearDecorators(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDeclarationSetValueDecorators(context: KNativePointer, receiver: KNativePointer, decorators: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDeclarationDecorators(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDeclarationDecoratorsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ClassDeclarationSetDefinition(context: KNativePointer, receiver: KNativePointer, def: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } _CreateTSIndexedAccessType(context: KNativePointer, objectType: KNativePointer, indexType: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -3745,13 +4192,31 @@ export class Es2pandaNativeModule { _ArrowFunctionExpressionCreateTypeAnnotation(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ArrowFunctionExpressionEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArrowFunctionExpressionClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArrowFunctionExpressionSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArrowFunctionExpressionAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ArrowFunctionExpressionAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _ArrowFunctionExpressionAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _ArrowFunctionExpressionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _ArrowFunctionExpressionSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArrowFunctionExpressionSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArrowFunctionExpressionAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateOmittedExpression(context: KNativePointer): KNativePointer { @@ -3862,6 +4327,9 @@ export class Es2pandaNativeModule { _ETSTypeReferencePartTypeParams(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ETSTypeReferencePartTypeParamsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _ETSTypeReferencePartNameConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } @@ -3886,13 +4354,31 @@ export class Es2pandaNativeModule { _ETSPrimitiveTypeGetPrimitiveTypeConst(context: KNativePointer, receiver: KNativePointer): KInt { throw new Error("This methods was not overloaded by native module initialization") } + _TypeNodeEmplaceAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TypeNodeClearAnnotations(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TypeNodeSetValueAnnotations(context: KNativePointer, receiver: KNativePointer, source: KNativePointer, index: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TypeNodeAnnotationsForUpdate(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } _TypeNodeAnnotations(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } _TypeNodeAnnotationsConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } - _TypeNodeSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: BigUint64Array, annotationsSequenceLength: KUInt): void { + _TypeNodeSetAnnotations(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TypeNodeSetAnnotations1(context: KNativePointer, receiver: KNativePointer, annotationList: BigUint64Array, annotationListSequenceLength: KUInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _TypeNodeAddAnnotations(context: KNativePointer, receiver: KNativePointer, annotations: KNativePointer): void { throw new Error("This methods was not overloaded by native module initialization") } _CreateNewExpression(context: KNativePointer, callee: KNativePointer, _arguments: BigUint64Array, _argumentsSequenceLength: KUInt): KNativePointer { @@ -3955,4 +4441,154 @@ export class Es2pandaNativeModule { _CreateFunctionDecl(context: KNativePointer, name: KStringPtr, node: KNativePointer): KNativePointer { throw new Error("This methods was not overloaded by native module initialization") } + _ProgramSetKind(context: KNativePointer, receiver: KNativePointer, kind: KInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramPushVarBinder(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramPushChecker(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramKindConst(context: KNativePointer, receiver: KNativePointer): KInt { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSourceCodeConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSourceFilePathConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSourceFileFolderConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramFileNameConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramFileNameWithExtensionConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramAbsoluteNameConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramResolvedFilePathConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramRelativeFilePathConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetRelativeFilePath(context: KNativePointer, receiver: KNativePointer, relPath: KStringPtr): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramAst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramAstConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetAst(context: KNativePointer, receiver: KNativePointer, ast: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramGlobalClass(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramGlobalClassConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetGlobalClass(context: KNativePointer, receiver: KNativePointer, globalClass: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramPackageStartConst(context: KNativePointer, receiver: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetPackageStart(context: KNativePointer, receiver: KNativePointer, start: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetSource(context: KNativePointer, receiver: KNativePointer, sourceCode: KStringPtr, sourceFilePath: KStringPtr, sourceFileFolder: KStringPtr): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetPackageInfo(context: KNativePointer, receiver: KNativePointer, name: KStringPtr, kind: KInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramModuleNameConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramModulePrefixConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsSeparateModuleConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsDeclarationModuleConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsPackageConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetFlag(context: KNativePointer, receiver: KNativePointer, flag: KInt): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramGetFlagConst(context: KNativePointer, receiver: KNativePointer, flag: KInt): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramSetASTChecked(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsASTChecked(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramMarkASTAsLowered(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsASTLoweredConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsStdLibConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramDumpConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramDumpSilentConst(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramAddDeclGenExportNode(context: KNativePointer, receiver: KNativePointer, declGenExportStr: KStringPtr, node: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramIsDiedConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } + _ProgramAddFileDependencies(context: KNativePointer, receiver: KNativePointer, file: KStringPtr, depFile: KStringPtr): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _CreateArkTsConfig(context: KNativePointer, configPath: KStringPtr, de: KNativePointer): KNativePointer { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigResolveAllDependenciesInArkTsConfig(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigConfigPathConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigPackageConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigBaseUrlConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigRootDirConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigOutDirConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigResetDependencies(context: KNativePointer, receiver: KNativePointer): void { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigEntryConst(context: KNativePointer, receiver: KNativePointer): KStringPtr { + throw new Error("This methods was not overloaded by native module initialization") + } + _ArkTsConfigUseUrlConst(context: KNativePointer, receiver: KNativePointer): KBoolean { + throw new Error("This methods was not overloaded by native module initialization") + } } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/factory.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/factory.ts index 8c165f17b05c5df58f2e1400f2f5b5633cf50d81..d2b94984281f4787df5400193e68ab737cab0ab4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/factory.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/factory.ts @@ -978,16 +978,6 @@ export const factory = { return updateNodeByNode(OpaqueTypeNode.create1OpaqueTypeNode(), original) } , - createBlockStatement(statements: readonly Statement[]): BlockStatement { - return BlockStatement.createBlockStatement(statements) - } - , - updateBlockStatement(original: BlockStatement, statements: readonly Statement[]): BlockStatement { - if (isSameNativeObject(statements, original.statements)) - return original - return updateNodeByNode(BlockStatement.createBlockStatement(statements), original) - } - , createTSTypeParameterDeclaration(params: readonly TSTypeParameter[], requiredParams: number): TSTypeParameterDeclaration { return TSTypeParameterDeclaration.createTSTypeParameterDeclaration(params, requiredParams) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/index.ts index 730824c9662b790f4b92d3b91f7c2abf490d2afa..8ee50a1a66c6568bffb8bca7426e213c86c0a1ab 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/index.ts @@ -13,7 +13,6 @@ * limitations under the License. */ -export * from "./peers/ArkTsConfig" export * from "./peers/SourcePosition" export * from "./peers/SourceRange" export * from "./peers/LabelPair" @@ -33,9 +32,7 @@ export * from "./peers/VReg" export * from "./peers/IRNode" export * from "./peers/ErrorLogger" export * from "./peers/VerificationContext" -export * from "./peers/Path" export * from "./peers/DynamicImportData" -export * from "./peers/OverloadInfo" export * from "./peers/SuggestionInfo" export * from "./peers/DiagnosticInfo" export * from "./peers/NumberLiteral" @@ -211,6 +208,7 @@ export * from "./peers/NewExpression" export * from "./peers/TSParameterProperty" export * from "./peers/ETSWildcardType" export * from "./peers/TSThisType" -export * from "./peers/ETSDynamicFunctionType" export * from "./peers/InterfaceDecl" -export * from "./peers/FunctionDecl" \ No newline at end of file +export * from "./peers/FunctionDecl" +export * from "./peers/Program" +export * from "./peers/ArkTsConfig" \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedAstNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedAstNode.ts index a58b17140b964e057d211ed0e1d38292dc3a7509..016f6020364e4f87c87bbd71e6c655510e1d4fc6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedAstNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedAstNode.ts @@ -32,6 +32,7 @@ export class AnnotatedAstNode extends AstNode { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandAnnotatedAstNode: undefined } export function isAnnotatedAstNode(node: object | undefined): node is AnnotatedAstNode { return node instanceof AnnotatedAstNode diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedExpression.ts index 733135e5abcd25bd811e0fd6ab54375faec78806..74b4ff5058cc1b5b64bcb8c7003b12e1c3732ddd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedExpression.ts @@ -42,6 +42,7 @@ export class AnnotatedExpression extends Expression { global.generatedEs2panda._AnnotatedExpressionSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandAnnotatedExpression: undefined } export function isAnnotatedExpression(node: object | undefined): node is AnnotatedExpression { return node instanceof AnnotatedExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedStatement.ts index 42965c2daf1aeb71cf6b700d7b0166ff9622367a..213a606e66d12c2c28753dcb3de2c880375b326c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotatedStatement.ts @@ -33,6 +33,7 @@ export class AnnotatedStatement extends Statement { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandAnnotatedStatement: undefined } export function isAnnotatedStatement(node: object | undefined): node is AnnotatedStatement { return node instanceof AnnotatedStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationDeclaration.ts index a9f4a613910905172f5dc8e2fda1d2aa3b9bd562..75132fa8b915241bb122764613bd8462ce516470 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationDeclaration.ts @@ -61,6 +61,9 @@ export class AnnotationDeclaration extends Statement { get properties(): readonly AstNode[] { return unpackNodeArray(global.generatedEs2panda._AnnotationDeclarationProperties(global.context, this.peer)) } + get propertiesForUpdate(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._AnnotationDeclarationPropertiesForUpdate(global.context, this.peer)) + } /** @deprecated */ addProperties(properties: readonly AstNode[]): this { global.generatedEs2panda._AnnotationDeclarationAddProperties(global.context, this.peer, passNodeArray(properties), properties.length) @@ -93,14 +96,58 @@ export class AnnotationDeclaration extends Statement { get baseName(): Identifier | undefined { return unpackNode(global.generatedEs2panda._AnnotationDeclarationGetBaseNameConst(global.context, this.peer)) } + /** @deprecated */ + emplaceProperties(properties?: AstNode): this { + global.generatedEs2panda._AnnotationDeclarationEmplaceProperties(global.context, this.peer, passNode(properties)) + return this + } + /** @deprecated */ + clearProperties(): this { + global.generatedEs2panda._AnnotationDeclarationClearProperties(global.context, this.peer) + return this + } + /** @deprecated */ + setValueProperties(properties: AstNode | undefined, index: number): this { + global.generatedEs2panda._AnnotationDeclarationSetValueProperties(global.context, this.peer, passNode(properties), index) + return this + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._AnnotationDeclarationEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._AnnotationDeclarationClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._AnnotationDeclarationSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._AnnotationDeclarationAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._AnnotationDeclarationAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._AnnotationDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._AnnotationDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._AnnotationDeclarationSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._AnnotationDeclarationAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandAnnotationDeclaration: undefined } export function isAnnotationDeclaration(node: object | undefined): node is AnnotationDeclaration { return node instanceof AnnotationDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationUsage.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationUsage.ts index 9fff4ca36774b947acff9c8119767b935e26d276..261893b2df3fce98a52bcaab42c92aa9d0e2c915 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationUsage.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AnnotationUsage.ts @@ -65,6 +65,7 @@ export class AnnotationUsage extends Statement { get baseName(): Identifier | undefined { return unpackNode(global.generatedEs2panda._AnnotationUsageGetBaseNameConst(global.context, this.peer)) } + protected readonly brandAnnotationUsage: undefined } export function isAnnotationUsage(node: object | undefined): node is AnnotationUsage { return node instanceof AnnotationUsage diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArkTsConfig.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArkTsConfig.ts index a3932b683bc4d694b6bda0647d8e6d534f390c2a..b5ffb38b6e0835d32313e453a3f3ee6b9f9fee33 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArkTsConfig.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArkTsConfig.ts @@ -32,4 +32,39 @@ export class ArkTsConfig extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + /** @deprecated */ + resolveAllDependenciesInArkTsConfig(): this { + global.generatedEs2panda._ArkTsConfigResolveAllDependenciesInArkTsConfig(global.context, this.peer) + return this + } + get configPath(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigConfigPathConst(global.context, this.peer)) + } + get package(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigPackageConst(global.context, this.peer)) + } + get baseUrl(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigBaseUrlConst(global.context, this.peer)) + } + get rootDir(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigRootDirConst(global.context, this.peer)) + } + get outDir(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigOutDirConst(global.context, this.peer)) + } + /** @deprecated */ + resetDependencies(): this { + global.generatedEs2panda._ArkTsConfigResetDependencies(global.context, this.peer) + return this + } + get entry(): string { + return unpackString(global.generatedEs2panda._ArkTsConfigEntryConst(global.context, this.peer)) + } + get useUrl(): boolean { + return global.generatedEs2panda._ArkTsConfigUseUrlConst(global.context, this.peer) + } + protected readonly brandArkTsConfig: undefined +} +export function isArkTsConfig(node: object | undefined): node is ArkTsConfig { + return node instanceof ArkTsConfig } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrayExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrayExpression.ts index 0a883bdd7b2b9ab18d7151dc3b8cdb6c7340f1b0..0134164fed23a22493a38a3a0ce0886c2e2bddbe 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrayExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrayExpression.ts @@ -94,6 +94,7 @@ export class ArrayExpression extends AnnotatedExpression { global.generatedEs2panda._ArrayExpressionSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandArrayExpression: undefined } export function isArrayExpression(node: object | undefined): node is ArrayExpression { return node instanceof ArrayExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts index b05cf90a6db19388ccad0cbb18e8ccc56719f305..7c8d348c0c3ec694af1568ef7fa3d98091a09e81 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ArrowFunctionExpression.ts @@ -53,14 +53,43 @@ export class ArrowFunctionExpression extends Expression { get createTypeAnnotation(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._ArrowFunctionExpressionCreateTypeAnnotation(global.context, this.peer)) } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ArrowFunctionExpressionEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ArrowFunctionExpressionClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ArrowFunctionExpressionSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ArrowFunctionExpressionAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ArrowFunctionExpressionAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ArrowFunctionExpressionSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ArrowFunctionExpressionSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ArrowFunctionExpressionSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ArrowFunctionExpressionAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandArrowFunctionExpression: undefined } export function isArrowFunctionExpression(node: object | undefined): node is ArrowFunctionExpression { return node instanceof ArrowFunctionExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssertStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssertStatement.ts index 9f76de1d9b88a272b59c20da210cf5407a68a3a0..1ffefcc3b402350a4e701a0ffea90c8ccf2c340a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssertStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssertStatement.ts @@ -48,6 +48,7 @@ export class AssertStatement extends Statement { get second(): Expression | undefined { return unpackNode(global.generatedEs2panda._AssertStatementSecondConst(global.context, this.peer)) } + protected readonly brandAssertStatement: undefined } export function isAssertStatement(node: object | undefined): node is AssertStatement { return node instanceof AssertStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssignmentExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssignmentExpression.ts index 45158f38618f4d089f935946bddc5e5245de35bf..281f73d1f753060056fe6c49e94d7f1facaf1a46 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssignmentExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AssignmentExpression.ts @@ -92,6 +92,7 @@ export class AssignmentExpression extends Expression { global.generatedEs2panda._AssignmentExpressionCompilePatternConst(global.context, this.peer, passNode(pg)) return this } + protected readonly brandAssignmentExpression: undefined } export function isAssignmentExpression(node: object | undefined): node is AssignmentExpression { return node instanceof AssignmentExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstDumper.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstDumper.ts index d3d96873aff42559e6e5b229a2c04694c536f8a9..b086132044c82a36485fc13f23f59d18195f2878 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstDumper.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstDumper.ts @@ -38,4 +38,5 @@ export class AstDumper extends ArktsObject { get str(): string { return unpackString(global.generatedEs2panda._AstDumperStrConst(global.context, this.peer)) } + protected readonly brandAstDumper: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVerifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVerifier.ts index 4ca896b98498a82170c6b74626be972b781116a3..9e9f3119a24c6805bce849065ba926baebe9e2d3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVerifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVerifier.ts @@ -32,4 +32,5 @@ export class AstVerifier extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandAstVerifier: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVisitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVisitor.ts index 1577d85a8b8f2acc0bdd0ea95b5bd26d2f593064..d08803b6f1f74eb107e62d4d53552f21c8b78f5d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVisitor.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AstVisitor.ts @@ -32,4 +32,5 @@ export class AstVisitor extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandAstVisitor: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AwaitExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AwaitExpression.ts index 83bf21143a62155b763faa52f3f10f896e55f4b2..5cecf54f9c6f2bc780f5b4a4d6df28fff6cecbe9 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AwaitExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/AwaitExpression.ts @@ -44,6 +44,7 @@ export class AwaitExpression extends Expression { get argument(): Expression | undefined { return unpackNode(global.generatedEs2panda._AwaitExpressionArgumentConst(global.context, this.peer)) } + protected readonly brandAwaitExpression: undefined } export function isAwaitExpression(node: object | undefined): node is AwaitExpression { return node instanceof AwaitExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BigIntLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BigIntLiteral.ts index 3d3165461334f01f86e3934b2106e087ec25c5cc..ace7117f529717db502bcb2b19d3511f47465c11 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BigIntLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BigIntLiteral.ts @@ -44,6 +44,7 @@ export class BigIntLiteral extends Literal { get str(): string { return unpackString(global.generatedEs2panda._BigIntLiteralStrConst(global.context, this.peer)) } + protected readonly brandBigIntLiteral: undefined } export function isBigIntLiteral(node: object | undefined): node is BigIntLiteral { return node instanceof BigIntLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BinaryExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BinaryExpression.ts index 7ad8078283d3a84978dcf3cc45f6dab6bda5effe..b5eb017011d2cbc9717e2dbb0dc69defbadec541 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BinaryExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BinaryExpression.ts @@ -93,6 +93,7 @@ export class BinaryExpression extends Expression { global.generatedEs2panda._BinaryExpressionCompileOperandsConst(global.context, this.peer, passNode(etsg), passNode(lhs)) return this } + protected readonly brandBinaryExpression: undefined } export function isBinaryExpression(node: object | undefined): node is BinaryExpression { return node instanceof BinaryExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BindingProps.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BindingProps.ts index 555f17f58d245c2d475e9b66cfebe2a20bc3b6f2..b18bf3040e1b96ea5766c8afced959694b5acd9a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BindingProps.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BindingProps.ts @@ -32,4 +32,5 @@ export class BindingProps extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandBindingProps: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockExpression.ts index cc2601f55eec460563f7b8cc922ab1149f2fbb3b..c1aa7187ca8636a8e2c448762c4956b1e827c8bc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockExpression.ts @@ -55,6 +55,7 @@ export class BlockExpression extends Expression { global.generatedEs2panda._BlockExpressionAddStatement(global.context, this.peer, passNode(statement)) return this } + protected readonly brandBlockExpression: undefined } export function isBlockExpression(node: object | undefined): node is BlockExpression { return node instanceof BlockExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockStatement.ts index c9e2bd2d07851c36991efc4d82b1b4e1ff3d3ea0..35f302cc677ee7c335d6fa1517cad34e5b50c464 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BlockStatement.ts @@ -41,6 +41,9 @@ export class BlockStatement extends Statement { static updateBlockStatement(original: BlockStatement | undefined, statementList: readonly Statement[]): BlockStatement { return new BlockStatement(global.generatedEs2panda._UpdateBlockStatement(global.context, passNode(original), passNodeArray(statementList), statementList.length)) } + get statementsForUpdates(): readonly Statement[] { + return unpackNodeArray(global.generatedEs2panda._BlockStatementStatementsForUpdates(global.context, this.peer)) + } get statements(): readonly Statement[] { return unpackNodeArray(global.generatedEs2panda._BlockStatementStatements(global.context, this.peer)) } @@ -50,13 +53,23 @@ export class BlockStatement extends Statement { return this } /** @deprecated */ - addStatement(stmt?: Statement): this { - global.generatedEs2panda._BlockStatementAddStatement(global.context, this.peer, passNode(stmt)) + addStatements(statementList: readonly Statement[]): this { + global.generatedEs2panda._BlockStatementAddStatements(global.context, this.peer, passNodeArray(statementList), statementList.length) + return this + } + /** @deprecated */ + clearStatements(): this { + global.generatedEs2panda._BlockStatementClearStatements(global.context, this.peer) + return this + } + /** @deprecated */ + addStatement(statement?: Statement): this { + global.generatedEs2panda._BlockStatementAddStatement(global.context, this.peer, passNode(statement)) return this } /** @deprecated */ - addStatements(stmts: readonly Statement[]): this { - global.generatedEs2panda._BlockStatementAddStatements(global.context, this.peer, passNodeArray(stmts), stmts.length) + addStatement1(idx: number, statement?: Statement): this { + global.generatedEs2panda._BlockStatementAddStatement1(global.context, this.peer, idx, passNode(statement)) return this } /** @deprecated */ @@ -64,6 +77,7 @@ export class BlockStatement extends Statement { global.generatedEs2panda._BlockStatementAddTrailingBlock(global.context, this.peer, passNode(stmt), passNode(trailingBlock)) return this } + protected readonly brandBlockStatement: undefined } export function isBlockStatement(node: object | undefined): node is BlockStatement { return node instanceof BlockStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BooleanLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BooleanLiteral.ts index 3468be119449a0ba87b4ac08effff3421803e186..c172a5db269999917272c8ab2f132503595123fa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BooleanLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BooleanLiteral.ts @@ -44,6 +44,7 @@ export class BooleanLiteral extends Literal { get value(): boolean { return global.generatedEs2panda._BooleanLiteralValueConst(global.context, this.peer) } + protected readonly brandBooleanLiteral: undefined } export function isBooleanLiteral(node: object | undefined): node is BooleanLiteral { return node instanceof BooleanLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BreakStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BreakStatement.ts index 329dc483665288aeaf3821985733a3ed45667a85..fbd9f1275b2b0e582ff5ed6d1e8454a23bcfa9d6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BreakStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/BreakStatement.ts @@ -59,6 +59,7 @@ export class BreakStatement extends Statement { global.generatedEs2panda._BreakStatementSetTarget(global.context, this.peer, passNode(target)) return this } + protected readonly brandBreakStatement: undefined } export function isBreakStatement(node: object | undefined): node is BreakStatement { return node instanceof BreakStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CallExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CallExpression.ts index e501ad1ecba9899fc2fc4f454575f8da2d364c32..fcb47c705cadc14383994ff961647209105c388c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CallExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CallExpression.ts @@ -96,6 +96,7 @@ export class CallExpression extends MaybeOptionalExpression { get isETSConstructorCall(): boolean { return global.generatedEs2panda._CallExpressionIsETSConstructorCallConst(global.context, this.peer) } + protected readonly brandCallExpression: undefined } export function isCallExpression(node: object | undefined): node is CallExpression { return node instanceof CallExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CatchClause.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CatchClause.ts index 7c4756fa8678925d7646a44643b5cc8f0b3306a5..78001dba9bf1e241b8a698e0eb1fcd0b58818260 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CatchClause.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CatchClause.ts @@ -55,6 +55,7 @@ export class CatchClause extends TypedStatement { get isDefaultCatchClause(): boolean { return global.generatedEs2panda._CatchClauseIsDefaultCatchClauseConst(global.context, this.peer) } + protected readonly brandCatchClause: undefined } export function isCatchClause(node: object | undefined): node is CatchClause { return node instanceof CatchClause diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ChainExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ChainExpression.ts index f856567f16da5db093b1077005866c800977c2e6..0eef85b44dae4f69eeee46bf70f91b87bd297169 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ChainExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ChainExpression.ts @@ -51,6 +51,7 @@ export class ChainExpression extends Expression { global.generatedEs2panda._ChainExpressionCompileToRegConst(global.context, this.peer, passNode(pg), passNode(objReg)) return this } + protected readonly brandChainExpression: undefined } export function isChainExpression(node: object | undefined): node is ChainExpression { return node instanceof ChainExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CharLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CharLiteral.ts index 75add9d3ce5bb138193e510b41c5f1646dceed12..3687ad9e1bedfe0635f5d9d19123f635d5834dfb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CharLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CharLiteral.ts @@ -41,6 +41,7 @@ export class CharLiteral extends Literal { static updateCharLiteral(original?: CharLiteral): CharLiteral { return new CharLiteral(global.generatedEs2panda._UpdateCharLiteral(global.context, passNode(original))) } + protected readonly brandCharLiteral: undefined } export function isCharLiteral(node: object | undefined): node is CharLiteral { return node instanceof CharLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDeclaration.ts index a9d3f3f00b2f429eb3c4c793d80e2c9727cc7a47..02ebdfc9ea4430aee5c349c4c4de2e4012f6ab12 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDeclaration.ts @@ -46,9 +46,33 @@ export class ClassDeclaration extends Statement { get definition(): ClassDefinition | undefined { return unpackNode(global.generatedEs2panda._ClassDeclarationDefinition(global.context, this.peer)) } + /** @deprecated */ + emplaceDecorators(decorators?: Decorator): this { + global.generatedEs2panda._ClassDeclarationEmplaceDecorators(global.context, this.peer, passNode(decorators)) + return this + } + /** @deprecated */ + clearDecorators(): this { + global.generatedEs2panda._ClassDeclarationClearDecorators(global.context, this.peer) + return this + } + /** @deprecated */ + setValueDecorators(decorators: Decorator | undefined, index: number): this { + global.generatedEs2panda._ClassDeclarationSetValueDecorators(global.context, this.peer, passNode(decorators), index) + return this + } get decorators(): readonly Decorator[] { - return unpackNodeArray(global.generatedEs2panda._ClassDeclarationDecoratorsConst(global.context, this.peer)) + return unpackNodeArray(global.generatedEs2panda._ClassDeclarationDecorators(global.context, this.peer)) + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._ClassDeclarationDecoratorsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + setDefinition(def?: ClassDefinition): this { + global.generatedEs2panda._ClassDeclarationSetDefinition(global.context, this.peer, passNode(def)) + return this } + protected readonly brandClassDeclaration: undefined } export function isClassDeclaration(node: object | undefined): node is ClassDeclaration { return node instanceof ClassDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDefinition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDefinition.ts index 46e2e70fd90fad2c83ebf6a8b6ffbce641184b84..92df6f1205126ead1934e38bb24b01e260b5dc07 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDefinition.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassDefinition.ts @@ -69,11 +69,6 @@ export class ClassDefinition extends TypedAstNode { get internalName(): string { return unpackString(global.generatedEs2panda._ClassDefinitionInternalNameConst(global.context, this.peer)) } - /** @deprecated */ - setInternalName(internalName: string): this { - global.generatedEs2panda._ClassDefinitionSetInternalName(global.context, this.peer, internalName) - return this - } get super(): Expression | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionSuper(global.context, this.peer)) } @@ -158,37 +153,16 @@ export class ClassDefinition extends TypedAstNode { return global.generatedEs2panda._ClassDefinitionModifiersConst(global.context, this.peer) } /** @deprecated */ - setModifiers(modifiers: Es2pandaClassDefinitionModifiers): this { - global.generatedEs2panda._ClassDefinitionSetModifiers(global.context, this.peer, modifiers) - return this - } - /** @deprecated */ addProperties(body: readonly AstNode[]): this { global.generatedEs2panda._ClassDefinitionAddProperties(global.context, this.peer, passNodeArray(body), body.length) return this } - get body(): readonly AstNode[] { - return unpackNodeArray(global.generatedEs2panda._ClassDefinitionBody(global.context, this.peer)) - } get ctor(): MethodDefinition | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionCtor(global.context, this.peer)) } - /** @deprecated */ - setCtor(ctor?: MethodDefinition): this { - global.generatedEs2panda._ClassDefinitionSetCtor(global.context, this.peer, passNode(ctor)) - return this - } - get implements(): readonly TSClassImplements[] { - return unpackNodeArray(global.generatedEs2panda._ClassDefinitionImplements(global.context, this.peer)) - } get typeParams(): TSTypeParameterDeclaration | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionTypeParams(global.context, this.peer)) } - /** @deprecated */ - setTypeParams(typeParams?: TSTypeParameterDeclaration): this { - global.generatedEs2panda._ClassDefinitionSetTypeParams(global.context, this.peer, passNode(typeParams)) - return this - } get superTypeParams(): TSTypeParameterInstantiation | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionSuperTypeParams(global.context, this.peer)) } @@ -198,25 +172,23 @@ export class ClassDefinition extends TypedAstNode { get localIndex(): number { return global.generatedEs2panda._ClassDefinitionLocalIndexConst(global.context, this.peer) } - get localPrefix(): string { - return unpackString(global.generatedEs2panda._ClassDefinitionLocalPrefixConst(global.context, this.peer)) + get functionalReferenceReferencedMethod(): MethodDefinition | undefined { + return unpackNode(global.generatedEs2panda._ClassDefinitionFunctionalReferenceReferencedMethodConst(global.context, this.peer)) } /** @deprecated */ - setOrigEnumDecl(enumDecl?: TSEnumDeclaration): this { - global.generatedEs2panda._ClassDefinitionSetOrigEnumDecl(global.context, this.peer, passNode(enumDecl)) + setFunctionalReferenceReferencedMethod(functionalReferenceReferencedMethod?: MethodDefinition): this { + global.generatedEs2panda._ClassDefinitionSetFunctionalReferenceReferencedMethod(global.context, this.peer, passNode(functionalReferenceReferencedMethod)) return this } + get localPrefix(): string { + return unpackString(global.generatedEs2panda._ClassDefinitionLocalPrefixConst(global.context, this.peer)) + } get origEnumDecl(): TSEnumDeclaration | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionOrigEnumDeclConst(global.context, this.peer)) } get anonClass(): ClassDeclaration | undefined { return unpackNode(global.generatedEs2panda._ClassDefinitionGetAnonClass(global.context, this.peer)) } - /** @deprecated */ - setAnonClass(anonClass?: ClassDeclaration): this { - global.generatedEs2panda._ClassDefinitionSetAnonClass(global.context, this.peer, passNode(anonClass)) - return this - } get hasPrivateMethod(): boolean { return global.generatedEs2panda._ClassDefinitionHasPrivateMethodConst(global.context, this.peer) } @@ -231,14 +203,115 @@ export class ClassDefinition extends TypedAstNode { global.generatedEs2panda._ClassDefinitionAddToExportedClasses(global.context, this.peer, passNode(cls)) return this } + /** @deprecated */ + setModifiers(modifiers: Es2pandaClassDefinitionModifiers): this { + global.generatedEs2panda._ClassDefinitionSetModifiers(global.context, this.peer, modifiers) + return this + } + /** @deprecated */ + emplaceBody(body?: AstNode): this { + global.generatedEs2panda._ClassDefinitionEmplaceBody(global.context, this.peer, passNode(body)) + return this + } + /** @deprecated */ + clearBody(): this { + global.generatedEs2panda._ClassDefinitionClearBody(global.context, this.peer) + return this + } + /** @deprecated */ + setValueBody(body: AstNode | undefined, index: number): this { + global.generatedEs2panda._ClassDefinitionSetValueBody(global.context, this.peer, passNode(body), index) + return this + } + get body(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._ClassDefinitionBody(global.context, this.peer)) + } + get bodyForUpdate(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._ClassDefinitionBodyForUpdate(global.context, this.peer)) + } + /** @deprecated */ + emplaceImplements(_implements?: TSClassImplements): this { + global.generatedEs2panda._ClassDefinitionEmplaceImplements(global.context, this.peer, passNode(_implements)) + return this + } + /** @deprecated */ + clearImplements(): this { + global.generatedEs2panda._ClassDefinitionClearImplements(global.context, this.peer) + return this + } + /** @deprecated */ + setValueImplements(_implements: TSClassImplements | undefined, index: number): this { + global.generatedEs2panda._ClassDefinitionSetValueImplements(global.context, this.peer, passNode(_implements), index) + return this + } + get implements(): readonly TSClassImplements[] { + return unpackNodeArray(global.generatedEs2panda._ClassDefinitionImplements(global.context, this.peer)) + } + get implementsForUpdate(): readonly TSClassImplements[] { + return unpackNodeArray(global.generatedEs2panda._ClassDefinitionImplementsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + setCtor(ctor?: MethodDefinition): this { + global.generatedEs2panda._ClassDefinitionSetCtor(global.context, this.peer, passNode(ctor)) + return this + } + /** @deprecated */ + setTypeParams(typeParams?: TSTypeParameterDeclaration): this { + global.generatedEs2panda._ClassDefinitionSetTypeParams(global.context, this.peer, passNode(typeParams)) + return this + } + /** @deprecated */ + setOrigEnumDecl(origEnumDecl?: TSEnumDeclaration): this { + global.generatedEs2panda._ClassDefinitionSetOrigEnumDecl(global.context, this.peer, passNode(origEnumDecl)) + return this + } + /** @deprecated */ + setAnonClass(anonClass?: ClassDeclaration): this { + global.generatedEs2panda._ClassDefinitionSetAnonClass(global.context, this.peer, passNode(anonClass)) + return this + } + /** @deprecated */ + setInternalName(internalName: string): this { + global.generatedEs2panda._ClassDefinitionSetInternalName(global.context, this.peer, internalName) + return this + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ClassDefinitionEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ClassDefinitionClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ClassDefinitionSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ClassDefinitionAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ClassDefinitionAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ClassDefinitionSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ClassDefinitionSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ClassDefinitionSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ClassDefinitionAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandClassDefinition: undefined } export function isClassDefinition(node: object | undefined): node is ClassDefinition { return node instanceof ClassDefinition diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassElement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassElement.ts index 4542cc579413192d5be0a44e05d543744c97dd0d..7ba7d659a66ec81ad5a88b6956d9f940cca6c189 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassElement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassElement.ts @@ -62,9 +62,6 @@ export class ClassElement extends TypedStatement { get isPrivateElement(): boolean { return global.generatedEs2panda._ClassElementIsPrivateElementConst(global.context, this.peer) } - get decorators(): readonly Decorator[] { - return unpackNodeArray(global.generatedEs2panda._ClassElementDecoratorsConst(global.context, this.peer)) - } get isComputed(): boolean { return global.generatedEs2panda._ClassElementIsComputedConst(global.context, this.peer) } @@ -73,6 +70,28 @@ export class ClassElement extends TypedStatement { global.generatedEs2panda._ClassElementAddDecorator(global.context, this.peer, passNode(decorator)) return this } + /** @deprecated */ + emplaceDecorators(decorators?: Decorator): this { + global.generatedEs2panda._ClassElementEmplaceDecorators(global.context, this.peer, passNode(decorators)) + return this + } + /** @deprecated */ + clearDecorators(): this { + global.generatedEs2panda._ClassElementClearDecorators(global.context, this.peer) + return this + } + /** @deprecated */ + setValueDecorators(decorators: Decorator | undefined, index: number): this { + global.generatedEs2panda._ClassElementSetValueDecorators(global.context, this.peer, passNode(decorators), index) + return this + } + get decorators(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._ClassElementDecorators(global.context, this.peer)) + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._ClassElementDecoratorsForUpdate(global.context, this.peer)) + } + protected readonly brandClassElement: undefined } export function isClassElement(node: object | undefined): node is ClassElement { return node instanceof ClassElement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassExpression.ts index 0698f07ee3772fcbf654d8365898041981085d62..2b306fbf8ccde2674b6b5c4f997ac0a577a997f1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassExpression.ts @@ -45,6 +45,7 @@ export class ClassExpression extends Expression { get definition(): ClassDefinition | undefined { return unpackNode(global.generatedEs2panda._ClassExpressionDefinitionConst(global.context, this.peer)) } + protected readonly brandClassExpression: undefined } export function isClassExpression(node: object | undefined): node is ClassExpression { return node instanceof ClassExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassProperty.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassProperty.ts index 146fff171f5ce2124d181aaf0723d1f0e5310501..5f2087ac852d0d882d6e81494a990e4fb3947bc0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassProperty.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassProperty.ts @@ -69,14 +69,43 @@ export class ClassProperty extends ClassElement { global.generatedEs2panda._ClassPropertySetInitInStaticBlock(global.context, this.peer, needInitInStaticBlock) return this } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ClassPropertyEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ClassPropertyClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ClassPropertySetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ClassPropertyAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ClassPropertyAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ClassPropertySetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ClassPropertySetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ClassPropertySetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ClassPropertyAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandClassProperty: undefined } export function isClassProperty(node: object | undefined): node is ClassProperty { return node instanceof ClassProperty diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassStaticBlock.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassStaticBlock.ts index 59a6b9742f45a747bcd6d131354f16be6a99c39f..6686ef26a257f56b1079f3aa69405eda18849b2e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassStaticBlock.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ClassStaticBlock.ts @@ -49,6 +49,7 @@ export class ClassStaticBlock extends ClassElement { get name(): string { return unpackString(global.generatedEs2panda._ClassStaticBlockNameConst(global.context, this.peer)) } + protected readonly brandClassStaticBlock: undefined } export function isClassStaticBlock(node: object | undefined): node is ClassStaticBlock { return node instanceof ClassStaticBlock diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CodeGen.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CodeGen.ts index d549ee2035cd49c70d65148d2c62c43ae3f01def..c1165fdafe11c410e4d322e6327f9787b0c90874 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CodeGen.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/CodeGen.ts @@ -32,4 +32,5 @@ export class CodeGen extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandCodeGen: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ConditionalExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ConditionalExpression.ts index 5d2cc7ab7bad96b9986a58b18eaa220366883fd3..818338c6938dad8e699e21a6948a20a5c46ab293 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ConditionalExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ConditionalExpression.ts @@ -65,6 +65,7 @@ export class ConditionalExpression extends Expression { global.generatedEs2panda._ConditionalExpressionSetAlternate(global.context, this.peer, passNode(expr)) return this } + protected readonly brandConditionalExpression: undefined } export function isConditionalExpression(node: object | undefined): node is ConditionalExpression { return node instanceof ConditionalExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ContinueStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ContinueStatement.ts index 550ed567b6b0d95d05dcfe82df02cd00bcab37fa..80d15f67f348150a50e7ade9acba3cd150bb86c0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ContinueStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ContinueStatement.ts @@ -59,6 +59,7 @@ export class ContinueStatement extends Statement { global.generatedEs2panda._ContinueStatementSetTarget(global.context, this.peer, passNode(target)) return this } + protected readonly brandContinueStatement: undefined } export function isContinueStatement(node: object | undefined): node is ContinueStatement { return node instanceof ContinueStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DebuggerStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DebuggerStatement.ts index 7427a54459d7e0db41fa53b8cdd157a38f82f916..c2eaeedc6443bab295760e59c2f090fdab783c36 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DebuggerStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DebuggerStatement.ts @@ -41,6 +41,7 @@ export class DebuggerStatement extends Statement { static updateDebuggerStatement(original?: DebuggerStatement): DebuggerStatement { return new DebuggerStatement(global.generatedEs2panda._UpdateDebuggerStatement(global.context, passNode(original))) } + protected readonly brandDebuggerStatement: undefined } export function isDebuggerStatement(node: object | undefined): node is DebuggerStatement { return node instanceof DebuggerStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Declaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Declaration.ts index 9a4e6dbd346b25fe54aae6be51a9a7939bcda6fa..56c1f4d8ee6d3e969492c6ac36c293c4bd7de35f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Declaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Declaration.ts @@ -32,4 +32,5 @@ export class Declaration extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandDeclaration: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Decorator.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Decorator.ts index 6ee385b2bcc6a53f9142ce97c9f8debed896bba2..4d855f5dc5c1068833c900823f090bd980e74340 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Decorator.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Decorator.ts @@ -45,6 +45,7 @@ export class Decorator extends Statement { get expr(): Expression | undefined { return unpackNode(global.generatedEs2panda._DecoratorExprConst(global.context, this.peer)) } + protected readonly brandDecorator: undefined } export function isDecorator(node: object | undefined): node is Decorator { return node instanceof Decorator diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DiagnosticInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DiagnosticInfo.ts index 59af3821975d502c115eee7ad1b31db26091c143..e353903afb3476e260dfabea450b36ef33419c5a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DiagnosticInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DiagnosticInfo.ts @@ -32,4 +32,5 @@ export class DiagnosticInfo extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandDiagnosticInfo: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DirectEvalExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DirectEvalExpression.ts index 1b4dd7e16b91c7c60ef7ac8b9c6aae72d3da6156..69288fd719dd966ba94129427f37159dbb77a122 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DirectEvalExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DirectEvalExpression.ts @@ -43,6 +43,7 @@ export class DirectEvalExpression extends CallExpression { static updateDirectEvalExpression(original: DirectEvalExpression | undefined, callee: Expression | undefined, _arguments: readonly Expression[], typeParams: TSTypeParameterInstantiation | undefined, optional_arg: boolean, parserStatus: number): DirectEvalExpression { return new DirectEvalExpression(global.generatedEs2panda._UpdateDirectEvalExpression(global.context, passNode(original), passNode(callee), passNodeArray(_arguments), _arguments.length, passNode(typeParams), optional_arg, parserStatus)) } + protected readonly brandDirectEvalExpression: undefined } export function isDirectEvalExpression(node: object | undefined): node is DirectEvalExpression { return node instanceof DirectEvalExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DoWhileStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DoWhileStatement.ts index 7978649405d3ead041524eadfc3b9f18cc7cc466..05412a08d8d5e48da042d74e7040fd8f1f9281f2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DoWhileStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DoWhileStatement.ts @@ -49,6 +49,7 @@ export class DoWhileStatement extends LoopStatement { get test(): Expression | undefined { return unpackNode(global.generatedEs2panda._DoWhileStatementTest(global.context, this.peer)) } + protected readonly brandDoWhileStatement: undefined } export function isDoWhileStatement(node: object | undefined): node is DoWhileStatement { return node instanceof DoWhileStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DynamicImportData.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DynamicImportData.ts index 01d6859b0544edab7061704cae15b3a242877724..3f05ce1633b6916e9f15cd6ab8706992a22c6f70 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DynamicImportData.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/DynamicImportData.ts @@ -32,4 +32,5 @@ export class DynamicImportData extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandDynamicImportData: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSClassLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSClassLiteral.ts index ec60cc7c8bad78dcc1774c69f7856489b7edcf9e..50711dd9858eb992aaa8387d3aad0b511df6a14e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSClassLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSClassLiteral.ts @@ -45,6 +45,7 @@ export class ETSClassLiteral extends Expression { get expr(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._ETSClassLiteralExprConst(global.context, this.peer)) } + protected readonly brandETSClassLiteral: undefined } export function isETSClassLiteral(node: object | undefined): node is ETSClassLiteral { return node instanceof ETSClassLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSDynamicFunctionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSDynamicFunctionType.ts index ee7aaf50e76acee57b161e990a507fb7e6cf4275..7e78393368ee23f25b806d36340c28c6e481f050 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSDynamicFunctionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSDynamicFunctionType.ts @@ -33,6 +33,7 @@ export class ETSDynamicFunctionType extends ETSFunctionType { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandETSDynamicFunctionType: undefined } export function isETSDynamicFunctionType(node: object | undefined): node is ETSDynamicFunctionType { return node instanceof ETSDynamicFunctionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSFunctionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSFunctionType.ts index 8569da0cd862fae73858dd1c5b9cfc9150e9f360..8945ed4a33fa8ed204b8fb0549b8f55efb8e2574 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSFunctionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSFunctionType.ts @@ -75,6 +75,7 @@ export class ETSFunctionType extends TypeNode { get isExtensionFunction(): boolean { return global.generatedEs2panda._ETSFunctionTypeIsExtensionFunctionConst(global.context, this.peer) } + protected readonly brandETSFunctionType: undefined } export function isETSFunctionType(node: object | undefined): node is ETSFunctionType { return node instanceof ETSFunctionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSImportDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSImportDeclaration.ts index 9bb695288562233259816751d50a075d037ebf4d..845dfe263a0d76dcbbe3571dcb2f057abeb4d935 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSImportDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSImportDeclaration.ts @@ -62,12 +62,18 @@ export class ETSImportDeclaration extends ImportDeclaration { get isPureDynamic(): boolean { return global.generatedEs2panda._ETSImportDeclarationIsPureDynamicConst(global.context, this.peer) } + /** @deprecated */ + setAssemblerName(assemblerName: string): this { + global.generatedEs2panda._ETSImportDeclarationSetAssemblerName(global.context, this.peer, assemblerName) + return this + } get assemblerName(): string { - return unpackString(global.generatedEs2panda._ETSImportDeclarationAssemblerName(global.context, this.peer)) + return unpackString(global.generatedEs2panda._ETSImportDeclarationAssemblerNameConst(global.context, this.peer)) } get resolvedSource(): string { return unpackString(global.generatedEs2panda._ETSImportDeclarationResolvedSourceConst(global.context, this.peer)) } + protected readonly brandETSImportDeclaration: undefined } export function isETSImportDeclaration(node: object | undefined): node is ETSImportDeclaration { return node instanceof ETSImportDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSKeyofType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSKeyofType.ts index 33014b621f574365a8431b64fca9537c67314f5d..30cecd036206ad87397854f34ad0a9d135b610c1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSKeyofType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSKeyofType.ts @@ -44,6 +44,7 @@ export class ETSKeyofType extends TypeNode { get typeRef(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._ETSKeyofTypeGetTypeRefConst(global.context, this.peer)) } + protected readonly brandETSKeyofType: undefined } export function isETSKeyofType(node: object | undefined): node is ETSKeyofType { return node instanceof ETSKeyofType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSModule.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSModule.ts index 96738e8438d6baa9c91480735126bcaaa64b5f86..0f35b1af86b865e3a1738257c8ea0b6252f3eb45 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSModule.ts @@ -30,16 +30,37 @@ import { import { AnnotationUsage } from "./AnnotationUsage" import { BlockStatement } from "./BlockStatement" +import { ClassDefinition } from "./ClassDefinition" import { Es2pandaAstNodeType } from "./../Es2pandaEnums" +import { Es2pandaModuleFlag } from "./../Es2pandaEnums" import { Identifier } from "./Identifier" +import { Program } from "./Program" +import { Statement } from "./Statement" export class ETSModule extends BlockStatement { constructor(pointer: KNativePointer) { assertValidPeer(pointer, 82) super(pointer) } + static createETSModule(statementList: readonly Statement[], ident: Identifier | undefined, flag: Es2pandaModuleFlag, program?: Program): ETSModule { + return new ETSModule(global.generatedEs2panda._CreateETSModule(global.context, passNodeArray(statementList), statementList.length, passNode(ident), flag, passNode(program))) + } + static updateETSModule(original: ETSModule | undefined, statementList: readonly Statement[], ident: Identifier | undefined, flag: Es2pandaModuleFlag, program?: Program): ETSModule { + return new ETSModule(global.generatedEs2panda._UpdateETSModule(global.context, passNode(original), passNodeArray(statementList), statementList.length, passNode(ident), flag, passNode(program))) + } get ident(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ETSModuleIdent(global.context, this.peer)) } + get program(): Program | undefined { + return new Program(global.generatedEs2panda._ETSModuleProgram(global.context, this.peer)) + } + get globalClass(): ClassDefinition | undefined { + return unpackNode(global.generatedEs2panda._ETSModuleGlobalClass(global.context, this.peer)) + } + /** @deprecated */ + setGlobalClass(globalClass?: ClassDefinition): this { + global.generatedEs2panda._ETSModuleSetGlobalClass(global.context, this.peer, passNode(globalClass)) + return this + } get isETSScript(): boolean { return global.generatedEs2panda._ETSModuleIsETSScriptConst(global.context, this.peer) } @@ -54,14 +75,43 @@ export class ETSModule extends BlockStatement { global.generatedEs2panda._ETSModuleSetNamespaceChainLastNode(global.context, this.peer) return this } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ETSModuleEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ETSModuleClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ETSModuleSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ETSModuleAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ETSModuleAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ETSModuleSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ETSModuleSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ETSModuleSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ETSModuleAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandETSModule: undefined } export function isETSModule(node: object | undefined): node is ETSModule { return node instanceof ETSModule diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewArrayInstanceExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewArrayInstanceExpression.ts index a4fae96721c37ff01bd32c65bccf8e95f58aed92..d85b4adba1373028a94ba1ca58cae0fe03d960fa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewArrayInstanceExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewArrayInstanceExpression.ts @@ -58,6 +58,7 @@ export class ETSNewArrayInstanceExpression extends Expression { global.generatedEs2panda._ETSNewArrayInstanceExpressionClearPreferredType(global.context, this.peer) return this } + protected readonly brandETSNewArrayInstanceExpression: undefined } export function isETSNewArrayInstanceExpression(node: object | undefined): node is ETSNewArrayInstanceExpression { return node instanceof ETSNewArrayInstanceExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewClassInstanceExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewClassInstanceExpression.ts index 18c558ace5db3fb7796affc7f61707bd55be0112..7fa304cb53ac70c64f81c4fd365fea2395c0ea0e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewClassInstanceExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewClassInstanceExpression.ts @@ -60,6 +60,7 @@ export class ETSNewClassInstanceExpression extends Expression { global.generatedEs2panda._ETSNewClassInstanceExpressionAddToArgumentsFront(global.context, this.peer, passNode(expr)) return this } + protected readonly brandETSNewClassInstanceExpression: undefined } export function isETSNewClassInstanceExpression(node: object | undefined): node is ETSNewClassInstanceExpression { return node instanceof ETSNewClassInstanceExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts index 042996e7457859a43e346948df6aee8eccc8891f..d6cb75cc31238ffff7b91e59338e1d9bfec97705 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts @@ -56,6 +56,7 @@ export class ETSNewMultiDimArrayInstanceExpression extends Expression { global.generatedEs2panda._ETSNewMultiDimArrayInstanceExpressionClearPreferredType(global.context, this.peer) return this } + protected readonly brandETSNewMultiDimArrayInstanceExpression: undefined } export function isETSNewMultiDimArrayInstanceExpression(node: object | undefined): node is ETSNewMultiDimArrayInstanceExpression { return node instanceof ETSNewMultiDimArrayInstanceExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNullType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNullType.ts index 996265dbb89b45d0584d7e8c8005cc004728418e..2107ff98faf4429282897a6ff69fa6ce0fbaa484 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNullType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSNullType.ts @@ -41,6 +41,7 @@ export class ETSNullType extends TypeNode { static updateETSNullType(original?: ETSNullType): ETSNullType { return new ETSNullType(global.generatedEs2panda._UpdateETSNullType(global.context, passNode(original))) } + protected readonly brandETSNullType: undefined } export function isETSNullType(node: object | undefined): node is ETSNullType { return node instanceof ETSNullType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPackageDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPackageDeclaration.ts index b85b61118dbc86ebc785272d184a52724fd4cecd..1612267b1895c9e7cbca9bf6ce316f4d0972eb97 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPackageDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPackageDeclaration.ts @@ -42,6 +42,7 @@ export class ETSPackageDeclaration extends Statement { static updateETSPackageDeclaration(original?: ETSPackageDeclaration, name?: Expression): ETSPackageDeclaration { return new ETSPackageDeclaration(global.generatedEs2panda._UpdateETSPackageDeclaration(global.context, passNode(original), passNode(name))) } + protected readonly brandETSPackageDeclaration: undefined } export function isETSPackageDeclaration(node: object | undefined): node is ETSPackageDeclaration { return node instanceof ETSPackageDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSParameterExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSParameterExpression.ts index f47f7e062cb51e047e1a3976990ec782caccd4e3..d968040e32b3e018d7f0e3843e301eeac904ede4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSParameterExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSParameterExpression.ts @@ -70,8 +70,8 @@ export class ETSParameterExpression extends Expression { return unpackNode(global.generatedEs2panda._ETSParameterExpressionInitializer(global.context, this.peer)) } /** @deprecated */ - setLexerSaved(s: string): this { - global.generatedEs2panda._ETSParameterExpressionSetLexerSaved(global.context, this.peer, s) + setLexerSaved(savedLexer: string): this { + global.generatedEs2panda._ETSParameterExpressionSetLexerSaved(global.context, this.peer, savedLexer) return this } get lexerSaved(): string { @@ -105,18 +105,47 @@ export class ETSParameterExpression extends Expression { return global.generatedEs2panda._ETSParameterExpressionGetRequiredParamsConst(global.context, this.peer) } /** @deprecated */ - setRequiredParams(value: number): this { - global.generatedEs2panda._ETSParameterExpressionSetRequiredParams(global.context, this.peer, value) + setRequiredParams(extraValue: number): this { + global.generatedEs2panda._ETSParameterExpressionSetRequiredParams(global.context, this.peer, extraValue) return this } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ETSParameterExpressionEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ETSParameterExpressionClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ETSParameterExpressionSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ETSParameterExpressionAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ETSParameterExpressionAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ETSParameterExpressionSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ETSParameterExpressionSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ETSParameterExpressionSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ETSParameterExpressionAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandETSParameterExpression: undefined } export function isETSParameterExpression(node: object | undefined): node is ETSParameterExpression { return node instanceof ETSParameterExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPrimitiveType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPrimitiveType.ts index bb6b9f49e20a201fd0f7982fee8909a7373af6d5..a893f2847ba2ad770633af5557c40f5aef6a85eb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPrimitiveType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSPrimitiveType.ts @@ -45,6 +45,7 @@ export class ETSPrimitiveType extends TypeNode { get primitiveType(): Es2pandaPrimitiveType { return global.generatedEs2panda._ETSPrimitiveTypeGetPrimitiveTypeConst(global.context, this.peer) } + protected readonly brandETSPrimitiveType: undefined } export function isETSPrimitiveType(node: object | undefined): node is ETSPrimitiveType { return node instanceof ETSPrimitiveType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSReExportDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSReExportDeclaration.ts index a874a540fcd27b9d8c35b4cbd59451d410a751bf..931fb9fb40b126d605feef92e500e0d6c1ac53c3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSReExportDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSReExportDeclaration.ts @@ -42,6 +42,7 @@ export class ETSReExportDeclaration extends Statement { get programPath(): string { return unpackString(global.generatedEs2panda._ETSReExportDeclarationGetProgramPathConst(global.context, this.peer)) } + protected readonly brandETSReExportDeclaration: undefined } export function isETSReExportDeclaration(node: object | undefined): node is ETSReExportDeclaration { return node instanceof ETSReExportDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStringLiteralType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStringLiteralType.ts index db3ffa4d933739cd39a4ccac0c9307e2437a0bff..043f4c18aa0697b588c259c6372379f635e158c2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStringLiteralType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStringLiteralType.ts @@ -41,6 +41,7 @@ export class ETSStringLiteralType extends TypeNode { static updateETSStringLiteralType(original: ETSStringLiteralType | undefined, value: string): ETSStringLiteralType { return new ETSStringLiteralType(global.generatedEs2panda._UpdateETSStringLiteralType(global.context, passNode(original), value)) } + protected readonly brandETSStringLiteralType: undefined } export function isETSStringLiteralType(node: object | undefined): node is ETSStringLiteralType { return node instanceof ETSStringLiteralType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStructDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStructDeclaration.ts index 5b10199a5355729402aeb344833026f54d0a63bd..5d1eb26b0e55a2ee4900544d98fdb6f96ab94ee8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStructDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSStructDeclaration.ts @@ -42,6 +42,7 @@ export class ETSStructDeclaration extends ClassDeclaration { static updateETSStructDeclaration(original?: ETSStructDeclaration, def?: ClassDefinition): ETSStructDeclaration { return new ETSStructDeclaration(global.generatedEs2panda._UpdateETSStructDeclaration(global.context, passNode(original), passNode(def))) } + protected readonly brandETSStructDeclaration: undefined } export function isETSStructDeclaration(node: object | undefined): node is ETSStructDeclaration { return node instanceof ETSStructDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTuple.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTuple.ts index 0f66cd078570e10313a316fcbf3896728000beeb..f1dad21e3b3955f2e2b77b8272bcb7f23a67c750 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTuple.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTuple.ts @@ -64,6 +64,7 @@ export class ETSTuple extends TypeNode { global.generatedEs2panda._ETSTupleSetTypeAnnotationsList(global.context, this.peer, passNodeArray(typeNodeList), typeNodeList.length) return this } + protected readonly brandETSTuple: undefined } export function isETSTuple(node: object | undefined): node is ETSTuple { return node instanceof ETSTuple diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReference.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReference.ts index 41b34ab1028df1d3dca0c3b24a6c83843ad19714..b5e087b356cb60929c7a531594de402b223fb5f9 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReference.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReference.ts @@ -49,6 +49,7 @@ export class ETSTypeReference extends TypeNode { get baseName(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ETSTypeReferenceBaseNameConst(global.context, this.peer)) } + protected readonly brandETSTypeReference: undefined } export function isETSTypeReference(node: object | undefined): node is ETSTypeReference { return node instanceof ETSTypeReference diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReferencePart.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReferencePart.ts index 932121fb6e21acbefd2cd1a89b6d96a0a8caf411..de432b4e3055c72172dea90d17c62e49d3b4842d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReferencePart.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSTypeReferencePart.ts @@ -59,6 +59,7 @@ export class ETSTypeReferencePart extends TypeNode { get ident(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ETSTypeReferencePartGetIdent(global.context, this.peer)) } + protected readonly brandETSTypeReferencePart: undefined } export function isETSTypeReferencePart(node: object | undefined): node is ETSTypeReferencePart { return node instanceof ETSTypeReferencePart diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUndefinedType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUndefinedType.ts index 455fd69a9826fb5ae5312a88dcf91b53c1c79ef2..412f07b1d8590a10adb3c99790d8fdff1f1cf19d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUndefinedType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUndefinedType.ts @@ -41,6 +41,7 @@ export class ETSUndefinedType extends TypeNode { static updateETSUndefinedType(original?: ETSUndefinedType): ETSUndefinedType { return new ETSUndefinedType(global.generatedEs2panda._UpdateETSUndefinedType(global.context, passNode(original))) } + protected readonly brandETSUndefinedType: undefined } export function isETSUndefinedType(node: object | undefined): node is ETSUndefinedType { return node instanceof ETSUndefinedType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUnionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUnionType.ts index 86524263882ce482ac91493977db82e94a743143..188bd6ab8a6567f91b0a1513c599d7046043952d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUnionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSUnionType.ts @@ -44,6 +44,12 @@ export class ETSUnionType extends TypeNode { get types(): readonly TypeNode[] { return unpackNodeArray(global.generatedEs2panda._ETSUnionTypeTypesConst(global.context, this.peer)) } + /** @deprecated */ + setValueTypes(type: TypeNode | undefined, index: number): this { + global.generatedEs2panda._ETSUnionTypeSetValueTypesConst(global.context, this.peer, passNode(type), index) + return this + } + protected readonly brandETSUnionType: undefined } export function isETSUnionType(node: object | undefined): node is ETSUnionType { return node instanceof ETSUnionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSWildcardType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSWildcardType.ts index 9dc0c287a0587c5197bdab87a6e6b36bd89ed826..35f8d5e60e91fb2b739c5bd1f491453e47900137 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSWildcardType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ETSWildcardType.ts @@ -46,6 +46,7 @@ export class ETSWildcardType extends TypeNode { get typeReference(): ETSTypeReference | undefined { return unpackNode(global.generatedEs2panda._ETSWildcardTypeTypeReference(global.context, this.peer)) } + protected readonly brandETSWildcardType: undefined } export function isETSWildcardType(node: object | undefined): node is ETSWildcardType { return node instanceof ETSWildcardType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/EmptyStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/EmptyStatement.ts index 8ce782c48db1adaa17a1334ec01ba578082a85d3..04060dd5981f451565cb57a6f3ba5cf268201362 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/EmptyStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/EmptyStatement.ts @@ -47,6 +47,7 @@ export class EmptyStatement extends Statement { get isBrokenStatement(): boolean { return global.generatedEs2panda._EmptyStatementIsBrokenStatement(global.context, this.peer) } + protected readonly brandEmptyStatement: undefined } export function isEmptyStatement(node: object | undefined): node is EmptyStatement { return node instanceof EmptyStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ErrorLogger.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ErrorLogger.ts index 7c23035c96e45b877d3cf4d66d9ba98068b3608c..8d6be8e89b2ed1573d5470883ad317fc9234c3a7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ErrorLogger.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ErrorLogger.ts @@ -32,4 +32,5 @@ export class ErrorLogger extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandErrorLogger: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportAllDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportAllDeclaration.ts index 9aa18b8cddf5a688a30e2066619d403a93010810..c7f735678855e940a7161e28f60c7091dab0273c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportAllDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportAllDeclaration.ts @@ -49,6 +49,7 @@ export class ExportAllDeclaration extends Statement { get exported(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ExportAllDeclarationExportedConst(global.context, this.peer)) } + protected readonly brandExportAllDeclaration: undefined } export function isExportAllDeclaration(node: object | undefined): node is ExportAllDeclaration { return node instanceof ExportAllDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportDefaultDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportDefaultDeclaration.ts index ed8e0e1740494aa92af302c86053daffefdf97eb..ceb2b09463d5d7a7c819cb1b1ea1c555bda81268 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportDefaultDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportDefaultDeclaration.ts @@ -47,6 +47,7 @@ export class ExportDefaultDeclaration extends Statement { get isExportEquals(): boolean { return global.generatedEs2panda._ExportDefaultDeclarationIsExportEqualsConst(global.context, this.peer) } + protected readonly brandExportDefaultDeclaration: undefined } export function isExportDefaultDeclaration(node: object | undefined): node is ExportDefaultDeclaration { return node instanceof ExportDefaultDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportNamedDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportNamedDeclaration.ts index 68216a5861b29253aa9842d357b9d22efb8d4376..b9182dffb012ed3876006a4cc6781bd25296bd43 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportNamedDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportNamedDeclaration.ts @@ -69,6 +69,7 @@ export class ExportNamedDeclaration extends Statement { global.generatedEs2panda._ExportNamedDeclarationReplaceSpecifiers(global.context, this.peer, passNodeArray(specifiers), specifiers.length) return this } + protected readonly brandExportNamedDeclaration: undefined } export function isExportNamedDeclaration(node: object | undefined): node is ExportNamedDeclaration { return node instanceof ExportNamedDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportSpecifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportSpecifier.ts index cea670ea3c95201299d40c7460cb926ddf302248..e177ec9fd9f1b2eb257037756bd67d0281da4315 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportSpecifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExportSpecifier.ts @@ -65,6 +65,7 @@ export class ExportSpecifier extends Statement { get constantExpression(): Expression | undefined { return unpackNode(global.generatedEs2panda._ExportSpecifierGetConstantExpressionConst(global.context, this.peer)) } + protected readonly brandExportSpecifier: undefined } export function isExportSpecifier(node: object | undefined): node is ExportSpecifier { return node instanceof ExportSpecifier diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Expression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Expression.ts index 7363a3fdbc1e6bc6b32d71debf6e89765f53491e..b86c862f41e3afcf3d790231a03dbb4319266b2b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Expression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Expression.ts @@ -68,6 +68,7 @@ export class Expression extends TypedAstNode { get toString(): string { return unpackString(global.generatedEs2panda._ExpressionToStringConst(global.context, this.peer)) } + protected readonly brandExpression: undefined } export function isExpression(node: object | undefined): node is Expression { return node instanceof Expression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExpressionStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExpressionStatement.ts index e714455168c6aac83d74116ccea7e54dab21b7fa..7cc5008f89bbd3eedd611d3a3697070d935f1f11 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExpressionStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ExpressionStatement.ts @@ -50,6 +50,7 @@ export class ExpressionStatement extends Statement { global.generatedEs2panda._ExpressionStatementSetExpression(global.context, this.peer, passNode(expr)) return this } + protected readonly brandExpressionStatement: undefined } export function isExpressionStatement(node: object | undefined): node is ExpressionStatement { return node instanceof ExpressionStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForInStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForInStatement.ts index 1bf064f59317c76307ae12b064b1d55ef24a5479..de7cacfe1fd781f32e70949cc38ed8f62e025b07 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForInStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForInStatement.ts @@ -52,6 +52,7 @@ export class ForInStatement extends LoopStatement { get body(): Statement | undefined { return unpackNode(global.generatedEs2panda._ForInStatementBody(global.context, this.peer)) } + protected readonly brandForInStatement: undefined } export function isForInStatement(node: object | undefined): node is ForInStatement { return node instanceof ForInStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForOfStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForOfStatement.ts index c953185094c922466fab60f8c0c269b384948bd8..7223e6fcd969adc98c0edc1d30426cea4891fc1d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForOfStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForOfStatement.ts @@ -55,6 +55,7 @@ export class ForOfStatement extends LoopStatement { get isAwait(): boolean { return global.generatedEs2panda._ForOfStatementIsAwaitConst(global.context, this.peer) } + protected readonly brandForOfStatement: undefined } export function isForOfStatement(node: object | undefined): node is ForOfStatement { return node instanceof ForOfStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForUpdateStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForUpdateStatement.ts index 566393f464701f6d83bf45d2186c33f0d7ac0c46..28d09f683a65fa9482af3f522920a593a3064a67 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForUpdateStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ForUpdateStatement.ts @@ -52,6 +52,7 @@ export class ForUpdateStatement extends LoopStatement { get body(): Statement | undefined { return unpackNode(global.generatedEs2panda._ForUpdateStatementBody(global.context, this.peer)) } + protected readonly brandForUpdateStatement: undefined } export function isForUpdateStatement(node: object | undefined): node is ForUpdateStatement { return node instanceof ForUpdateStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDecl.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDecl.ts index 5237e94d088ba56086a246a8a7918eafd0f78612..5454ec1f2e9755c1a3577052961667aedb5cda0b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDecl.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDecl.ts @@ -33,6 +33,7 @@ export class FunctionDecl extends ScriptFunction { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandFunctionDecl: undefined } export function isFunctionDecl(node: object | undefined): node is FunctionDecl { return node instanceof FunctionDecl diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDeclaration.ts index 0a297d20e5bcf3b190f9b78913453f91817bdf33..e3b965b8c0fb888fb7b6dcfaa09cc0a0bca9ff00 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionDeclaration.ts @@ -29,6 +29,7 @@ import { } from "../../reexport-for-generated" import { AnnotationUsage } from "./AnnotationUsage" +import { Decorator } from "./Decorator" import { Es2pandaAstNodeType } from "./../Es2pandaEnums" import { ScriptFunction } from "./ScriptFunction" import { Statement } from "./Statement" @@ -52,14 +53,46 @@ export class FunctionDeclaration extends Statement { get isAnonymous(): boolean { return global.generatedEs2panda._FunctionDeclarationIsAnonymousConst(global.context, this.peer) } + get decorators(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._FunctionDeclarationDecoratorsConst(global.context, this.peer)) + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._FunctionDeclarationEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._FunctionDeclarationClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._FunctionDeclarationSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._FunctionDeclarationAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._FunctionDeclarationAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._FunctionDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._FunctionDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._FunctionDeclarationSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._FunctionDeclarationAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandFunctionDeclaration: undefined } export function isFunctionDeclaration(node: object | undefined): node is FunctionDeclaration { return node instanceof FunctionDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionExpression.ts index 62b9e86f67b9e26b727f4dc0609f8d0cc5add73d..70e4ac85fc59f6d1f0e72ed5eaf5c51e2e585a4e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionExpression.ts @@ -55,6 +55,7 @@ export class FunctionExpression extends Expression { get id(): Identifier | undefined { return unpackNode(global.generatedEs2panda._FunctionExpressionId(global.context, this.peer)) } + protected readonly brandFunctionExpression: undefined } export function isFunctionExpression(node: object | undefined): node is FunctionExpression { return node instanceof FunctionExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionSignature.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionSignature.ts index d95836e46faccae0f85652a274aec395d33baa67..543134308cdc90bfffeda0dece269a3f91deb8fd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionSignature.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/FunctionSignature.ts @@ -58,4 +58,5 @@ export class FunctionSignature extends ArktsObject { get hasReceiver(): boolean { return global.generatedEs2panda._FunctionSignatureHasReceiverConst(global.context, this.peer) } + protected readonly brandFunctionSignature: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IRNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IRNode.ts index 42bbda33d02431c8afefcca0b4c2054b8703d09d..34425fa97cd7a80f248246d01f770e1fd9a9de19 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IRNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IRNode.ts @@ -32,4 +32,5 @@ export class IRNode extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandIRNode: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Identifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Identifier.ts index 33053f5709f5924fa415e94e9b50ae9ac8c99634..bd4afa950a7c7ff0e27fcebe7cd51d3e284110c8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Identifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Identifier.ts @@ -58,6 +58,11 @@ export class Identifier extends AnnotatedExpression { global.generatedEs2panda._IdentifierSetName(global.context, this.peer, newName) return this } + /** @deprecated */ + setValueDecorators(source: Decorator | undefined, index: number): this { + global.generatedEs2panda._IdentifierSetValueDecorators(global.context, this.peer, passNode(source), index) + return this + } get decorators(): readonly Decorator[] { return unpackNodeArray(global.generatedEs2panda._IdentifierDecoratorsConst(global.context, this.peer)) } @@ -145,6 +150,7 @@ export class Identifier extends AnnotatedExpression { global.generatedEs2panda._IdentifierSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandIdentifier: undefined } export function isIdentifier(node: object | undefined): node is Identifier { return node instanceof Identifier diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IfStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IfStatement.ts index 5aa7c2869590fb38736593da43255d9a7dbbb24c..d5c6b1dd50f4d06374524073fc11292b416df2ec 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IfStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IfStatement.ts @@ -45,6 +45,11 @@ export class IfStatement extends Statement { get test(): Expression | undefined { return unpackNode(global.generatedEs2panda._IfStatementTest(global.context, this.peer)) } + /** @deprecated */ + setTest(test?: Expression): this { + global.generatedEs2panda._IfStatementSetTest(global.context, this.peer, passNode(test)) + return this + } get consequent(): Statement | undefined { return unpackNode(global.generatedEs2panda._IfStatementConsequent(global.context, this.peer)) } @@ -56,6 +61,7 @@ export class IfStatement extends Statement { global.generatedEs2panda._IfStatementSetAlternate(global.context, this.peer, passNode(alternate)) return this } + protected readonly brandIfStatement: undefined } export function isIfStatement(node: object | undefined): node is IfStatement { return node instanceof IfStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDeclaration.ts index c8a19a90cb960de9edcb874e0465bde81b18c9ff..f709ab393d53840fa2dc3ac8d0ac1224b433cb8f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDeclaration.ts @@ -43,15 +43,34 @@ export class ImportDeclaration extends Statement { static updateImportDeclaration(original: ImportDeclaration | undefined, source: StringLiteral | undefined, specifiers: readonly AstNode[], importKinds: Es2pandaImportKinds): ImportDeclaration { return new ImportDeclaration(global.generatedEs2panda._UpdateImportDeclaration(global.context, passNode(original), passNode(source), passNodeArray(specifiers), specifiers.length, importKinds)) } + /** @deprecated */ + emplaceSpecifiers(source?: AstNode): this { + global.generatedEs2panda._ImportDeclarationEmplaceSpecifiers(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearSpecifiers(): this { + global.generatedEs2panda._ImportDeclarationClearSpecifiers(global.context, this.peer) + return this + } + /** @deprecated */ + setValueSpecifiers(source: AstNode | undefined, index: number): this { + global.generatedEs2panda._ImportDeclarationSetValueSpecifiers(global.context, this.peer, passNode(source), index) + return this + } + get specifiersForUpdate(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._ImportDeclarationSpecifiersForUpdate(global.context, this.peer)) + } get source(): StringLiteral | undefined { return unpackNode(global.generatedEs2panda._ImportDeclarationSource(global.context, this.peer)) } get specifiers(): readonly AstNode[] { - return unpackNodeArray(global.generatedEs2panda._ImportDeclarationSpecifiers(global.context, this.peer)) + return unpackNodeArray(global.generatedEs2panda._ImportDeclarationSpecifiersConst(global.context, this.peer)) } get isTypeKind(): boolean { return global.generatedEs2panda._ImportDeclarationIsTypeKindConst(global.context, this.peer) } + protected readonly brandImportDeclaration: undefined } export function isImportDeclaration(node: object | undefined): node is ImportDeclaration { return node instanceof ImportDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDefaultSpecifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDefaultSpecifier.ts index edffc4852d0913434835e64bddd3d37828db589e..e5bcf00a98a4ad7a13471846aa8cddd103bdd2bc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDefaultSpecifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportDefaultSpecifier.ts @@ -45,6 +45,7 @@ export class ImportDefaultSpecifier extends Statement { get local(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ImportDefaultSpecifierLocal(global.context, this.peer)) } + protected readonly brandImportDefaultSpecifier: undefined } export function isImportDefaultSpecifier(node: object | undefined): node is ImportDefaultSpecifier { return node instanceof ImportDefaultSpecifier diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportExpression.ts index 91ce65e2517cee57b63c6983055d7ac221ab6a8b..f5fa8d26500d005b4c445ab831331a41fd7012b5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportExpression.ts @@ -44,6 +44,7 @@ export class ImportExpression extends Expression { get source(): Expression | undefined { return unpackNode(global.generatedEs2panda._ImportExpressionSource(global.context, this.peer)) } + protected readonly brandImportExpression: undefined } export function isImportExpression(node: object | undefined): node is ImportExpression { return node instanceof ImportExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportNamespaceSpecifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportNamespaceSpecifier.ts index a1691b6ad66be39bb9a1afd32a843b83d5347495..1bea78fa738dd006bd184e9ed66987f0edc6ce44 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportNamespaceSpecifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportNamespaceSpecifier.ts @@ -45,6 +45,7 @@ export class ImportNamespaceSpecifier extends Statement { get local(): Identifier | undefined { return unpackNode(global.generatedEs2panda._ImportNamespaceSpecifierLocal(global.context, this.peer)) } + protected readonly brandImportNamespaceSpecifier: undefined } export function isImportNamespaceSpecifier(node: object | undefined): node is ImportNamespaceSpecifier { return node instanceof ImportNamespaceSpecifier diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSource.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSource.ts index daa8ad1f79676095d81812c69a3213e6a5d8e0be..d966f67990960e9f9aa5e63d88c783169bdf3ece 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSource.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSource.ts @@ -32,4 +32,5 @@ export class ImportSource extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandImportSource: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSpecifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSpecifier.ts index 86c97288d07e44bf483fbd1fd77a8b4c0aba320f..a5844e2147ad6e04034283fc5fc815254149f737 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSpecifier.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ImportSpecifier.ts @@ -56,6 +56,7 @@ export class ImportSpecifier extends Statement { global.generatedEs2panda._ImportSpecifierSetRemovable(global.context, this.peer, isRemovable) return this } + protected readonly brandImportSpecifier: undefined } export function isImportSpecifier(node: object | undefined): node is ImportSpecifier { return node instanceof ImportSpecifier diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IndexInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IndexInfo.ts index 15684de6e219e37b466f771d54826755f2daee01..ce286f790b6b46b3c8889e07a7b797534b656be4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IndexInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/IndexInfo.ts @@ -32,4 +32,5 @@ export class IndexInfo extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandIndexInfo: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/InterfaceDecl.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/InterfaceDecl.ts index f696de2dec7e15e3b1da0e782f9ba2eabaee1a76..7a3e0c77e416856aa0b5067946ddfbb72c76f1d6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/InterfaceDecl.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/InterfaceDecl.ts @@ -33,6 +33,7 @@ export class InterfaceDecl extends TSInterfaceDeclaration { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandInterfaceDecl: undefined } export function isInterfaceDecl(node: object | undefined): node is InterfaceDecl { return node instanceof InterfaceDecl diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelPair.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelPair.ts index 6474aa7408e6932552009173bc0b7fa1c250b867..ef64166f2f32257dcf291d503adea90481e7baa6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelPair.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelPair.ts @@ -32,4 +32,5 @@ export class LabelPair extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandLabelPair: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelledStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelledStatement.ts index 54a432e69273aad7447a47d5db9a85af07196c1c..a37a7acdd810d7dadbbe16fcc3a21e915b2fc671 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelledStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LabelledStatement.ts @@ -51,6 +51,7 @@ export class LabelledStatement extends Statement { get referencedStatement(): AstNode | undefined { return unpackNode(global.generatedEs2panda._LabelledStatementGetReferencedStatementConst(global.context, this.peer)) } + protected readonly brandLabelledStatement: undefined } export function isLabelledStatement(node: object | undefined): node is LabelledStatement { return node instanceof LabelledStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Literal.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Literal.ts index 3d8506a6f0f10fc7413e259534b61c2d3d3263af..fc110007e67f8f97eb86804367019de93503767a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Literal.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Literal.ts @@ -33,6 +33,15 @@ export class Literal extends Expression { constructor(pointer: KNativePointer) { super(pointer) } + get isFolded(): boolean { + return global.generatedEs2panda._LiteralIsFoldedConst(global.context, this.peer) + } + /** @deprecated */ + setFolded(folded: boolean): this { + global.generatedEs2panda._LiteralSetFolded(global.context, this.peer, folded) + return this + } + protected readonly brandLiteral: undefined } export function isLiteral(node: object | undefined): node is Literal { return node instanceof Literal diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LoopStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LoopStatement.ts index 35166569f1f57c1244887b8c7a6241a00ea8aee7..5fcf18049d56f823a039f94ef107fdab1994c009 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LoopStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/LoopStatement.ts @@ -33,6 +33,7 @@ export class LoopStatement extends Statement { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandLoopStatement: undefined } export function isLoopStatement(node: object | undefined): node is LoopStatement { return node instanceof LoopStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MaybeOptionalExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MaybeOptionalExpression.ts index 4d7e19055d6d242b5be7bf4134825ba10a465f26..34a5014238e30da0eac63ed585934740f3450cd8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MaybeOptionalExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MaybeOptionalExpression.ts @@ -41,6 +41,7 @@ export class MaybeOptionalExpression extends Expression { global.generatedEs2panda._MaybeOptionalExpressionClearOptional(global.context, this.peer) return this } + protected readonly brandMaybeOptionalExpression: undefined } export function isMaybeOptionalExpression(node: object | undefined): node is MaybeOptionalExpression { return node instanceof MaybeOptionalExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MemberExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MemberExpression.ts index 623ceffc222b7c03d077e3544ff84d676ba36064..6bfb7f4dd5b38b781568beda35ac7b18457e367f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MemberExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MemberExpression.ts @@ -102,6 +102,7 @@ export class MemberExpression extends MaybeOptionalExpression { global.generatedEs2panda._MemberExpressionCompileToRegsConst(global.context, this.peer, passNode(pg), passNode(object_arg), passNode(property)) return this } + protected readonly brandMemberExpression: undefined } export function isMemberExpression(node: object | undefined): node is MemberExpression { return node instanceof MemberExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MetaProperty.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MetaProperty.ts index 506287739f43d9f73da0ddfb4dabe4175a0a5559..27af52bb53230b1484bf9a56655b37877cf2ead7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MetaProperty.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MetaProperty.ts @@ -45,6 +45,7 @@ export class MetaProperty extends Expression { get kind(): Es2pandaMetaPropertyKind { return global.generatedEs2panda._MetaPropertyKindConst(global.context, this.peer) } + protected readonly brandMetaProperty: undefined } export function isMetaProperty(node: object | undefined): node is MetaProperty { return node instanceof MetaProperty diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts index e2c283f34867307eeb78ae037ad855c812a62818..dfa6292635fb5825157530654ed5ec9c94308c62 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/MethodDefinition.ts @@ -86,11 +86,6 @@ export class MethodDefinition extends ClassElement { return this } /** @deprecated */ - clearOverloads(): this { - global.generatedEs2panda._MethodDefinitionClearOverloads(global.context, this.peer) - return this - } - /** @deprecated */ addOverload(overload?: MethodDefinition): this { global.generatedEs2panda._MethodDefinitionAddOverload(global.context, this.peer, passNode(overload)) return this @@ -101,8 +96,8 @@ export class MethodDefinition extends ClassElement { return this } /** @deprecated */ - setAsyncPairMethod(method?: MethodDefinition): this { - global.generatedEs2panda._MethodDefinitionSetAsyncPairMethod(global.context, this.peer, passNode(method)) + setAsyncPairMethod(asyncPairMethod?: MethodDefinition): this { + global.generatedEs2panda._MethodDefinitionSetAsyncPairMethod(global.context, this.peer, passNode(asyncPairMethod)) return this } get function(): ScriptFunction | undefined { @@ -113,6 +108,22 @@ export class MethodDefinition extends ClassElement { global.generatedEs2panda._MethodDefinitionInitializeOverloadInfo(global.context, this.peer) return this } + /** @deprecated */ + emplaceOverloads(overloads?: MethodDefinition): this { + global.generatedEs2panda._MethodDefinitionEmplaceOverloads(global.context, this.peer, passNode(overloads)) + return this + } + /** @deprecated */ + clearOverloads(): this { + global.generatedEs2panda._MethodDefinitionClearOverloads(global.context, this.peer) + return this + } + /** @deprecated */ + setValueOverloads(overloads: MethodDefinition | undefined, index: number): this { + global.generatedEs2panda._MethodDefinitionSetValueOverloads(global.context, this.peer, passNode(overloads), index) + return this + } + protected readonly brandMethodDefinition: undefined } export function isMethodDefinition(node: object | undefined): node is MethodDefinition { return node instanceof MethodDefinition diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NamedType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NamedType.ts index 2f962c1867f0cf1a743c5886deb78570bf8dbe72..45c8bd9e759bf9f89facd780d0f5f00943bc9d73 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NamedType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NamedType.ts @@ -67,6 +67,7 @@ export class NamedType extends TypeNode { global.generatedEs2panda._NamedTypeSetTypeParams(global.context, this.peer, passNode(typeParams)) return this } + protected readonly brandNamedType: undefined } export function isNamedType(node: object | undefined): node is NamedType { return node instanceof NamedType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NewExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NewExpression.ts index 0eab3ae18ef12d24e183d34630fdaa28704ea99b..54023c5d08f80d34203e9d7851f727f21a6440fc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NewExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NewExpression.ts @@ -47,6 +47,7 @@ export class NewExpression extends Expression { get arguments(): readonly Expression[] { return unpackNodeArray(global.generatedEs2panda._NewExpressionArgumentsConst(global.context, this.peer)) } + protected readonly brandNewExpression: undefined } export function isNewExpression(node: object | undefined): node is NewExpression { return node instanceof NewExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NullLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NullLiteral.ts index 4d82ae3a881880cbdb5552fe5d75c3e34c8dc45a..b2712bcdaeb09bafea53634499629c3e3fdf3158 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NullLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NullLiteral.ts @@ -41,6 +41,7 @@ export class NullLiteral extends Literal { static updateNullLiteral(original?: NullLiteral): NullLiteral { return new NullLiteral(global.generatedEs2panda._UpdateNullLiteral(global.context, passNode(original))) } + protected readonly brandNullLiteral: undefined } export function isNullLiteral(node: object | undefined): node is NullLiteral { return node instanceof NullLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NumberLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NumberLiteral.ts index 1aee0713a91aabf1fd2e22b0eae46ad9f517396a..d23e5dcc11c9c3fda12d77171db15356f981de94 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NumberLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/NumberLiteral.ts @@ -53,6 +53,7 @@ export class NumberLiteral extends Literal { get str(): string { return unpackString(global.generatedEs2panda._NumberLiteralStrConst(global.context, this.peer)) } + protected readonly brandNumberLiteral: undefined } export function isNumberLiteral(node: object | undefined): node is NumberLiteral { return node instanceof NumberLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectDescriptor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectDescriptor.ts index 5faf02ea712bb72cee81e58b8f479f7c36373337..11dbb32b455ecbb925bc124c04edc2908059f899 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectDescriptor.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectDescriptor.ts @@ -32,4 +32,5 @@ export class ObjectDescriptor extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandObjectDescriptor: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectExpression.ts index 654633ab12d8158b6ec07d6dbdc2e09dad9c9693..34ad6ee4b8ee6f1e141d53586461c2f93c47ca97 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ObjectExpression.ts @@ -81,6 +81,7 @@ export class ObjectExpression extends AnnotatedExpression { global.generatedEs2panda._ObjectExpressionSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandObjectExpression: undefined } export function isObjectExpression(node: object | undefined): node is ObjectExpression { return node instanceof ObjectExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OmittedExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OmittedExpression.ts index 7f351caf5ac85feee4d1f4a21397c4a8f30423f3..d89ec51807092854fedadfa1efdfc66e22ca0d4d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OmittedExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OmittedExpression.ts @@ -41,6 +41,7 @@ export class OmittedExpression extends Expression { static updateOmittedExpression(original?: OmittedExpression): OmittedExpression { return new OmittedExpression(global.generatedEs2panda._UpdateOmittedExpression(global.context, passNode(original))) } + protected readonly brandOmittedExpression: undefined } export function isOmittedExpression(node: object | undefined): node is OmittedExpression { return node instanceof OmittedExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OpaqueTypeNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OpaqueTypeNode.ts index 5461a48bd2365a12793fdb56931ef2e15c220b60..506f89bebdd5ca12ff672b759ea4d6bd28b5c43b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OpaqueTypeNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OpaqueTypeNode.ts @@ -41,6 +41,7 @@ export class OpaqueTypeNode extends TypeNode { static update1OpaqueTypeNode(original?: OpaqueTypeNode): OpaqueTypeNode { return new OpaqueTypeNode(global.generatedEs2panda._UpdateOpaqueTypeNode1(global.context, passNode(original))) } + protected readonly brandOpaqueTypeNode: undefined } export function isOpaqueTypeNode(node: object | undefined): node is OpaqueTypeNode { return node instanceof OpaqueTypeNode diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/PrefixAssertionExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/PrefixAssertionExpression.ts index d89b78c00daf35f8a12383f3b4480964f2460327..8f20e3895d27804cf0bd35f4d514eb048edb9368 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/PrefixAssertionExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/PrefixAssertionExpression.ts @@ -48,6 +48,7 @@ export class PrefixAssertionExpression extends Expression { get type(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._PrefixAssertionExpressionTypeConst(global.context, this.peer)) } + protected readonly brandPrefixAssertionExpression: undefined } export function isPrefixAssertionExpression(node: object | undefined): node is PrefixAssertionExpression { return node instanceof PrefixAssertionExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Program.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Program.ts new file mode 100644 index 0000000000000000000000000000000000000000..dcce80de95c3cfb3a4cd0452030522da5ec1f29b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Program.ts @@ -0,0 +1,186 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + global, + passNode, + passNodeArray, + unpackNonNullableNode, + unpackNode, + unpackNodeArray, + assertValidPeer, + AstNode, + KNativePointer, + nodeByType, + ArktsObject, + unpackString +} from "../../reexport-for-generated" + +import { BlockStatement } from "./BlockStatement" +import { ClassDefinition } from "./ClassDefinition" +import { Es2pandaModuleKind } from "./../Es2pandaEnums" +import { Es2pandaProgramFlags } from "./../Es2pandaEnums" +import { Es2pandaScriptKind } from "./../Es2pandaEnums" +import { SourcePosition } from "./SourcePosition" +export class Program extends ArktsObject { + constructor(pointer: KNativePointer) { + super(pointer) + } + /** @deprecated */ + setKind(kind: Es2pandaScriptKind): this { + global.generatedEs2panda._ProgramSetKind(global.context, this.peer, kind) + return this + } + /** @deprecated */ + pushVarBinder(): this { + global.generatedEs2panda._ProgramPushVarBinder(global.context, this.peer) + return this + } + /** @deprecated */ + pushChecker(): this { + global.generatedEs2panda._ProgramPushChecker(global.context, this.peer) + return this + } + get kind(): Es2pandaScriptKind { + return global.generatedEs2panda._ProgramKindConst(global.context, this.peer) + } + get sourceCode(): string { + return unpackString(global.generatedEs2panda._ProgramSourceCodeConst(global.context, this.peer)) + } + get sourceFilePath(): string { + return unpackString(global.generatedEs2panda._ProgramSourceFilePathConst(global.context, this.peer)) + } + get sourceFileFolder(): string { + return unpackString(global.generatedEs2panda._ProgramSourceFileFolderConst(global.context, this.peer)) + } + get fileName(): string { + return unpackString(global.generatedEs2panda._ProgramFileNameConst(global.context, this.peer)) + } + get fileNameWithExtension(): string { + return unpackString(global.generatedEs2panda._ProgramFileNameWithExtensionConst(global.context, this.peer)) + } + get absoluteName(): string { + return unpackString(global.generatedEs2panda._ProgramAbsoluteNameConst(global.context, this.peer)) + } + get resolvedFilePath(): string { + return unpackString(global.generatedEs2panda._ProgramResolvedFilePathConst(global.context, this.peer)) + } + get relativeFilePath(): string { + return unpackString(global.generatedEs2panda._ProgramRelativeFilePathConst(global.context, this.peer)) + } + /** @deprecated */ + setRelativeFilePath(relPath: string): this { + global.generatedEs2panda._ProgramSetRelativeFilePath(global.context, this.peer, relPath) + return this + } + get ast(): BlockStatement { + return unpackNonNullableNode(global.generatedEs2panda._ProgramAst(global.context, this.peer)) + } + /** @deprecated */ + setAst(ast?: BlockStatement): this { + global.generatedEs2panda._ProgramSetAst(global.context, this.peer, passNode(ast)) + return this + } + get globalClass(): ClassDefinition | undefined { + return unpackNode(global.generatedEs2panda._ProgramGlobalClass(global.context, this.peer)) + } + /** @deprecated */ + setGlobalClass(globalClass?: ClassDefinition): this { + global.generatedEs2panda._ProgramSetGlobalClass(global.context, this.peer, passNode(globalClass)) + return this + } + get packageStart(): SourcePosition | undefined { + return new SourcePosition(global.generatedEs2panda._ProgramPackageStartConst(global.context, this.peer)) + } + /** @deprecated */ + setPackageStart(start?: SourcePosition): this { + global.generatedEs2panda._ProgramSetPackageStart(global.context, this.peer, passNode(start)) + return this + } + /** @deprecated */ + setSource(sourceCode: string, sourceFilePath: string, sourceFileFolder: string): this { + global.generatedEs2panda._ProgramSetSource(global.context, this.peer, sourceCode, sourceFilePath, sourceFileFolder) + return this + } + /** @deprecated */ + setPackageInfo(name: string, kind: Es2pandaModuleKind): this { + global.generatedEs2panda._ProgramSetPackageInfo(global.context, this.peer, name, kind) + return this + } + get moduleName(): string { + return unpackString(global.generatedEs2panda._ProgramModuleNameConst(global.context, this.peer)) + } + get modulePrefix(): string { + return unpackString(global.generatedEs2panda._ProgramModulePrefixConst(global.context, this.peer)) + } + get isSeparateModule(): boolean { + return global.generatedEs2panda._ProgramIsSeparateModuleConst(global.context, this.peer) + } + get isDeclarationModule(): boolean { + return global.generatedEs2panda._ProgramIsDeclarationModuleConst(global.context, this.peer) + } + get isPackage(): boolean { + return global.generatedEs2panda._ProgramIsPackageConst(global.context, this.peer) + } + /** @deprecated */ + setFlag(flag: Es2pandaProgramFlags): this { + global.generatedEs2panda._ProgramSetFlag(global.context, this.peer, flag) + return this + } + /** @deprecated */ + setASTChecked(): this { + global.generatedEs2panda._ProgramSetASTChecked(global.context, this.peer) + return this + } + get isASTChecked(): boolean { + return global.generatedEs2panda._ProgramIsASTChecked(global.context, this.peer) + } + /** @deprecated */ + markASTAsLowered(): this { + global.generatedEs2panda._ProgramMarkASTAsLowered(global.context, this.peer) + return this + } + get isASTLowered(): boolean { + return global.generatedEs2panda._ProgramIsASTLoweredConst(global.context, this.peer) + } + get isStdLib(): boolean { + return global.generatedEs2panda._ProgramIsStdLibConst(global.context, this.peer) + } + get dump(): string { + return unpackString(global.generatedEs2panda._ProgramDumpConst(global.context, this.peer)) + } + /** @deprecated */ + dumpSilent(): this { + global.generatedEs2panda._ProgramDumpSilentConst(global.context, this.peer) + return this + } + /** @deprecated */ + addDeclGenExportNode(declGenExportStr: string, node?: AstNode): this { + global.generatedEs2panda._ProgramAddDeclGenExportNode(global.context, this.peer, declGenExportStr, passNode(node)) + return this + } + get isDied(): boolean { + return global.generatedEs2panda._ProgramIsDiedConst(global.context, this.peer) + } + /** @deprecated */ + addFileDependencies(file: string, depFile: string): this { + global.generatedEs2panda._ProgramAddFileDependencies(global.context, this.peer, file, depFile) + return this + } + protected readonly brandProgram: undefined +} +export function isProgram(node: object | undefined): node is Program { + return node instanceof Program +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Property.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Property.ts index 81a8924f14006a115ebbe0654df44cc859ffb493..bd039fa9e4557fa37ceed198229673dc29db9683 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Property.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Property.ts @@ -73,6 +73,7 @@ export class Property extends Expression { get validateExpression(): ValidationInfo | undefined { return new ValidationInfo(global.generatedEs2panda._PropertyValidateExpression(global.context, this.peer)) } + protected readonly brandProperty: undefined } export function isProperty(node: object | undefined): node is Property { return node instanceof Property diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/RegExpLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/RegExpLiteral.ts index f475bc0ccd466d385194ed2631905210bec12f7d..817683cfb91754bb5e4b7a7779188400ab5a1bd8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/RegExpLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/RegExpLiteral.ts @@ -48,6 +48,7 @@ export class RegExpLiteral extends Literal { get flags(): Es2pandaRegExpFlags { return global.generatedEs2panda._RegExpLiteralFlagsConst(global.context, this.peer) } + protected readonly brandRegExpLiteral: undefined } export function isRegExpLiteral(node: object | undefined): node is RegExpLiteral { return node instanceof RegExpLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ReturnStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ReturnStatement.ts index f840ab6590c8d559b995bcfc4f14e361f5c8512d..5db0bfb20ba41f47401123d21e60b1761b8d1ef4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ReturnStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ReturnStatement.ts @@ -56,6 +56,7 @@ export class ReturnStatement extends Statement { get isAsyncImplReturn(): boolean { return global.generatedEs2panda._ReturnStatementIsAsyncImplReturnConst(global.context, this.peer) } + protected readonly brandReturnStatement: undefined } export function isReturnStatement(node: object | undefined): node is ReturnStatement { return node instanceof ReturnStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScopeFindResult.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScopeFindResult.ts index 68156bac293e443f84defeccb37bd2da54e0950a..18aa22b8b4c7656c99ea39b3e47249a2cd4ea8cc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScopeFindResult.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScopeFindResult.ts @@ -32,4 +32,5 @@ export class ScopeFindResult extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandScopeFindResult: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunction.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunction.ts index f26ae1781fbe4d9d1cbc409e93477a431b6af529..6ca88b1836545636a90e9921611b130894a5ca8f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunction.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunction.ts @@ -30,7 +30,6 @@ import { import { AnnotationUsage } from "./AnnotationUsage" import { Es2pandaAstNodeType } from "./../Es2pandaEnums" -import { Es2pandaModifierFlags } from "./../Es2pandaEnums" import { Es2pandaScriptFunctionFlags } from "./../Es2pandaEnums" import { Expression } from "./Expression" import { FunctionSignature } from "./FunctionSignature" @@ -58,6 +57,9 @@ export class ScriptFunction extends AstNode { get returnStatements(): readonly ReturnStatement[] { return unpackNodeArray(global.generatedEs2panda._ScriptFunctionReturnStatements(global.context, this.peer)) } + get returnStatementsForUpdate(): readonly ReturnStatement[] { + return unpackNodeArray(global.generatedEs2panda._ScriptFunctionReturnStatementsForUpdate(global.context, this.peer)) + } get typeParams(): TSTypeParameterDeclaration | undefined { return unpackNode(global.generatedEs2panda._ScriptFunctionTypeParams(global.context, this.peer)) } @@ -154,6 +156,9 @@ export class ScriptFunction extends AstNode { get isRethrowing(): boolean { return global.generatedEs2panda._ScriptFunctionIsRethrowingConst(global.context, this.peer) } + get isTrailingLambda(): boolean { + return global.generatedEs2panda._ScriptFunctionIsTrailingLambdaConst(global.context, this.peer) + } get isDynamic(): boolean { return global.generatedEs2panda._ScriptFunctionIsDynamicConst(global.context, this.peer) } @@ -181,30 +186,79 @@ export class ScriptFunction extends AstNode { global.generatedEs2panda._ScriptFunctionClearFlag(global.context, this.peer, flags) return this } + get formalParamsLength(): number { + return global.generatedEs2panda._ScriptFunctionFormalParamsLengthConst(global.context, this.peer) + } /** @deprecated */ - addModifier(flags: Es2pandaModifierFlags): this { - global.generatedEs2panda._ScriptFunctionAddModifier(global.context, this.peer, flags) + emplaceReturnStatements(returnStatements?: ReturnStatement): this { + global.generatedEs2panda._ScriptFunctionEmplaceReturnStatements(global.context, this.peer, passNode(returnStatements)) return this } - get formalParamsLength(): number { - return global.generatedEs2panda._ScriptFunctionFormalParamsLengthConst(global.context, this.peer) + /** @deprecated */ + clearReturnStatements(): this { + global.generatedEs2panda._ScriptFunctionClearReturnStatements(global.context, this.peer) + return this + } + /** @deprecated */ + setValueReturnStatements(returnStatements: ReturnStatement | undefined, index: number): this { + global.generatedEs2panda._ScriptFunctionSetValueReturnStatements(global.context, this.peer, passNode(returnStatements), index) + return this + } + /** @deprecated */ + emplaceParams(params?: Expression): this { + global.generatedEs2panda._ScriptFunctionEmplaceParams(global.context, this.peer, passNode(params)) + return this + } + /** @deprecated */ + clearParams(): this { + global.generatedEs2panda._ScriptFunctionClearParams(global.context, this.peer) + return this } /** @deprecated */ - setIsolatedDeclgenReturnType(type: string): this { - global.generatedEs2panda._ScriptFunctionSetIsolatedDeclgenReturnType(global.context, this.peer, type) + setValueParams(params: Expression | undefined, index: number): this { + global.generatedEs2panda._ScriptFunctionSetValueParams(global.context, this.peer, passNode(params), index) return this } - get isolatedDeclgenReturnType(): string { - return unpackString(global.generatedEs2panda._ScriptFunctionGetIsolatedDeclgenReturnTypeConst(global.context, this.peer)) + get paramsForUpdate(): readonly Expression[] { + return unpackNodeArray(global.generatedEs2panda._ScriptFunctionParamsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._ScriptFunctionEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._ScriptFunctionClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._ScriptFunctionSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ScriptFunctionAnnotationsForUpdate(global.context, this.peer)) } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._ScriptFunctionAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._ScriptFunctionSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ScriptFunctionSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._ScriptFunctionSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._ScriptFunctionAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandScriptFunction: undefined } export function isScriptFunction(node: object | undefined): node is ScriptFunction { return node instanceof ScriptFunction diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunctionData.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunctionData.ts index dc25dca16ac2ec3fa7371841eea08e34f7c38fd7..af09d7822b7bcd354b8a906061d00342b1ea934b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunctionData.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ScriptFunctionData.ts @@ -32,4 +32,5 @@ export class ScriptFunctionData extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandScriptFunctionData: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SequenceExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SequenceExpression.ts index 7c74085e54760ecc40dbd8aa1f601d944cc8ba82..bab18f53c6fdb312b464f60c623d57580d0eacfc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SequenceExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SequenceExpression.ts @@ -44,6 +44,7 @@ export class SequenceExpression extends Expression { get sequence(): readonly Expression[] { return unpackNodeArray(global.generatedEs2panda._SequenceExpressionSequence(global.context, this.peer)) } + protected readonly brandSequenceExpression: undefined } export function isSequenceExpression(node: object | undefined): node is SequenceExpression { return node instanceof SequenceExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SignatureInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SignatureInfo.ts index 605f112a1def12d10b83d00832e076d0b5cd71fe..e6b77fcc2b1b4566292d7b62eeb9a0b3723d5434 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SignatureInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SignatureInfo.ts @@ -32,4 +32,5 @@ export class SignatureInfo extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandSignatureInfo: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourcePosition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourcePosition.ts index 69c033d8234426bd3941bf2bf251b88a1020d741..78f447b2ab425c9b546e7534d1ebcedc7df1467b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourcePosition.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourcePosition.ts @@ -32,4 +32,5 @@ export class SourcePosition extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandSourcePosition: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourceRange.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourceRange.ts index b790105c7f3eaefaa685c7d1bf233b48af30614e..858743c4ee08df4e87ed377388a6a53ac8f279fc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourceRange.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SourceRange.ts @@ -32,4 +32,5 @@ export class SourceRange extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandSourceRange: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SpreadElement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SpreadElement.ts index 0e557f5d22fae4eb87c3e27764734995c50127fe..b5b3da9e8a35aa04b5876adffebc0b6816383c55 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SpreadElement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SpreadElement.ts @@ -70,6 +70,7 @@ export class SpreadElement extends AnnotatedExpression { global.generatedEs2panda._SpreadElementSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandSpreadElement: undefined } export function isSpreadElement(node: object | undefined): node is SpreadElement { return node instanceof SpreadElement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SrcDumper.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SrcDumper.ts index 34e913dffcba7699171207b7fa13e0eab8cdda65..ff56dbb4973f719fda5bf5b89c097493d9711844 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SrcDumper.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SrcDumper.ts @@ -32,8 +32,8 @@ export class SrcDumper extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } - static create1SrcDumper(node: AstNode | undefined, isDeclgen: boolean, isIsolatedDeclgen: boolean): SrcDumper { - return new SrcDumper(global.generatedEs2panda._CreateSrcDumper1(global.context, passNode(node), isDeclgen, isIsolatedDeclgen)) + static create1SrcDumper(node: AstNode | undefined, isDeclgen: boolean): SrcDumper { + return new SrcDumper(global.generatedEs2panda._CreateSrcDumper1(global.context, passNode(node), isDeclgen)) } /** @deprecated */ add(str: string): this { @@ -46,18 +46,28 @@ export class SrcDumper extends ArktsObject { return this } /** @deprecated */ - add2(l: number): this { - global.generatedEs2panda._SrcDumperAdd2(global.context, this.peer, l) + add2(i: number): this { + global.generatedEs2panda._SrcDumperAdd2(global.context, this.peer, i) return this } /** @deprecated */ - add3(f: number): this { - global.generatedEs2panda._SrcDumperAdd3(global.context, this.peer, f) + add3(i: number): this { + global.generatedEs2panda._SrcDumperAdd3(global.context, this.peer, i) return this } /** @deprecated */ - add4(d: number): this { - global.generatedEs2panda._SrcDumperAdd4(global.context, this.peer, d) + add4(l: number): this { + global.generatedEs2panda._SrcDumperAdd4(global.context, this.peer, l) + return this + } + /** @deprecated */ + add5(f: number): this { + global.generatedEs2panda._SrcDumperAdd5(global.context, this.peer, f) + return this + } + /** @deprecated */ + add6(d: number): this { + global.generatedEs2panda._SrcDumperAdd6(global.context, this.peer, d) return this } get str(): string { @@ -81,9 +91,6 @@ export class SrcDumper extends ArktsObject { get isDeclgen(): boolean { return global.generatedEs2panda._SrcDumperIsDeclgenConst(global.context, this.peer) } - get isIsolatedDeclgen(): boolean { - return global.generatedEs2panda._SrcDumperIsIsolatedDeclgenConst(global.context, this.peer) - } /** @deprecated */ dumpNode(key: string): this { global.generatedEs2panda._SrcDumperDumpNode(global.context, this.peer, key) @@ -102,4 +109,5 @@ export class SrcDumper extends ArktsObject { global.generatedEs2panda._SrcDumperRun(global.context, this.peer) return this } + protected readonly brandSrcDumper: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Statement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Statement.ts index c67960d87dc803d086b2aafbd85ef1433a951c9a..f33a5ca1cb2f4f1d11c7b259661b95b0fedd40b7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Statement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/Statement.ts @@ -32,6 +32,7 @@ export class Statement extends AstNode { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandStatement: undefined } export function isStatement(node: object | undefined): node is Statement { return node instanceof Statement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/StringLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/StringLiteral.ts index 3e1833a86e58cc72e5e8afac30868bf23f98a503..681ab2ee2bac700f15830455d6d0d0f70b261aa6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/StringLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/StringLiteral.ts @@ -47,6 +47,7 @@ export class StringLiteral extends Literal { get str(): string { return unpackString(global.generatedEs2panda._StringLiteralStrConst(global.context, this.peer)) } + protected readonly brandStringLiteral: undefined } export function isStringLiteral(node: object | undefined): node is StringLiteral { return node instanceof StringLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuggestionInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuggestionInfo.ts index 855d52b1ba0f882b9cf86d9f83baa2f91bbac989..503c5ece03e405dd35317f5cc53401aee50b6f2c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuggestionInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuggestionInfo.ts @@ -32,4 +32,5 @@ export class SuggestionInfo extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandSuggestionInfo: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuperExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuperExpression.ts index a6af6b8d557e80f1cd10f682f45af19f0502f9d5..5a14103aa579c760957fa72d16dc3542e3d8e6c2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuperExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SuperExpression.ts @@ -41,6 +41,7 @@ export class SuperExpression extends Expression { static updateSuperExpression(original?: SuperExpression): SuperExpression { return new SuperExpression(global.generatedEs2panda._UpdateSuperExpression(global.context, passNode(original))) } + protected readonly brandSuperExpression: undefined } export function isSuperExpression(node: object | undefined): node is SuperExpression { return node instanceof SuperExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchCaseStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchCaseStatement.ts index ff8ab9268ff959a2b1b63981682cc6503229ee74..977e504d96ffc28dcee656284acf269e21f143c1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchCaseStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchCaseStatement.ts @@ -53,6 +53,7 @@ export class SwitchCaseStatement extends Statement { get consequent(): readonly Statement[] { return unpackNodeArray(global.generatedEs2panda._SwitchCaseStatementConsequentConst(global.context, this.peer)) } + protected readonly brandSwitchCaseStatement: undefined } export function isSwitchCaseStatement(node: object | undefined): node is SwitchCaseStatement { return node instanceof SwitchCaseStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchStatement.ts index 362c156be2bceedc63017ba49a9eaf510718d857..38f38e54e593337b6399e7a85440ed65a502fa3a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/SwitchStatement.ts @@ -54,6 +54,7 @@ export class SwitchStatement extends Statement { get cases(): readonly SwitchCaseStatement[] { return unpackNodeArray(global.generatedEs2panda._SwitchStatementCases(global.context, this.peer)) } + protected readonly brandSwitchStatement: undefined } export function isSwitchStatement(node: object | undefined): node is SwitchStatement { return node instanceof SwitchStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAnyKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAnyKeyword.ts index 1b031c62f3c98177c908d2ea1ff8dfc52d04c03e..c6d25a7b1bf6458e155dba4a79d4a23cf00ef71f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAnyKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAnyKeyword.ts @@ -41,6 +41,7 @@ export class TSAnyKeyword extends TypeNode { static updateTSAnyKeyword(original?: TSAnyKeyword): TSAnyKeyword { return new TSAnyKeyword(global.generatedEs2panda._UpdateTSAnyKeyword(global.context, passNode(original))) } + protected readonly brandTSAnyKeyword: undefined } export function isTSAnyKeyword(node: object | undefined): node is TSAnyKeyword { return node instanceof TSAnyKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSArrayType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSArrayType.ts index b3213f6ac66ba778344373ead8c10fb88bc58a6a..a3b36dda640b556c38097a06eb2354c2374439fd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSArrayType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSArrayType.ts @@ -44,6 +44,7 @@ export class TSArrayType extends TypeNode { get elementType(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._TSArrayTypeElementTypeConst(global.context, this.peer)) } + protected readonly brandTSArrayType: undefined } export function isTSArrayType(node: object | undefined): node is TSArrayType { return node instanceof TSArrayType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAsExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAsExpression.ts index b54c30370dcfccf2b479d87bb0f167521a5df35f..e609be679618694c4df0e27dcfaa9ea55b7719fb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAsExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSAsExpression.ts @@ -67,6 +67,7 @@ export class TSAsExpression extends AnnotatedExpression { global.generatedEs2panda._TSAsExpressionSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandTSAsExpression: undefined } export function isTSAsExpression(node: object | undefined): node is TSAsExpression { return node instanceof TSAsExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBigintKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBigintKeyword.ts index 97da3eed34b65a4b4f38e38d4d10de04669932d2..a8675f3680215c73d433dd5140e3d1b092be8177 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBigintKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBigintKeyword.ts @@ -41,6 +41,7 @@ export class TSBigintKeyword extends TypeNode { static updateTSBigintKeyword(original?: TSBigintKeyword): TSBigintKeyword { return new TSBigintKeyword(global.generatedEs2panda._UpdateTSBigintKeyword(global.context, passNode(original))) } + protected readonly brandTSBigintKeyword: undefined } export function isTSBigintKeyword(node: object | undefined): node is TSBigintKeyword { return node instanceof TSBigintKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBooleanKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBooleanKeyword.ts index 4dd24c7c6f2ec505a61148358131a1148278a622..b93d48d32b52e819327fb6f0bfc3bdfbb3203b9c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBooleanKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSBooleanKeyword.ts @@ -41,6 +41,7 @@ export class TSBooleanKeyword extends TypeNode { static updateTSBooleanKeyword(original?: TSBooleanKeyword): TSBooleanKeyword { return new TSBooleanKeyword(global.generatedEs2panda._UpdateTSBooleanKeyword(global.context, passNode(original))) } + protected readonly brandTSBooleanKeyword: undefined } export function isTSBooleanKeyword(node: object | undefined): node is TSBooleanKeyword { return node instanceof TSBooleanKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSClassImplements.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSClassImplements.ts index 7c667dda0787e53d009159e6d4f39b811c5d308e..0f817245fadbee96498600b94802a2a15ea72806 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSClassImplements.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSClassImplements.ts @@ -51,6 +51,7 @@ export class TSClassImplements extends Expression { get typeParameters(): TSTypeParameterInstantiation | undefined { return unpackNode(global.generatedEs2panda._TSClassImplementsTypeParametersConst(global.context, this.peer)) } + protected readonly brandTSClassImplements: undefined } export function isTSClassImplements(node: object | undefined): node is TSClassImplements { return node instanceof TSClassImplements diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConditionalType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConditionalType.ts index 7a93a6877e58c840ad24d18ddad33527d4fb0745..6297c2182a1ad59a8f8ec0092f46080338497964 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConditionalType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConditionalType.ts @@ -54,6 +54,7 @@ export class TSConditionalType extends TypeNode { get falseType(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSConditionalTypeFalseTypeConst(global.context, this.peer)) } + protected readonly brandTSConditionalType: undefined } export function isTSConditionalType(node: object | undefined): node is TSConditionalType { return node instanceof TSConditionalType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConstructorType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConstructorType.ts index f908b7087563c1341314830e8c01d3338c79801f..22bcbf3408fbc95c9add292658a042b9bd1e52cf 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConstructorType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSConstructorType.ts @@ -56,6 +56,7 @@ export class TSConstructorType extends TypeNode { get abstract(): boolean { return global.generatedEs2panda._TSConstructorTypeAbstractConst(global.context, this.peer) } + protected readonly brandTSConstructorType: undefined } export function isTSConstructorType(node: object | undefined): node is TSConstructorType { return node instanceof TSConstructorType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumDeclaration.ts index e049a4b39f7e4fbd16e677d19bef020de2769803..bcf75d230ec8fc56be7989e0e7232f3dd36e2572 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumDeclaration.ts @@ -62,8 +62,8 @@ export class TSEnumDeclaration extends TypedStatement { return unpackNode(global.generatedEs2panda._TSEnumDeclarationBoxedClassConst(global.context, this.peer)) } /** @deprecated */ - setBoxedClass(wrapperClass?: ClassDefinition): this { - global.generatedEs2panda._TSEnumDeclarationSetBoxedClass(global.context, this.peer, passNode(wrapperClass)) + setBoxedClass(boxedClass?: ClassDefinition): this { + global.generatedEs2panda._TSEnumDeclarationSetBoxedClass(global.context, this.peer, passNode(boxedClass)) return this } get isConst(): boolean { @@ -72,6 +72,43 @@ export class TSEnumDeclaration extends TypedStatement { get decorators(): readonly Decorator[] { return unpackNodeArray(global.generatedEs2panda._TSEnumDeclarationDecoratorsConst(global.context, this.peer)) } + /** @deprecated */ + emplaceDecorators(source?: Decorator): this { + global.generatedEs2panda._TSEnumDeclarationEmplaceDecorators(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearDecorators(): this { + global.generatedEs2panda._TSEnumDeclarationClearDecorators(global.context, this.peer) + return this + } + /** @deprecated */ + setValueDecorators(source: Decorator | undefined, index: number): this { + global.generatedEs2panda._TSEnumDeclarationSetValueDecorators(global.context, this.peer, passNode(source), index) + return this + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._TSEnumDeclarationDecoratorsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + emplaceMembers(source?: AstNode): this { + global.generatedEs2panda._TSEnumDeclarationEmplaceMembers(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearMembers(): this { + global.generatedEs2panda._TSEnumDeclarationClearMembers(global.context, this.peer) + return this + } + /** @deprecated */ + setValueMembers(source: AstNode | undefined, index: number): this { + global.generatedEs2panda._TSEnumDeclarationSetValueMembers(global.context, this.peer, passNode(source), index) + return this + } + get membersForUpdate(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._TSEnumDeclarationMembersForUpdate(global.context, this.peer)) + } + protected readonly brandTSEnumDeclaration: undefined } export function isTSEnumDeclaration(node: object | undefined): node is TSEnumDeclaration { return node instanceof TSEnumDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumMember.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumMember.ts index 8bdd01847c8f749dcd672bee3b39492ef966af98..48ffec7dfc147d09c41f7103eab574cf44b856b1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumMember.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSEnumMember.ts @@ -57,6 +57,7 @@ export class TSEnumMember extends Statement { get name(): string { return unpackString(global.generatedEs2panda._TSEnumMemberNameConst(global.context, this.peer)) } + protected readonly brandTSEnumMember: undefined } export function isTSEnumMember(node: object | undefined): node is TSEnumMember { return node instanceof TSEnumMember diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSExternalModuleReference.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSExternalModuleReference.ts index ebf31a34c2801257025545e4e2679c0908b5faf0..f7a8727a5816d7ec0094a5054fcb9c29166d890c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSExternalModuleReference.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSExternalModuleReference.ts @@ -44,6 +44,7 @@ export class TSExternalModuleReference extends Expression { get expr(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSExternalModuleReferenceExprConst(global.context, this.peer)) } + protected readonly brandTSExternalModuleReference: undefined } export function isTSExternalModuleReference(node: object | undefined): node is TSExternalModuleReference { return node instanceof TSExternalModuleReference diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSFunctionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSFunctionType.ts index 1494635497fbce435b5008a604ec83bdac355c00..f3e73c3dfe8e4a58923b721a52ab369130e718b3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSFunctionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSFunctionType.ts @@ -58,6 +58,7 @@ export class TSFunctionType extends TypeNode { global.generatedEs2panda._TSFunctionTypeSetNullable(global.context, this.peer, nullable) return this } + protected readonly brandTSFunctionType: undefined } export function isTSFunctionType(node: object | undefined): node is TSFunctionType { return node instanceof TSFunctionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportEqualsDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportEqualsDeclaration.ts index afd4331b61f3e01b5bd90464b086c1c04a7d1a14..a728e50ceb2bda68347089ad62404d0659e3304b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportEqualsDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportEqualsDeclaration.ts @@ -52,6 +52,7 @@ export class TSImportEqualsDeclaration extends Statement { get isExport(): boolean { return global.generatedEs2panda._TSImportEqualsDeclarationIsExportConst(global.context, this.peer) } + protected readonly brandTSImportEqualsDeclaration: undefined } export function isTSImportEqualsDeclaration(node: object | undefined): node is TSImportEqualsDeclaration { return node instanceof TSImportEqualsDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportType.ts index f30059963a729716b35fb1ce56353e917b0730d0..cdbccc679a62a5154d428a393db5d994d5cfd3ed 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSImportType.ts @@ -55,6 +55,7 @@ export class TSImportType extends TypeNode { get isTypeof(): boolean { return global.generatedEs2panda._TSImportTypeIsTypeofConst(global.context, this.peer) } + protected readonly brandTSImportType: undefined } export function isTSImportType(node: object | undefined): node is TSImportType { return node instanceof TSImportType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexSignature.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexSignature.ts index 5fbfba49da6c179436884c2bff5a90f5fff28110..3e9a1d9be261579e6702d0da7624303fa18512b5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexSignature.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexSignature.ts @@ -56,6 +56,7 @@ export class TSIndexSignature extends TypedAstNode { get kind(): Es2pandaTSIndexSignatureKind { return global.generatedEs2panda._TSIndexSignatureKindConst(global.context, this.peer) } + protected readonly brandTSIndexSignature: undefined } export function isTSIndexSignature(node: object | undefined): node is TSIndexSignature { return node instanceof TSIndexSignature diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexedAccessType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexedAccessType.ts index ded50eae68cb37b17a186e5147550e44183f1d86..e6227a59778881774f6c9b96c3ee4541a007c794 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexedAccessType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIndexedAccessType.ts @@ -47,6 +47,7 @@ export class TSIndexedAccessType extends TypeNode { get indexType(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._TSIndexedAccessTypeIndexTypeConst(global.context, this.peer)) } + protected readonly brandTSIndexedAccessType: undefined } export function isTSIndexedAccessType(node: object | undefined): node is TSIndexedAccessType { return node instanceof TSIndexedAccessType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInferType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInferType.ts index 453b533bc3d3229a4639dab93b9854bb73b17c1d..139e5b1c3583a6cb385f0ae9eb45ecdf689dc9a2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInferType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInferType.ts @@ -45,6 +45,7 @@ export class TSInferType extends TypeNode { get typeParam(): TSTypeParameter | undefined { return unpackNode(global.generatedEs2panda._TSInferTypeTypeParamConst(global.context, this.peer)) } + protected readonly brandTSInferType: undefined } export function isTSInferType(node: object | undefined): node is TSInferType { return node instanceof TSInferType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceBody.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceBody.ts index 68c93c17305796a964afa2625c919986f47e26d3..dd0d58ffac9b7f6688cd6399068d4a73b9158ddb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceBody.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceBody.ts @@ -44,6 +44,7 @@ export class TSInterfaceBody extends Expression { get body(): readonly AstNode[] { return unpackNodeArray(global.generatedEs2panda._TSInterfaceBodyBody(global.context, this.peer)) } + protected readonly brandTSInterfaceBody: undefined } export function isTSInterfaceBody(node: object | undefined): node is TSInterfaceBody { return node instanceof TSInterfaceBody diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceDeclaration.ts index 54ce5b8b088745c4008908c621535451d2219bb8..3ff18f8e36f5a8ff8f3fb7833cbdc29858c57eaa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceDeclaration.ts @@ -74,8 +74,8 @@ export class TSInterfaceDeclaration extends TypedStatement { get extends(): readonly TSInterfaceHeritage[] { return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationExtends(global.context, this.peer)) } - get decorators(): readonly Decorator[] { - return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationDecoratorsConst(global.context, this.peer)) + get extendsForUpdate(): readonly TSInterfaceHeritage[] { + return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationExtendsForUpdate(global.context, this.peer)) } get anonClass(): ClassDeclaration | undefined { return unpackNode(global.generatedEs2panda._TSInterfaceDeclarationGetAnonClass(global.context, this.peer)) @@ -85,14 +85,79 @@ export class TSInterfaceDeclaration extends TypedStatement { global.generatedEs2panda._TSInterfaceDeclarationSetAnonClass(global.context, this.peer, passNode(anonClass)) return this } + /** @deprecated */ + emplaceExtends(_extends?: TSInterfaceHeritage): this { + global.generatedEs2panda._TSInterfaceDeclarationEmplaceExtends(global.context, this.peer, passNode(_extends)) + return this + } + /** @deprecated */ + clearExtends(): this { + global.generatedEs2panda._TSInterfaceDeclarationClearExtends(global.context, this.peer) + return this + } + /** @deprecated */ + setValueExtends(_extends: TSInterfaceHeritage | undefined, index: number): this { + global.generatedEs2panda._TSInterfaceDeclarationSetValueExtends(global.context, this.peer, passNode(_extends), index) + return this + } + /** @deprecated */ + emplaceDecorators(decorators?: Decorator): this { + global.generatedEs2panda._TSInterfaceDeclarationEmplaceDecorators(global.context, this.peer, passNode(decorators)) + return this + } + /** @deprecated */ + clearDecorators(): this { + global.generatedEs2panda._TSInterfaceDeclarationClearDecorators(global.context, this.peer) + return this + } + /** @deprecated */ + setValueDecorators(decorators: Decorator | undefined, index: number): this { + global.generatedEs2panda._TSInterfaceDeclarationSetValueDecorators(global.context, this.peer, passNode(decorators), index) + return this + } + get decorators(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationDecorators(global.context, this.peer)) + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationDecoratorsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._TSInterfaceDeclarationEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._TSInterfaceDeclarationClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._TSInterfaceDeclarationSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._TSInterfaceDeclarationAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._TSInterfaceDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TSInterfaceDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TSInterfaceDeclarationSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._TSInterfaceDeclarationAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandTSInterfaceDeclaration: undefined } export function isTSInterfaceDeclaration(node: object | undefined): node is TSInterfaceDeclaration { return node instanceof TSInterfaceDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceHeritage.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceHeritage.ts index fa102d5e935382de8a7aedd2d3ecb872699b8b7b..7383379ac5314b426dd6eec83dfb5e5167b8d6fa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceHeritage.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSInterfaceHeritage.ts @@ -45,6 +45,7 @@ export class TSInterfaceHeritage extends Expression { get expr(): TypeNode | undefined { return unpackNode(global.generatedEs2panda._TSInterfaceHeritageExpr(global.context, this.peer)) } + protected readonly brandTSInterfaceHeritage: undefined } export function isTSInterfaceHeritage(node: object | undefined): node is TSInterfaceHeritage { return node instanceof TSInterfaceHeritage diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIntersectionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIntersectionType.ts index 9d652edfb060e09bfded756ac843bdb6a663c5b7..bf9940e4e6b9f715900037263ae0f94c37e66224 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIntersectionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSIntersectionType.ts @@ -45,6 +45,7 @@ export class TSIntersectionType extends TypeNode { get types(): readonly Expression[] { return unpackNodeArray(global.generatedEs2panda._TSIntersectionTypeTypesConst(global.context, this.peer)) } + protected readonly brandTSIntersectionType: undefined } export function isTSIntersectionType(node: object | undefined): node is TSIntersectionType { return node instanceof TSIntersectionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSLiteralType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSLiteralType.ts index 0bb80814c245d6260b623b4ca5ed7a4c4521a538..2fd8597e7b57209576b872fdeb8e762ed1f3b4f1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSLiteralType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSLiteralType.ts @@ -45,6 +45,7 @@ export class TSLiteralType extends TypeNode { get literal(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSLiteralTypeLiteralConst(global.context, this.peer)) } + protected readonly brandTSLiteralType: undefined } export function isTSLiteralType(node: object | undefined): node is TSLiteralType { return node instanceof TSLiteralType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMappedType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMappedType.ts index a7e7970dbfe69b260d4210e5e851139cca2523ce..a50eb54eb9c3ae784aaaca9481eba5ea09a42bc8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMappedType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMappedType.ts @@ -55,6 +55,7 @@ export class TSMappedType extends TypeNode { get optional(): Es2pandaMappedOption { return global.generatedEs2panda._TSMappedTypeOptional(global.context, this.peer) } + protected readonly brandTSMappedType: undefined } export function isTSMappedType(node: object | undefined): node is TSMappedType { return node instanceof TSMappedType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMethodSignature.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMethodSignature.ts index b6a82dbb09f4e759c9c8e2208b0b7a12d5202cef..df32a5ac0a3bb2a1a3aef88c4e5615bbf2e6e786 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMethodSignature.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSMethodSignature.ts @@ -62,6 +62,7 @@ export class TSMethodSignature extends AstNode { get optional(): boolean { return global.generatedEs2panda._TSMethodSignatureOptionalConst(global.context, this.peer) } + protected readonly brandTSMethodSignature: undefined } export function isTSMethodSignature(node: object | undefined): node is TSMethodSignature { return node instanceof TSMethodSignature diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleBlock.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleBlock.ts index 4216aada3dc8d63f0a5424248efe67a86ff5fa79..418e053677b95d385856a137219a99902d74596a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleBlock.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleBlock.ts @@ -44,6 +44,7 @@ export class TSModuleBlock extends Statement { get statements(): readonly Statement[] { return unpackNodeArray(global.generatedEs2panda._TSModuleBlockStatementsConst(global.context, this.peer)) } + protected readonly brandTSModuleBlock: undefined } export function isTSModuleBlock(node: object | undefined): node is TSModuleBlock { return node instanceof TSModuleBlock diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleDeclaration.ts index a128a272a8ed13f0e7da890b16195c9bf8a24f14..334379ac2ac37e4bfd7663a7bc751bd0d89cfd55 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSModuleDeclaration.ts @@ -54,6 +54,7 @@ export class TSModuleDeclaration extends Statement { get isExternalOrAmbient(): boolean { return global.generatedEs2panda._TSModuleDeclarationIsExternalOrAmbientConst(global.context, this.peer) } + protected readonly brandTSModuleDeclaration: undefined } export function isTSModuleDeclaration(node: object | undefined): node is TSModuleDeclaration { return node instanceof TSModuleDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNamedTupleMember.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNamedTupleMember.ts index f33f5e860eeabec7b3d7ebe9d2d0807a3f9fcc3a..fc3bab396e61d41266f549c1f1146636e1a2c762 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNamedTupleMember.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNamedTupleMember.ts @@ -51,6 +51,7 @@ export class TSNamedTupleMember extends TypeNode { get isOptional(): boolean { return global.generatedEs2panda._TSNamedTupleMemberIsOptionalConst(global.context, this.peer) } + protected readonly brandTSNamedTupleMember: undefined } export function isTSNamedTupleMember(node: object | undefined): node is TSNamedTupleMember { return node instanceof TSNamedTupleMember diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNeverKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNeverKeyword.ts index cd03e8126982e66cba23ebd902054f478e7b6bb7..e752ad84e10e1db974298b56c45e838d2d36a3d6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNeverKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNeverKeyword.ts @@ -41,6 +41,7 @@ export class TSNeverKeyword extends TypeNode { static updateTSNeverKeyword(original?: TSNeverKeyword): TSNeverKeyword { return new TSNeverKeyword(global.generatedEs2panda._UpdateTSNeverKeyword(global.context, passNode(original))) } + protected readonly brandTSNeverKeyword: undefined } export function isTSNeverKeyword(node: object | undefined): node is TSNeverKeyword { return node instanceof TSNeverKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNonNullExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNonNullExpression.ts index 2a3e0ec8f1a5bebb53d647fc62cda7cb95fb80cc..b9d3f0bfac0ff1c4ca941acb0d4561c24f6a2900 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNonNullExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNonNullExpression.ts @@ -49,6 +49,7 @@ export class TSNonNullExpression extends Expression { global.generatedEs2panda._TSNonNullExpressionSetExpr(global.context, this.peer, passNode(expr)) return this } + protected readonly brandTSNonNullExpression: undefined } export function isTSNonNullExpression(node: object | undefined): node is TSNonNullExpression { return node instanceof TSNonNullExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNullKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNullKeyword.ts index 22936071249873e1425edd9469b2347dc7f8cc91..df3528c964de517e19b155c9290afd875bbe6b44 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNullKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNullKeyword.ts @@ -41,6 +41,7 @@ export class TSNullKeyword extends TypeNode { static updateTSNullKeyword(original?: TSNullKeyword): TSNullKeyword { return new TSNullKeyword(global.generatedEs2panda._UpdateTSNullKeyword(global.context, passNode(original))) } + protected readonly brandTSNullKeyword: undefined } export function isTSNullKeyword(node: object | undefined): node is TSNullKeyword { return node instanceof TSNullKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNumberKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNumberKeyword.ts index a8453f5e8f74c6a60f0f9efd68b1ec62395ee7c0..75daae4e195f2a0c3f40a5d51caa7096ce70ba1b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNumberKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSNumberKeyword.ts @@ -41,6 +41,7 @@ export class TSNumberKeyword extends TypeNode { static updateTSNumberKeyword(original?: TSNumberKeyword): TSNumberKeyword { return new TSNumberKeyword(global.generatedEs2panda._UpdateTSNumberKeyword(global.context, passNode(original))) } + protected readonly brandTSNumberKeyword: undefined } export function isTSNumberKeyword(node: object | undefined): node is TSNumberKeyword { return node instanceof TSNumberKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSObjectKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSObjectKeyword.ts index 219bbcfb14e0e015c7be32fa45dd00b26c8c9b46..92210ee32d427d4dd7537251a7d81a5d065ac252 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSObjectKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSObjectKeyword.ts @@ -41,6 +41,7 @@ export class TSObjectKeyword extends TypeNode { static updateTSObjectKeyword(original?: TSObjectKeyword): TSObjectKeyword { return new TSObjectKeyword(global.generatedEs2panda._UpdateTSObjectKeyword(global.context, passNode(original))) } + protected readonly brandTSObjectKeyword: undefined } export function isTSObjectKeyword(node: object | undefined): node is TSObjectKeyword { return node instanceof TSObjectKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParameterProperty.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParameterProperty.ts index 8a9374db1ba79fc9140e4fc813724f3e0cd42e83..faec3fc87b3c978e8a5b7e132cbbaf30dfb521a4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParameterProperty.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParameterProperty.ts @@ -57,6 +57,7 @@ export class TSParameterProperty extends Expression { get parameter(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSParameterPropertyParameterConst(global.context, this.peer)) } + protected readonly brandTSParameterProperty: undefined } export function isTSParameterProperty(node: object | undefined): node is TSParameterProperty { return node instanceof TSParameterProperty diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParenthesizedType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParenthesizedType.ts index 3ce36a61dc5f821cba53ecf292ab5f8a1503f5df..dc73ba61bf90e9e8a9dc2f11f2ddd59d2d23e3e1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParenthesizedType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSParenthesizedType.ts @@ -45,6 +45,7 @@ export class TSParenthesizedType extends TypeNode { get type(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSParenthesizedTypeTypeConst(global.context, this.peer)) } + protected readonly brandTSParenthesizedType: undefined } export function isTSParenthesizedType(node: object | undefined): node is TSParenthesizedType { return node instanceof TSParenthesizedType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSPropertySignature.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSPropertySignature.ts index 14c9b65c2b4ac48f44fc44b5236748120987bea7..a415d70fc1bd7b8ef7d9c3dafbbdd3282cc1229d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSPropertySignature.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSPropertySignature.ts @@ -63,6 +63,7 @@ export class TSPropertySignature extends AnnotatedAstNode { global.generatedEs2panda._TSPropertySignatureSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandTSPropertySignature: undefined } export function isTSPropertySignature(node: object | undefined): node is TSPropertySignature { return node instanceof TSPropertySignature diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSQualifiedName.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSQualifiedName.ts index 9f83cf887f31d8b1cf80a10b5d95006a47055fa0..12cc1558028e1dc8ba8652c81e1b92a111804b26 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSQualifiedName.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSQualifiedName.ts @@ -54,6 +54,7 @@ export class TSQualifiedName extends Expression { get resolveLeftMostQualifiedName(): TSQualifiedName | undefined { return unpackNode(global.generatedEs2panda._TSQualifiedNameResolveLeftMostQualifiedName(global.context, this.peer)) } + protected readonly brandTSQualifiedName: undefined } export function isTSQualifiedName(node: object | undefined): node is TSQualifiedName { return node instanceof TSQualifiedName diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSSignatureDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSSignatureDeclaration.ts index 01d9e270751ee96f820cb458b8d0f76e5bbd3aec..73a1b79583c441d80ce667af141f509ade41a807 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSSignatureDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSSignatureDeclaration.ts @@ -58,6 +58,7 @@ export class TSSignatureDeclaration extends TypedAstNode { get kind(): Es2pandaTSSignatureDeclarationKind { return global.generatedEs2panda._TSSignatureDeclarationKindConst(global.context, this.peer) } + protected readonly brandTSSignatureDeclaration: undefined } export function isTSSignatureDeclaration(node: object | undefined): node is TSSignatureDeclaration { return node instanceof TSSignatureDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSStringKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSStringKeyword.ts index 5415d0f2b11297d51e472b445a209c1d41b8710f..8fc3541b3ffe354da93872b40f6c4aa8af181fef 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSStringKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSStringKeyword.ts @@ -41,6 +41,7 @@ export class TSStringKeyword extends TypeNode { static updateTSStringKeyword(original?: TSStringKeyword): TSStringKeyword { return new TSStringKeyword(global.generatedEs2panda._UpdateTSStringKeyword(global.context, passNode(original))) } + protected readonly brandTSStringKeyword: undefined } export function isTSStringKeyword(node: object | undefined): node is TSStringKeyword { return node instanceof TSStringKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSThisType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSThisType.ts index e3cb663d102c42d82319f493b1e02575d1778496..63ddf2d48d2579559a2b669afa0423573bc09b8b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSThisType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSThisType.ts @@ -41,6 +41,7 @@ export class TSThisType extends TypeNode { static updateTSThisType(original?: TSThisType): TSThisType { return new TSThisType(global.generatedEs2panda._UpdateTSThisType(global.context, passNode(original))) } + protected readonly brandTSThisType: undefined } export function isTSThisType(node: object | undefined): node is TSThisType { return node instanceof TSThisType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTupleType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTupleType.ts index 4aff2c470c2f53c1bead6fb47bff115e0811ddba..6e67ca6cacdbf69a6198b8877b04f4845cc01119 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTupleType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTupleType.ts @@ -44,6 +44,7 @@ export class TSTupleType extends TypeNode { get elementType(): readonly TypeNode[] { return unpackNodeArray(global.generatedEs2panda._TSTupleTypeElementTypeConst(global.context, this.peer)) } + protected readonly brandTSTupleType: undefined } export function isTSTupleType(node: object | undefined): node is TSTupleType { return node instanceof TSTupleType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAliasDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAliasDeclaration.ts index d084aafdd269e6b87dc897bd60055658f07857a4..9eacfad413d5b51c98d6bf232707b79b1bbf696f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAliasDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAliasDeclaration.ts @@ -64,13 +64,54 @@ export class TSTypeAliasDeclaration extends AnnotatedStatement { return this } get annotations(): readonly AnnotationUsage[] { - return unpackNodeArray(global.generatedEs2panda._TSTypeAliasDeclarationAnnotations(global.context, this.peer)) + return unpackNodeArray(global.generatedEs2panda._TSTypeAliasDeclarationAnnotationsConst(global.context, this.peer)) } /** @deprecated */ setAnnotations(annotations: readonly AnnotationUsage[]): this { global.generatedEs2panda._TSTypeAliasDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) return this } + /** @deprecated */ + emplaceAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._TSTypeAliasDeclarationEmplaceAnnotations(global.context, this.peer, passNode(annotations)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._TSTypeAliasDeclarationClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(annotations: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._TSTypeAliasDeclarationSetValueAnnotations(global.context, this.peer, passNode(annotations), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._TSTypeAliasDeclarationAnnotationsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + clearTypeParamterTypes(): this { + global.generatedEs2panda._TSTypeAliasDeclarationClearTypeParamterTypes(global.context, this.peer) + return this + } + /** @deprecated */ + emplaceDecorators(decorators?: Decorator): this { + global.generatedEs2panda._TSTypeAliasDeclarationEmplaceDecorators(global.context, this.peer, passNode(decorators)) + return this + } + /** @deprecated */ + clearDecorators(): this { + global.generatedEs2panda._TSTypeAliasDeclarationClearDecorators(global.context, this.peer) + return this + } + /** @deprecated */ + setValueDecorators(decorators: Decorator | undefined, index: number): this { + global.generatedEs2panda._TSTypeAliasDeclarationSetValueDecorators(global.context, this.peer, passNode(decorators), index) + return this + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._TSTypeAliasDeclarationDecoratorsForUpdate(global.context, this.peer)) + } get typeAnnotation(): TypeNode { return unpackNonNullableNode(global.generatedEs2panda._TSTypeAliasDeclarationTypeAnnotationConst(global.context, this.peer)) } @@ -79,6 +120,7 @@ export class TSTypeAliasDeclaration extends AnnotatedStatement { global.generatedEs2panda._TSTypeAliasDeclarationSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandTSTypeAliasDeclaration: undefined } export function isTSTypeAliasDeclaration(node: object | undefined): node is TSTypeAliasDeclaration { return node instanceof TSTypeAliasDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAssertion.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAssertion.ts index e9c4fc06710d4ad523eef0066d8fd81d492ab95f..b3f0d02f1028bdc78970505dc4a84b1648cdc63b 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAssertion.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeAssertion.ts @@ -54,6 +54,7 @@ export class TSTypeAssertion extends AnnotatedExpression { global.generatedEs2panda._TSTypeAssertionSetTsTypeAnnotation(global.context, this.peer, passNode(typeAnnotation)) return this } + protected readonly brandTSTypeAssertion: undefined } export function isTSTypeAssertion(node: object | undefined): node is TSTypeAssertion { return node instanceof TSTypeAssertion diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeLiteral.ts index dea2f45bf35237de99696eb14ec4d27890168940..60a67a2b6b85ff0025e62975a6aab9ed39971f7f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeLiteral.ts @@ -44,6 +44,7 @@ export class TSTypeLiteral extends TypeNode { get members(): readonly AstNode[] { return unpackNodeArray(global.generatedEs2panda._TSTypeLiteralMembersConst(global.context, this.peer)) } + protected readonly brandTSTypeLiteral: undefined } export function isTSTypeLiteral(node: object | undefined): node is TSTypeLiteral { return node instanceof TSTypeLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeOperator.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeOperator.ts index 324d626e043c3469faacef5f6801c575209f88f7..5638a99f694c1012b8c4a015a475d310ddb2f8d2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeOperator.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeOperator.ts @@ -54,6 +54,7 @@ export class TSTypeOperator extends TypeNode { get isUnique(): boolean { return global.generatedEs2panda._TSTypeOperatorIsUniqueConst(global.context, this.peer) } + protected readonly brandTSTypeOperator: undefined } export function isTSTypeOperator(node: object | undefined): node is TSTypeOperator { return node instanceof TSTypeOperator diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameter.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameter.ts index 700b1f7b31fe6eb90454f961cdb7bc402e4416af..3ae7a4f62a4d51942d41d45ca9d10912ea0bfefd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameter.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameter.ts @@ -67,14 +67,43 @@ export class TSTypeParameter extends Expression { global.generatedEs2panda._TSTypeParameterSetDefaultType(global.context, this.peer, passNode(defaultType)) return this } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._TSTypeParameterEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._TSTypeParameterClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._TSTypeParameterSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._TSTypeParameterAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._TSTypeParameterAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._TSTypeParameterSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TSTypeParameterSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TSTypeParameterSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._TSTypeParameterAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandTSTypeParameter: undefined } export function isTSTypeParameter(node: object | undefined): node is TSTypeParameter { return node instanceof TSTypeParameter diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterDeclaration.ts index 49f32861dba93ce2a1f96313525d71ad3dcc044c..5452732ee5b887a3c72a1156f2f9d77bf367a1f2 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterDeclaration.ts @@ -50,9 +50,15 @@ export class TSTypeParameterDeclaration extends Expression { global.generatedEs2panda._TSTypeParameterDeclarationAddParam(global.context, this.peer, passNode(param)) return this } + /** @deprecated */ + setValueParams(source: TSTypeParameter | undefined, index: number): this { + global.generatedEs2panda._TSTypeParameterDeclarationSetValueParams(global.context, this.peer, passNode(source), index) + return this + } get requiredParams(): number { return global.generatedEs2panda._TSTypeParameterDeclarationRequiredParamsConst(global.context, this.peer) } + protected readonly brandTSTypeParameterDeclaration: undefined } export function isTSTypeParameterDeclaration(node: object | undefined): node is TSTypeParameterDeclaration { return node instanceof TSTypeParameterDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterInstantiation.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterInstantiation.ts index 73278fcd5c3218fe174e7347872f41c54ba04812..aa17321a945740be2a76d7424c29eab37a7bd17a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterInstantiation.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeParameterInstantiation.ts @@ -45,6 +45,7 @@ export class TSTypeParameterInstantiation extends Expression { get params(): readonly TypeNode[] { return unpackNodeArray(global.generatedEs2panda._TSTypeParameterInstantiationParamsConst(global.context, this.peer)) } + protected readonly brandTSTypeParameterInstantiation: undefined } export function isTSTypeParameterInstantiation(node: object | undefined): node is TSTypeParameterInstantiation { return node instanceof TSTypeParameterInstantiation diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypePredicate.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypePredicate.ts index 9276a76d180c0793d14359b136f3017faa8ce867..cf00049d90b51e06a7ac8fa2decf7b624f2a179d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypePredicate.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypePredicate.ts @@ -51,6 +51,7 @@ export class TSTypePredicate extends TypeNode { get asserts(): boolean { return global.generatedEs2panda._TSTypePredicateAssertsConst(global.context, this.peer) } + protected readonly brandTSTypePredicate: undefined } export function isTSTypePredicate(node: object | undefined): node is TSTypePredicate { return node instanceof TSTypePredicate diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeQuery.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeQuery.ts index 848f29800f353848ee01922ca461fe6d0ef1aed3..c1ce910e86174ed82623f9d751fd84e055835d4d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeQuery.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeQuery.ts @@ -45,6 +45,7 @@ export class TSTypeQuery extends TypeNode { get exprName(): Expression | undefined { return unpackNode(global.generatedEs2panda._TSTypeQueryExprNameConst(global.context, this.peer)) } + protected readonly brandTSTypeQuery: undefined } export function isTSTypeQuery(node: object | undefined): node is TSTypeQuery { return node instanceof TSTypeQuery diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeReference.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeReference.ts index 8e70a3bf9096711f8f0883de89204ebb8daf7fa7..f21d9f61cd7c7388591ce8c637e47ad31f178b2f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeReference.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSTypeReference.ts @@ -53,6 +53,7 @@ export class TSTypeReference extends TypeNode { get baseName(): Identifier | undefined { return unpackNode(global.generatedEs2panda._TSTypeReferenceBaseNameConst(global.context, this.peer)) } + protected readonly brandTSTypeReference: undefined } export function isTSTypeReference(node: object | undefined): node is TSTypeReference { return node instanceof TSTypeReference diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUndefinedKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUndefinedKeyword.ts index 780452d01acdf31fc73af412221c6a3cd7cebf5f..b1b974f4c4dbede15332848adc28a35bf30b1038 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUndefinedKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUndefinedKeyword.ts @@ -41,6 +41,7 @@ export class TSUndefinedKeyword extends TypeNode { static updateTSUndefinedKeyword(original?: TSUndefinedKeyword): TSUndefinedKeyword { return new TSUndefinedKeyword(global.generatedEs2panda._UpdateTSUndefinedKeyword(global.context, passNode(original))) } + protected readonly brandTSUndefinedKeyword: undefined } export function isTSUndefinedKeyword(node: object | undefined): node is TSUndefinedKeyword { return node instanceof TSUndefinedKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnionType.ts index 8c42c4cb2348b9be7cef31f3f066e7f9ec715d6f..f05498402e83e460d63ce07375c3902036eb57e9 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnionType.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnionType.ts @@ -44,6 +44,7 @@ export class TSUnionType extends TypeNode { get types(): readonly TypeNode[] { return unpackNodeArray(global.generatedEs2panda._TSUnionTypeTypesConst(global.context, this.peer)) } + protected readonly brandTSUnionType: undefined } export function isTSUnionType(node: object | undefined): node is TSUnionType { return node instanceof TSUnionType diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnknownKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnknownKeyword.ts index e644472988aa0163563eb484ee8e72747a273c91..d31da586afa371f0280a39056bef448105cc197e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnknownKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSUnknownKeyword.ts @@ -41,6 +41,7 @@ export class TSUnknownKeyword extends TypeNode { static updateTSUnknownKeyword(original?: TSUnknownKeyword): TSUnknownKeyword { return new TSUnknownKeyword(global.generatedEs2panda._UpdateTSUnknownKeyword(global.context, passNode(original))) } + protected readonly brandTSUnknownKeyword: undefined } export function isTSUnknownKeyword(node: object | undefined): node is TSUnknownKeyword { return node instanceof TSUnknownKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSVoidKeyword.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSVoidKeyword.ts index af3ca21c04a4a746b26905b6d6675fd37737c5a4..4746ebeffc222ff22fa005199d71740cd1474c0d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSVoidKeyword.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TSVoidKeyword.ts @@ -41,6 +41,7 @@ export class TSVoidKeyword extends TypeNode { static updateTSVoidKeyword(original?: TSVoidKeyword): TSVoidKeyword { return new TSVoidKeyword(global.generatedEs2panda._UpdateTSVoidKeyword(global.context, passNode(original))) } + protected readonly brandTSVoidKeyword: undefined } export function isTSVoidKeyword(node: object | undefined): node is TSVoidKeyword { return node instanceof TSVoidKeyword diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TaggedTemplateExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TaggedTemplateExpression.ts index af0d80624cd2fc6d4b88eba3f763fbf275ea6341..23835725c34d454ade60f4f379032628413327c4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TaggedTemplateExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TaggedTemplateExpression.ts @@ -52,6 +52,7 @@ export class TaggedTemplateExpression extends Expression { get typeParams(): TSTypeParameterInstantiation | undefined { return unpackNode(global.generatedEs2panda._TaggedTemplateExpressionTypeParamsConst(global.context, this.peer)) } + protected readonly brandTaggedTemplateExpression: undefined } export function isTaggedTemplateExpression(node: object | undefined): node is TaggedTemplateExpression { return node instanceof TaggedTemplateExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateElement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateElement.ts index 03dd9f22712ee389be5bf061548f39983a5b6668..8b471618e9e041e67dec8b10cecf1af327c06060 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateElement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateElement.ts @@ -50,6 +50,7 @@ export class TemplateElement extends Expression { get cooked(): string { return unpackString(global.generatedEs2panda._TemplateElementCookedConst(global.context, this.peer)) } + protected readonly brandTemplateElement: undefined } export function isTemplateElement(node: object | undefined): node is TemplateElement { return node instanceof TemplateElement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateLiteral.ts index f65b4a3c617a668ef9e634422eb584db14a1f812..1455ea295cbec7378263ad2bdbb08233f29b94f8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TemplateLiteral.ts @@ -51,6 +51,7 @@ export class TemplateLiteral extends Expression { get multilineString(): string { return unpackString(global.generatedEs2panda._TemplateLiteralGetMultilineStringConst(global.context, this.peer)) } + protected readonly brandTemplateLiteral: undefined } export function isTemplateLiteral(node: object | undefined): node is TemplateLiteral { return node instanceof TemplateLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThisExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThisExpression.ts index f7b161299793bc2480ade119cfda911950bdbbcd..47d71b0db107f96061201984ec977a52d875e075 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThisExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThisExpression.ts @@ -41,6 +41,7 @@ export class ThisExpression extends Expression { static updateThisExpression(original?: ThisExpression): ThisExpression { return new ThisExpression(global.generatedEs2panda._UpdateThisExpression(global.context, passNode(original))) } + protected readonly brandThisExpression: undefined } export function isThisExpression(node: object | undefined): node is ThisExpression { return node instanceof ThisExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThrowStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThrowStatement.ts index 8589acac8706a9c5c0b5e46c933c4403781161f7..2cab74e7d2c0cc53e17d0f3c09522fbee759fa8e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThrowStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ThrowStatement.ts @@ -45,6 +45,7 @@ export class ThrowStatement extends Statement { get argument(): Expression | undefined { return unpackNode(global.generatedEs2panda._ThrowStatementArgumentConst(global.context, this.peer)) } + protected readonly brandThrowStatement: undefined } export function isThrowStatement(node: object | undefined): node is ThrowStatement { return node instanceof ThrowStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TryStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TryStatement.ts index 3dc09ac3a82c13915882069f288f83e325ef7cb9..6635fd7156e10709a2731903e34e431ef8dac91a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TryStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TryStatement.ts @@ -70,6 +70,7 @@ export class TryStatement extends Statement { global.generatedEs2panda._TryStatementSetFinallyCanCompleteNormally(global.context, this.peer, finallyCanCompleteNormally) return this } + protected readonly brandTryStatement: undefined } export function isTryStatement(node: object | undefined): node is TryStatement { return node instanceof TryStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeNode.ts index 00cb419cc4bf3dfd9d6fa6140cfa2960b18ed669..515bbbbd32bda25454c0fa8ab6ef6d892c42e0a6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeNode.ts @@ -34,14 +34,43 @@ export class TypeNode extends Expression { constructor(pointer: KNativePointer) { super(pointer) } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._TypeNodeEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._TypeNodeClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._TypeNodeSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._TypeNodeAnnotationsForUpdate(global.context, this.peer)) + } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._TypeNodeAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._TypeNodeSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TypeNodeSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._TypeNodeSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._TypeNodeAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandTypeNode: undefined } export function isTypeNode(node: object | undefined): node is TypeNode { return node instanceof TypeNode diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedAstNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedAstNode.ts index 33f6d04380f4c5264a2c518c51928ffb32df1fa2..b24d819ebbed63fa4537d3eb1a22fd97f3f02546 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedAstNode.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedAstNode.ts @@ -32,6 +32,7 @@ export class TypedAstNode extends AstNode { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandTypedAstNode: undefined } export function isTypedAstNode(node: object | undefined): node is TypedAstNode { return node instanceof TypedAstNode diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedStatement.ts index 1814a6ac6275d583ae818644edc198e275eeb5f6..227610501b324c4a4f9212577f400abbf12e7376 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypedStatement.ts @@ -33,6 +33,7 @@ export class TypedStatement extends Statement { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandTypedStatement: undefined } export function isTypedStatement(node: object | undefined): node is TypedStatement { return node instanceof TypedStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeofExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeofExpression.ts index 5c1856a3f9d448c3802b14581b57203ed97fae0e..5dba719c82a1a42e30be2b1eba12548b7fffa3fc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeofExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/TypeofExpression.ts @@ -44,6 +44,7 @@ export class TypeofExpression extends Expression { get argument(): Expression | undefined { return unpackNode(global.generatedEs2panda._TypeofExpressionArgumentConst(global.context, this.peer)) } + protected readonly brandTypeofExpression: undefined } export function isTypeofExpression(node: object | undefined): node is TypeofExpression { return node instanceof TypeofExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UnaryExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UnaryExpression.ts index b28ef8da0bddf85956a1f7ec5bde181a8b9d90b5..71e0c9b9a84f0fa43a6025403f08f2a9b9c809ac 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UnaryExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UnaryExpression.ts @@ -48,6 +48,12 @@ export class UnaryExpression extends Expression { get argument(): Expression | undefined { return unpackNode(global.generatedEs2panda._UnaryExpressionArgument(global.context, this.peer)) } + /** @deprecated */ + setArgument(arg?: Expression): this { + global.generatedEs2panda._UnaryExpressionSetArgument(global.context, this.peer, passNode(arg)) + return this + } + protected readonly brandUnaryExpression: undefined } export function isUnaryExpression(node: object | undefined): node is UnaryExpression { return node instanceof UnaryExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UndefinedLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UndefinedLiteral.ts index 500b9e0f6f1e53d404a29430c773590b4995502a..584cc48c28e57e90ed32f00b676edddbcded1950 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UndefinedLiteral.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UndefinedLiteral.ts @@ -41,6 +41,7 @@ export class UndefinedLiteral extends Literal { static updateUndefinedLiteral(original?: UndefinedLiteral): UndefinedLiteral { return new UndefinedLiteral(global.generatedEs2panda._UpdateUndefinedLiteral(global.context, passNode(original))) } + protected readonly brandUndefinedLiteral: undefined } export function isUndefinedLiteral(node: object | undefined): node is UndefinedLiteral { return node instanceof UndefinedLiteral diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UpdateExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UpdateExpression.ts index f1b6b45c3357eefaa0f2053b2b91c9b7698f69a8..c07165d904e4e9b8be4497a00dfed11d2f056a71 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UpdateExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/UpdateExpression.ts @@ -51,6 +51,7 @@ export class UpdateExpression extends Expression { get isPrefix(): boolean { return global.generatedEs2panda._UpdateExpressionIsPrefixConst(global.context, this.peer) } + protected readonly brandUpdateExpression: undefined } export function isUpdateExpression(node: object | undefined): node is UpdateExpression { return node instanceof UpdateExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VReg.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VReg.ts index 11a43a241da9a5e05b19d4101e9cb633176718e3..60860e709db38a118c33790846079caf865412be 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VReg.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VReg.ts @@ -32,4 +32,5 @@ export class VReg extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandVReg: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ValidationInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ValidationInfo.ts index 7f85236cadb154c193512e29a0bff94110939312..b177d08dc225ce5be95a8a5cc0146d07fd1ffae5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ValidationInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/ValidationInfo.ts @@ -39,4 +39,5 @@ export class ValidationInfo extends ArktsObject { get fail(): boolean { return global.generatedEs2panda._ValidationInfoFailConst(global.context, this.peer) } + protected readonly brandValidationInfo: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclaration.ts index 08fe6148f83fbd996dee3da8163a108eb993bbfd..c6491e6f3cf61184f0ed5ab3dc3b3694b02e8dc7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclaration.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclaration.ts @@ -46,22 +46,57 @@ export class VariableDeclaration extends Statement { return new VariableDeclaration(global.generatedEs2panda._UpdateVariableDeclaration(global.context, passNode(original), kind, passNodeArray(declarators), declarators.length)) } get declarators(): readonly VariableDeclarator[] { - return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDeclaratorsConst(global.context, this.peer)) + return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDeclarators(global.context, this.peer)) + } + get declaratorsForUpdate(): readonly VariableDeclarator[] { + return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDeclaratorsForUpdate(global.context, this.peer)) } get kind(): Es2pandaVariableDeclarationKind { return global.generatedEs2panda._VariableDeclarationKindConst(global.context, this.peer) } get decorators(): readonly Decorator[] { - return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDecoratorsConst(global.context, this.peer)) + return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDecorators(global.context, this.peer)) + } + get decoratorsForUpdate(): readonly Decorator[] { + return unpackNodeArray(global.generatedEs2panda._VariableDeclarationDecoratorsForUpdate(global.context, this.peer)) + } + /** @deprecated */ + emplaceAnnotations(source?: AnnotationUsage): this { + global.generatedEs2panda._VariableDeclarationEmplaceAnnotations(global.context, this.peer, passNode(source)) + return this + } + /** @deprecated */ + clearAnnotations(): this { + global.generatedEs2panda._VariableDeclarationClearAnnotations(global.context, this.peer) + return this + } + /** @deprecated */ + setValueAnnotations(source: AnnotationUsage | undefined, index: number): this { + global.generatedEs2panda._VariableDeclarationSetValueAnnotations(global.context, this.peer, passNode(source), index) + return this + } + get annotationsForUpdate(): readonly AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._VariableDeclarationAnnotationsForUpdate(global.context, this.peer)) } get annotations(): readonly AnnotationUsage[] { return unpackNodeArray(global.generatedEs2panda._VariableDeclarationAnnotations(global.context, this.peer)) } /** @deprecated */ - setAnnotations(annotations: readonly AnnotationUsage[]): this { - global.generatedEs2panda._VariableDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotations), annotations.length) + setAnnotations(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._VariableDeclarationSetAnnotations(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + setAnnotations1(annotationList: readonly AnnotationUsage[]): this { + global.generatedEs2panda._VariableDeclarationSetAnnotations1(global.context, this.peer, passNodeArray(annotationList), annotationList.length) + return this + } + /** @deprecated */ + addAnnotations(annotations?: AnnotationUsage): this { + global.generatedEs2panda._VariableDeclarationAddAnnotations(global.context, this.peer, passNode(annotations)) return this } + protected readonly brandVariableDeclaration: undefined } export function isVariableDeclaration(node: object | undefined): node is VariableDeclaration { return node instanceof VariableDeclaration diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclarator.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclarator.ts index a1e286ba12dc18693bed2a634ba6e1d864f7b6c1..313804c076a7fb4478e2b0540391f33dc0ba777e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclarator.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VariableDeclarator.ts @@ -60,6 +60,7 @@ export class VariableDeclarator extends TypedStatement { get flag(): Es2pandaVariableDeclaratorFlag { return global.generatedEs2panda._VariableDeclaratorFlag(global.context, this.peer) } + protected readonly brandVariableDeclarator: undefined } export function isVariableDeclarator(node: object | undefined): node is VariableDeclarator { return node instanceof VariableDeclarator diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerificationContext.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerificationContext.ts index c11ea7a0611398c4e67d94642605521e3ad3b5df..d4c96c1004964fe31736dbbef8352efe5a21467d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerificationContext.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerificationContext.ts @@ -32,4 +32,5 @@ export class VerificationContext extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandVerificationContext: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerifierMessage.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerifierMessage.ts index 49c5c76a940e0bd6257ca6b0f5fc1d1c7e41d2da..86a0ac649f3c94a54ce348a9d87ddd192733fc30 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerifierMessage.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/VerifierMessage.ts @@ -32,4 +32,5 @@ export class VerifierMessage extends ArktsObject { constructor(pointer: KNativePointer) { super(pointer) } + protected readonly brandVerifierMessage: undefined } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/WhileStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/WhileStatement.ts index d889b65504634db9803c2862966ef63d6e0d4785..d0e3dc3e0f2620398f43da7b620c6084273c4582 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/WhileStatement.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/WhileStatement.ts @@ -46,9 +46,15 @@ export class WhileStatement extends LoopStatement { get test(): Expression | undefined { return unpackNode(global.generatedEs2panda._WhileStatementTest(global.context, this.peer)) } + /** @deprecated */ + setTest(test?: Expression): this { + global.generatedEs2panda._WhileStatementSetTest(global.context, this.peer, passNode(test)) + return this + } get body(): Statement | undefined { return unpackNode(global.generatedEs2panda._WhileStatementBody(global.context, this.peer)) } + protected readonly brandWhileStatement: undefined } export function isWhileStatement(node: object | undefined): node is WhileStatement { return node instanceof WhileStatement diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/YieldExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/YieldExpression.ts index 3865bf89457d918db5f0e27313f45cf5bbedadf8..40faf33ccd718f2fe907c1db2fe10b2c9557988e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/YieldExpression.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/YieldExpression.ts @@ -47,6 +47,7 @@ export class YieldExpression extends Expression { get argument(): Expression | undefined { return unpackNode(global.generatedEs2panda._YieldExpressionArgumentConst(global.context, this.peer)) } + protected readonly brandYieldExpression: undefined } export function isYieldExpression(node: object | undefined): node is YieldExpression { return node instanceof YieldExpression diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/index.ts index 12c9a34bae323891bdce9928cb3499d4e50c0172..f1827b649e23163511e097fb0fea284c02675dae 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/index.ts @@ -26,15 +26,22 @@ export * from "./arkts-api/visitor" export * from "./arkts-api/AbstractVisitor" export * from "./arkts-api/ChainExpressionFilter" export * from "./arkts-api/CheckedBackFilter" +export * from "./arkts-api/CompileWithCache" export * from "./arkts-api/SetBaseOverloads" export * from "./arkts-api/plugins" export * from "./arkts-api/ImportStorage" export * from "./arkts-api/InferVoidReturnType" +export * from "./arkts-api/ProgramProvider" +export * from "./arkts-api/node-utilities/Program" +export * from "./arkts-api/node-utilities/ArkTsConfig" export * from "./arkts-api/peers/AstNode" export * from "./arkts-api/peers/Config" export * from "./arkts-api/peers/Context" -export * from "./arkts-api/peers/Program" +export * from "./arkts-api/peers/ExternalSource" export * from "./arkts-api/peers/ImportPathManager" +export * from "./arkts-api/peers/Options" export { global as arktsGlobal } from "./arkts-api/static/global" export * as arkts from "./arkts-api" + +export * from "./plugin-utils" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/plugin-utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/plugin-utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..f8903a482535a30c567437da0e19cc7d0aa5779f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/plugin-utils.ts @@ -0,0 +1,120 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + Es2pandaContextState, + PluginContext, + ImportStorage, + setBaseOverloads, + arktsGlobal, + ChainExpressionFilter, + ProgramTransformer, + Program, + inferVoidReturnType, + ProgramProvider, + CompilationOptions +} from "./arkts-api" +import { AstNode } from "./reexport-for-generated" + +export interface RunTransformerHooks { + onProgramTransformStart?(options: CompilationOptions): void + onProgramTransformEnd?(options: CompilationOptions): void +} + +class ASTCache { + processedPrograms = new Set() + constructor() { } + find(program: Program): boolean { + return this.processedPrograms.has(program.absoluteName) + } + update(program: Program) { + this.processedPrograms.add(program.absoluteName) + } +} + +export function runTransformerOnProgram(program: Program, options: CompilationOptions, transform: ProgramTransformer | undefined, pluginContext: PluginContext, hooks: RunTransformerHooks = {}) { + // Perform some additional actions before the transformation start + hooks.onProgramTransformStart?.(options) + + // AST to be transformed + const ast = program.ast + + // Save currently existing imports in the program + const importStorage = new ImportStorage(program, options.stage == Es2pandaContextState.ES2PANDA_STATE_PARSED) + + // Run some common plugins that should be run before plugin usage and depends on the current stage + stageSpecificPreFilters(ast, options.stage) + + // Run the plugin itself + transform?.(program, options, pluginContext) + + // Run some common plugins that should be run after plugin usage and depends on the current stage + stageSpecificPostFilters(ast, options.stage) + + // For oveloads, set additional pointer to base overload to fix AST + setBaseOverloads(ast) + + // Update internal import information based on import modification by plugin + importStorage.update() + + // Set parents of all nodes in AST + setAllParents(ast) + + // Perform some additional actions after the transformation end + hooks.onProgramTransformEnd?.(options) +} + +export function runTransformer(prog: Program, state: Es2pandaContextState, restart: boolean, transform: ProgramTransformer | undefined, pluginContext: PluginContext, hooks: RunTransformerHooks = {}) { + // Program provider used to provide programs to transformer dynamically relative to inserted imports + const provider = new ProgramProvider(prog) + + // The first program provided by program provider is the main program + let currentProgram = provider.next() + let isMainProgram = true + + while (currentProgram) { + // Options passed to plugin and hooks + const options: CompilationOptions = { + isMainProgram, + stage: state, + restart, + } + + runTransformerOnProgram(currentProgram, options, transform, pluginContext, hooks) + + // The first program is always the main program, so break here if should not proceed external sources + if (restart) break + isMainProgram = false + + // Proceed to the next program + currentProgram = provider.next() + } +} + +function setAllParents(ast: AstNode) { + arktsGlobal.es2panda._AstNodeUpdateAll(arktsGlobal.context, ast.peer) +} + +function stageSpecificPreFilters(script: AstNode, state: Es2pandaContextState) { + if (state == Es2pandaContextState.ES2PANDA_STATE_CHECKED) { + inferVoidReturnType(script) + } +} + +function stageSpecificPostFilters(script: AstNode, state: Es2pandaContextState) { + if (state == Es2pandaContextState.ES2PANDA_STATE_CHECKED) { + new ChainExpressionFilter().visitor(script) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/utils.ts index 6b15ebf9b44e662e3a4babe4e70b54f01bca694b..d7544784ce3181cce6caa3af7193b24306436952 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/utils.ts @@ -283,14 +283,16 @@ function fixNamespace(code: string) { we have only one such place, so fix manually */ - code = code.replaceAll(/export (declare )?abstract class (Profiler|GestureControl|text|common2D) {/g, `export $1 namespace $2 {`) + code = code.replaceAll(/export (declare )?abstract class (Profiler|GestureControl|text|common2D|common|observer|unifiedDataChannel|uniformTypeDescriptor|drawing|uiEffect|intl|matrix4|image|pointer|promptAction|webview|window) {/g, `export $1 namespace $2 {`) code = code.replaceAll(`public static _$init$_() {}`, ``) - code = code.replaceAll(`public static _$initializerBlockInit$_() {}`, ``) + code = code.replaceAll(`public static _$init$_(): void {}`, ``) + code = code.replaceAll(/.*_\$initializerBlockInit\$_.*/g, ``) code = code.replaceAll(/public static ((?:un)?registerVsyncCallback)/g, "export function $1") code = code.replaceAll(/public static (setCursor)/g, "export function $1") code = code.replaceAll(/public static (restoreDefault)/g, "export function $1") code = code.replaceAll(/public static (requestFocus\(value)/g, "export function $1") - + code = code.replaceAll(/public static (getSystemFontFullNamesByType|getFontDescriptorByFullName|matchFontDescriptors|createEffect|createBrightnessBlender)/g, "export function $1") + code = code.replaceAll('\n type Blender =', '\n export type Blender = ') return code } @@ -362,3 +364,7 @@ export function filterSource(text: string): string { // console.error(dumperUnwrappers.reduceRight((code, f) => f(code), text).split('\n').map((it, index) => `${`${index + 1}`.padStart(4)} |${it}`).join('\n')) return dumperUnwrappers.reduceRight((code, f) => f(code), text) } + +export function getEnumName(enumType: any, value: number): string | undefined { + return enumType[value]; +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/README.md b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2150db6386bf204d787d7e9168d2356bb0113221 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/README.md @@ -0,0 +1,16 @@ +# koala-wrapper compatibility layer + +THE CONTENT OF THIS FOLDER WILL BE REMOVED SOON, DO NOT MAKE ANY CHNGES HERE + +> Synced from commit `9a450680e6d84afa55edb0bbc356a0d31824da16` +> +> _!4864 customdialog +Merge pull request !4864 from lishihao/customdialog_ + +## How to migrate +For each file in the `./arkts-api`: +1. Migrate the necessary changes to the `../src/arkts-api` +2. Remove the file +3. Add a reexport to the `./arkts-api/index.ts` + +Once all the sources are be removed we can drop this compatibility layer at all diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/class-by-peer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/class-by-peer.ts new file mode 100644 index 0000000000000000000000000000000000000000..560f52064efe9c4ab9a406c051cf960a466a951a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/class-by-peer.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Es2pandaAstNodeType } from '../../generated/Es2pandaEnums'; +import { throwError } from '../../utils'; +import { global } from './static/global'; +import { KNativePointer, nullptr } from '@koalaui/interop'; +import { AstNode, UnsupportedNode } from './peers/AstNode'; + +export const nodeByType = new Map([]); + +const cache = new Map(); +export function clearNodeCache(): void { + cache.clear(); +} + +function getOrPut(peer: KNativePointer, create: (peer: KNativePointer) => AstNode): AstNode { + if (cache.has(peer)) { + return cache.get(peer)!; + } + + const newNode = create(peer); + cache.set(peer, newNode); + return newNode; +} + +export function classByPeer(peer: KNativePointer): T { + if (peer === nullptr) { + throwError('classByPeer: peer is NULLPTR'); + } + const type = global.generatedEs2panda._AstNodeTypeConst(global.context, peer); + const node = nodeByType.get(type) ?? UnsupportedNode; + return getOrPut(peer, (peer) => new node(peer)) as T; +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeFactory.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeFactory.ts new file mode 100644 index 0000000000000000000000000000000000000000..459d8cf65124d2c468a8e57a662baecc034b61a5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeFactory.ts @@ -0,0 +1,577 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + ArrowFunctionExpression, + AssignmentExpression, + CallExpression, + ETSParameterExpression, + EtsScript, + ExpressionStatement, + FunctionDeclaration, + FunctionExpression, + IfStatement, + MethodDefinition, + NumberLiteral, + StructDeclaration, + VariableDeclaration, + VariableDeclarator, + ETSStringLiteralType, +} from '../types'; +import { MemberExpression } from '../to-be-generated/MemberExpression'; +import { + AnnotationUsage, + BinaryExpression, + BlockStatement, + ClassDeclaration, + ClassDefinition, + ClassProperty, + ConditionalExpression, + ETSImportDeclaration, + ETSFunctionType, + ETSPrimitiveType, + ETSTypeReference, + ETSTypeReferencePart, + ETSUndefinedType, + ETSUnionType, + FunctionSignature, + Identifier, + ImportSpecifier, + NullLiteral, + ReturnStatement, + ScriptFunction, + StringLiteral, + SuperExpression, + ThisExpression, + TSInterfaceBody, + TSInterfaceDeclaration, + TSNonNullExpression, + TSTypeParameter, + TSTypeParameterDeclaration, + TSTypeParameterInstantiation, + TypeNode, + UndefinedLiteral, + TSAsExpression, + TSTypeAliasDeclaration, + ChainExpression, + BlockExpression, + ETSNewClassInstanceExpression, + BooleanLiteral, + ObjectExpression, + Property, + TemplateLiteral, + ArrayExpression, + AnnotationDeclaration, + TryStatement, + TSClassImplements, +} from '../../../generated'; +import { updateIdentifier } from '../node-utilities/Identifier'; +import { updateCallExpression } from '../node-utilities/CallExpression'; +import { updateExpressionStatement } from '../node-utilities/ExpressionStatement'; +import { updateMemberExpression } from '../node-utilities/MemberExpression'; +import { updateFunctionDeclaration } from '../node-utilities/FunctionDeclaration'; +import { updateBlockStatement } from '../node-utilities/BlockStatement'; +import { updateArrowFunctionExpression } from '../node-utilities/ArrowFunctionExpression'; +import { updateScriptFunction } from '../node-utilities/ScriptFunction'; +import { updateStringLiteral } from '../node-utilities/StringLiteral'; +import { updateNumberLiteral } from '../node-utilities/NumberLiteral'; +import { updateETSParameterExpression } from '../node-utilities/ETSParameterExpression'; +import { updateTSTypeParameter } from '../node-utilities/TSTypeParameter'; +import { updateTSTypeParameterDeclaration } from '../node-utilities/TSTypeParameterDeclaration'; +import { updateETSPrimitiveType } from '../node-utilities/ETSPrimitiveType'; +import { updateETSTypeReference } from '../node-utilities/ETSTypeReference'; +import { updateETSTypeReferencePart } from '../node-utilities/ETSTypeReferencePart'; +import { updateETSImportDeclaration } from '../node-utilities/ETSImportDeclaration'; +import { updateImportSpecifier } from '../node-utilities/ImportSpecifier'; +import { updateVariableDeclaration } from '../node-utilities/VariableDeclaration'; +import { updateVariableDeclarator } from '../node-utilities/VariableDeclarator'; +import { updateETSUnionType } from '../node-utilities/ETSUnionType'; +import { updateReturnStatement } from '../node-utilities/ReturnStatement'; +import { updateIfStatement } from '../node-utilities/IfStatement'; +import { updateBinaryExpression } from '../node-utilities/BinaryExpression'; +import { updateClassDeclaration } from '../node-utilities/ClassDeclaration'; +import { updateStructDeclaration } from '../node-utilities/StructDeclaration'; +import { updateClassDefinition } from '../node-utilities/ClassDefinition'; +import { updateClassProperty } from '../node-utilities/ClassProperty'; +import { updateETSFunctionType } from '../node-utilities/ETSFunctionType'; +import { updateFunctionExpression } from '../node-utilities/FunctionExpression'; +import { updateMethodDefinition } from '../node-utilities/MethodDefinition'; +import { updateSuperExpression } from '../node-utilities/SuperExpression'; +import { updateTSTypeParameterInstantiation } from '../node-utilities/TSTypeParameterInstantiation'; +import { updateTSInterfaceDeclaration } from '../node-utilities/TSInterfaceDeclaration'; +import { updateTSInterfaceBody } from '../node-utilities/TSInterfaceBody'; +import { updateUndefinedLiteral } from '../node-utilities/UndefinedLiteral'; +import { updateAnnotationUsage, update1AnnotationUsage } from '../node-utilities/AnnotationUsage'; +import { updateAssignmentExpression } from '../node-utilities/AssignmentExpression'; +import { updateETSUndefinedType } from '../node-utilities/ETSUndefinedType'; +import { updateConditionalExpression } from '../node-utilities/ConditionalExpression'; +import { updateTSAsExpression } from '../node-utilities/TSAsExpression'; +import { updateThisExpression } from '../node-utilities/ThisExpression'; +import { updateTSTypeAliasDeclaration } from '../node-utilities/TSTypeAliasDeclaration'; +import { updateTSNonNullExpression } from '../node-utilities/TSNonNullExpression'; +import { updateChainExpression } from '../node-utilities/ChainExpression'; +import { updateBlockExpression } from '../node-utilities/BlockExpression'; +import { updateNullLiteral } from '../node-utilities/NullLiteral'; +import { updateETSNewClassInstanceExpression } from '../node-utilities/ETSNewClassInstanceExpression'; +import { updateObjectExpression } from '../node-utilities/ObjectExpression'; +import { updateProperty } from '../node-utilities/Property'; +import { updateTemplateLiteral } from '../node-utilities/TemplateLiteral'; +import { updateArrayExpression } from '../node-utilities/ArrayExpression'; +import { updateAnnotationDeclaration } from '../node-utilities/AnnotationDeclaration'; +import { updateTryStatement } from '../node-utilities/TryStatement'; +import { Es2pandaModifierFlags } from 'src/arkts-api'; +import { updateTSClassImplements } from '../node-utilities/TSClassImplements'; + +export const factory = { + get createIdentifier(): (...args: Parameters) => Identifier { + return Identifier.create2Identifier; + }, + get updateIdentifier(): (...args: Parameters) => Identifier { + return updateIdentifier; + }, + get createCallExpression(): (...args: Parameters) => CallExpression { + return CallExpression.create; + }, + get updateCallExpression(): (...args: Parameters) => CallExpression { + return updateCallExpression; + }, + get createExpressionStatement(): (...args: Parameters) => ExpressionStatement { + return ExpressionStatement.create; + }, + get updateExpressionStatement(): (...args: Parameters) => ExpressionStatement { + return updateExpressionStatement; + }, + get createMemberExpression(): (...args: Parameters) => MemberExpression { + return MemberExpression.create; + }, + get updateMemberExpression(): (...args: Parameters) => MemberExpression { + return updateMemberExpression; + }, + get createEtsScript(): (...args: Parameters) => EtsScript { + return EtsScript.createFromSource; + }, + get updateEtsScript(): (...args: Parameters) => EtsScript { + return EtsScript.updateByStatements; + }, + get createFunctionDeclaration(): (...args: Parameters) => FunctionDeclaration { + return FunctionDeclaration.create; + }, + get updateFunctionDeclaration(): (...args: Parameters) => FunctionDeclaration { + return updateFunctionDeclaration; + }, + get createBlock(): (...args: Parameters) => BlockStatement { + return BlockStatement.createBlockStatement; + }, + get updateBlock(): (...args: Parameters) => BlockStatement { + return updateBlockStatement; + }, + get createArrowFunction(): (...args: Parameters) => ArrowFunctionExpression { + return ArrowFunctionExpression.create; + }, + get updateArrowFunction(): (...args: Parameters) => ArrowFunctionExpression { + return updateArrowFunctionExpression; + }, + get createScriptFunction(): (...args: Parameters) => ScriptFunction { + return ScriptFunction.createScriptFunction; + }, + get updateScriptFunction(): (...args: Parameters) => ScriptFunction { + return updateScriptFunction; + }, + get createStringLiteral(): (...args: Parameters) => StringLiteral { + return StringLiteral.create1StringLiteral; + }, + get updateStringLiteral(): (...args: Parameters) => StringLiteral { + return updateStringLiteral; + }, + get create1StringLiteral(): (...args: Parameters) => StringLiteral { + return StringLiteral.create1StringLiteral; + }, + get update1StringLiteral(): (...args: Parameters) => StringLiteral { + return updateStringLiteral; + }, + get createNumericLiteral(): (...args: Parameters) => NumberLiteral { + return NumberLiteral.create; + }, + get updateNumericLiteral(): (...args: Parameters) => NumberLiteral { + return updateNumberLiteral; + }, + get createParameterDeclaration(): ( + ...args: Parameters + ) => ETSParameterExpression { + return ETSParameterExpression.create; + }, + get updateParameterDeclaration(): ( + ...args: Parameters + ) => ETSParameterExpression { + return updateETSParameterExpression; + }, + get createTypeParameter(): (...args: Parameters) => TSTypeParameter { + return TSTypeParameter.create1TSTypeParameter; + }, + get updateTypeParameter(): (...args: Parameters) => TSTypeParameter { + return updateTSTypeParameter; + }, + get createTypeParameterDeclaration(): ( + ...args: Parameters + ) => TSTypeParameterDeclaration { + return TSTypeParameterDeclaration.createTSTypeParameterDeclaration; + }, + get updateTypeParameterDeclaration(): ( + ...args: Parameters + ) => TSTypeParameterDeclaration { + return updateTSTypeParameterDeclaration; + }, + get createPrimitiveType(): ( + ...args: Parameters + ) => ETSPrimitiveType { + return ETSPrimitiveType.createETSPrimitiveType; + }, + get updatePrimitiveType(): (...args: Parameters) => ETSPrimitiveType { + return updateETSPrimitiveType; + }, + get createTypeReference(): ( + ...args: Parameters + ) => ETSTypeReference { + return ETSTypeReference.createETSTypeReference; + }, + get updateTypeReference(): (...args: Parameters) => ETSTypeReference { + return updateETSTypeReference; + }, + get createTypeReferencePart(): ( + ...args: Parameters + ) => ETSTypeReferencePart { + return ETSTypeReferencePart.createETSTypeReferencePart; + }, + get updateTypeReferencePart(): (...args: Parameters) => ETSTypeReferencePart { + return updateETSTypeReferencePart; + }, + get createImportDeclaration(): ( + ...args: Parameters + ) => ETSImportDeclaration { + return ETSImportDeclaration.createETSImportDeclaration; + }, + get updateImportDeclaration(): (...args: Parameters) => ETSImportDeclaration { + return updateETSImportDeclaration; + }, + get createImportSpecifier(): ( + ...args: Parameters + ) => ImportSpecifier { + return ImportSpecifier.createImportSpecifier; + }, + get updateImportSpecifier(): (...args: Parameters) => ImportSpecifier { + return updateImportSpecifier; + }, + get createVariableDeclaration(): (...args: Parameters) => VariableDeclaration { + return VariableDeclaration.create; + }, + get updateVariableDeclaration(): (...args: Parameters) => VariableDeclaration { + return updateVariableDeclaration; + }, + get createVariableDeclarator(): (...args: Parameters) => VariableDeclarator { + return VariableDeclarator.create; + }, + get updateVariableDeclarator(): (...args: Parameters) => VariableDeclarator { + return updateVariableDeclarator; + }, + get createUnionType(): (...args: Parameters) => ETSUnionType { + return ETSUnionType.createETSUnionType; + }, + get updateUnionType(): (...args: Parameters) => ETSUnionType { + return updateETSUnionType; + }, + get createReturnStatement(): ( + ...args: Parameters + ) => ReturnStatement { + return ReturnStatement.create1ReturnStatement; + }, + get updateReturnStatement(): (...args: Parameters) => ReturnStatement { + return updateReturnStatement; + }, + get createIfStatement(): (...args: Parameters) => IfStatement { + return IfStatement.create; + }, + get updateIfStatement(): (...args: Parameters) => IfStatement { + return updateIfStatement; + }, + get createBinaryExpression(): ( + ...args: Parameters + ) => BinaryExpression { + return BinaryExpression.createBinaryExpression; + }, + get updateBinaryExpression(): (...args: Parameters) => BinaryExpression { + return updateBinaryExpression; + }, + get createClassDeclaration(): ( + ...args: Parameters + ) => ClassDeclaration { + return ClassDeclaration.createClassDeclaration; + }, + get updateClassDeclaration(): (...args: Parameters) => ClassDeclaration { + return updateClassDeclaration; + }, + get createStructDeclaration(): (...args: Parameters) => StructDeclaration { + return StructDeclaration.create; + }, + get updateStructDeclaration(): (...args: Parameters) => StructDeclaration { + return updateStructDeclaration; + }, + get createClassDefinition(): ( + ...args: Parameters + ) => ClassDefinition { + return ClassDefinition.createClassDefinition; + }, + get updateClassDefinition(): (...args: Parameters) => ClassDefinition { + return updateClassDefinition; + }, + get createClassProperty(): (...args: Parameters) => ClassProperty { + return ClassProperty.createClassProperty; + }, + get updateClassProperty(): (...args: Parameters) => ClassProperty { + return updateClassProperty; + }, + get createFunctionType(): (...args: Parameters) => ETSFunctionType { + return ETSFunctionType.createETSFunctionType; + }, + get updateFunctionType(): (...args: Parameters) => ETSFunctionType { + return updateETSFunctionType; + }, + get createFunctionExpression(): (...args: Parameters) => FunctionExpression { + return FunctionExpression.create; + }, + get updateFunctionExpression(): (...args: Parameters) => FunctionExpression { + return updateFunctionExpression; + }, + get createMethodDefinition(): (...args: Parameters) => MethodDefinition { + return MethodDefinition.create; + }, + get updateMethodDefinition(): (...args: Parameters) => MethodDefinition { + return updateMethodDefinition; + }, + get createSuperExpression(): ( + ...args: Parameters + ) => SuperExpression { + return SuperExpression.createSuperExpression; + }, + get updateSuperExpression(): (...args: Parameters) => SuperExpression { + return updateSuperExpression; + }, + get createTSTypeParameterInstantiation(): ( + ...args: Parameters + ) => TSTypeParameterInstantiation { + return TSTypeParameterInstantiation.createTSTypeParameterInstantiation; + }, + get updateTSTypeParameterInstantiation(): ( + ...args: Parameters + ) => TSTypeParameterInstantiation { + return updateTSTypeParameterInstantiation; + }, + get createInterfaceDeclaration(): ( + ...args: Parameters + ) => TSInterfaceDeclaration { + return TSInterfaceDeclaration.createTSInterfaceDeclaration; + }, + get updateInterfaceDeclaration(): ( + ...args: Parameters + ) => TSInterfaceDeclaration { + return updateTSInterfaceDeclaration; + }, + get createInterfaceBody(): (...args: Parameters) => TSInterfaceBody { + return TSInterfaceBody.createTSInterfaceBody; + }, + get updateInterfaceBody(): (...args: Parameters) => TSInterfaceBody { + return updateTSInterfaceBody; + }, + get createUndefinedLiteral(): ( + ...args: Parameters + ) => UndefinedLiteral { + return UndefinedLiteral.createUndefinedLiteral; + }, + get updateUndefinedLiteral(): (...args: Parameters) => UndefinedLiteral { + return updateUndefinedLiteral; + }, + get createAnnotationDeclaration(): ( + ...args: Parameters + ) => AnnotationDeclaration { + return AnnotationDeclaration.create1AnnotationDeclaration; + }, + get updateAnnotationDeclaration(): ( + ...args: Parameters + ) => AnnotationDeclaration { + return updateAnnotationDeclaration; + }, + get createAnnotationUsage(): ( + ...args: Parameters + ) => AnnotationUsage { + return AnnotationUsage.create1AnnotationUsage; + }, + get updateAnnotationUsage(): (...args: Parameters) => AnnotationUsage { + return updateAnnotationUsage; + }, + get create1AnnotationUsage(): ( + ...args: Parameters + ) => AnnotationUsage { + return AnnotationUsage.create1AnnotationUsage; + }, + get update1AnnotationUsage(): (...args: Parameters) => AnnotationUsage { + return update1AnnotationUsage; + }, + get createAssignmentExpression(): ( + ...args: Parameters + ) => AssignmentExpression { + return AssignmentExpression.create; + }, + get updateAssignmentExpression(): (...args: Parameters) => AssignmentExpression { + return updateAssignmentExpression; + }, + get createETSUndefinedType(): ( + ...args: Parameters + ) => ETSUndefinedType { + return ETSUndefinedType.createETSUndefinedType; + }, + get updateETSUndefinedType(): (...args: Parameters) => ETSUndefinedType { + return updateETSUndefinedType; + }, + get createFunctionSignature(): ( + ...args: Parameters + ) => FunctionSignature { + return FunctionSignature.createFunctionSignature; + }, + get createConditionalExpression(): ( + ...args: Parameters + ) => ConditionalExpression { + return ConditionalExpression.createConditionalExpression; + }, + get updateConditionalExpression(): ( + ...args: Parameters + ) => ConditionalExpression { + return updateConditionalExpression; + }, + get createTSAsExpression(): (...args: Parameters) => TSAsExpression { + return TSAsExpression.createTSAsExpression; + }, + get updateTSAsExpression(): (...args: Parameters) => TSAsExpression { + return updateTSAsExpression; + }, + get createThisExpression(): (...args: Parameters) => ThisExpression { + return ThisExpression.createThisExpression; + }, + get updateThisExpression(): (...args: Parameters) => ThisExpression { + return updateThisExpression; + }, + get createTSTypeAliasDeclaration(): ( + ...args: Parameters + ) => TSTypeAliasDeclaration { + return TSTypeAliasDeclaration.createTSTypeAliasDeclaration; + }, + get updateTSTypeAliasDeclaration(): ( + ...args: Parameters + ) => TSTypeAliasDeclaration { + return updateTSTypeAliasDeclaration; + }, + get createTSNonNullExpression(): ( + ...args: Parameters + ) => TSNonNullExpression { + return TSNonNullExpression.createTSNonNullExpression; + }, + get updateTSNonNullExpression(): (...args: Parameters) => TSNonNullExpression { + return updateTSNonNullExpression; + }, + get createChainExpression(): ( + ...args: Parameters + ) => ChainExpression { + return ChainExpression.createChainExpression; + }, + get updateChainExpression(): (...args: Parameters) => ChainExpression { + return updateChainExpression; + }, + get createBlockExpression(): ( + ...args: Parameters + ) => BlockExpression { + return BlockExpression.createBlockExpression; + }, + get updateBlockExpression(): (...args: Parameters) => BlockExpression { + return updateBlockExpression; + }, + get createNullLiteral(): (...args: Parameters) => NullLiteral { + return NullLiteral.createNullLiteral; + }, + get updateNullLiteral(): (...args: Parameters) => NullLiteral { + return updateNullLiteral; + }, + get createETSNewClassInstanceExpression(): ( + ...args: Parameters + ) => ETSNewClassInstanceExpression { + return ETSNewClassInstanceExpression.createETSNewClassInstanceExpression; + }, + get updateETSNewClassInstanceExpression(): ( + ...args: Parameters + ) => ETSNewClassInstanceExpression { + return updateETSNewClassInstanceExpression; + }, + get createETSStringLiteralType(): ( + ...args: Parameters + ) => ETSStringLiteralType { + return ETSStringLiteralType.create; + }, + get createBooleanLiteral(): (...args: Parameters) => BooleanLiteral { + return BooleanLiteral.createBooleanLiteral; + }, + get createObjectExpression(): ( + ...args: Parameters + ) => ObjectExpression { + return ObjectExpression.createObjectExpression; + }, + get updateObjectExpression(): (...args: Parameters) => ObjectExpression { + return updateObjectExpression; + }, + get createProperty(): (...args: Parameters) => Property { + return Property.create1Property; + }, + get updateProperty(): (...args: Parameters) => Property { + return updateProperty; + }, + get createTemplateLiteral(): ( + ...args: Parameters + ) => TemplateLiteral { + return TemplateLiteral.createTemplateLiteral; + }, + get updateTemplateLiteral(): (...args: Parameters) => TemplateLiteral { + return updateTemplateLiteral; + }, + get createArrayExpression(): ( + ...args: Parameters + ) => ArrayExpression { + return ArrayExpression.create1ArrayExpression; + }, + get updateArrayExpression(): (...args: Parameters) => ArrayExpression { + return updateArrayExpression; + }, + get createTryStatement(): (...args: Parameters) => TryStatement { + return TryStatement.createTryStatement; + }, + get updateTryStatement(): (...args: Parameters) => TryStatement { + return updateTryStatement; + }, + get createTSClassImplements(): (...args: Parameters) => TSClassImplements { + return TSClassImplements.createTSClassImplements; + }, + get UpdateTSClassImplements(): (...args: Parameters) => TSClassImplements { + return updateTSClassImplements; + }, + /** @deprecated */ + createTypeParameter1_(name: Identifier, constraint?: TypeNode, defaultType?: TypeNode, flags = Es2pandaModifierFlags.MODIFIER_FLAGS_NONE) { + return TSTypeParameter.create1TSTypeParameter(Identifier.create2Identifier(name.name), constraint, defaultType, flags); + }, +}; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeTests.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeTests.ts new file mode 100644 index 0000000000000000000000000000000000000000..62c02275a505a51ae282d041066c946d32d22dd1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/factory/nodeTests.ts @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { global } from "../static/global" +import { + ArrowFunctionExpression, + CallExpression, + ETSParameterExpression, + EtsScript, + ExpressionStatement, + FunctionDeclaration, + FunctionExpression, + IfStatement, + MethodDefinition, + // ScriptFunction, + StructDeclaration, + VariableDeclaration, + VariableDeclarator, + AssignmentExpression, + NumberLiteral +} from "../types" +import { MemberExpression } from "../to-be-generated/MemberExpression" +import { AstNode } from "../peers/AstNode" + +export function isCallExpression(node: AstNode): node is CallExpression { + return node instanceof CallExpression +} + +export function isMemberExpression(node: AstNode): node is MemberExpression { + return node instanceof MemberExpression +} + +export function isFunctionDeclaration(node: AstNode): node is FunctionDeclaration { + return node instanceof FunctionDeclaration +} + +export function isMethodDefinition(node: AstNode): node is MethodDefinition { + return global.es2panda._IsMethodDefinition(node.peer); +} + +export function isEtsScript(node: AstNode): node is EtsScript { + return node instanceof EtsScript +} + +export function isExpressionStatement(node: AstNode): node is ExpressionStatement { + return node instanceof ExpressionStatement +} + +export function isArrowFunctionExpression(node: AstNode): node is ArrowFunctionExpression { + return node instanceof ArrowFunctionExpression +} + +export function isStructDeclaration(node: AstNode): node is StructDeclaration { + return node instanceof StructDeclaration +} + +export function isFunctionExpression(node: AstNode): node is FunctionExpression { + return node instanceof FunctionExpression +} + +export function isEtsParameterExpression(node: AstNode): node is ETSParameterExpression { + return node instanceof ETSParameterExpression +} + +export function isVariableDeclaration(node: AstNode): node is VariableDeclaration { + return node instanceof VariableDeclaration +} + +// export function isScriptFunction(node: AstNode): node is ScriptFunction { +// return node instanceof ScriptFunction +// } + +export function isIfStatement(node: AstNode): node is IfStatement { + return node instanceof IfStatement +} + +export function isVariableDeclarator(node: AstNode): node is VariableDeclarator { + return node instanceof VariableDeclarator +} + +export function isAssignmentExpression(node: AstNode): node is AssignmentExpression { + return node instanceof AssignmentExpression; +} + +export function isNumberLiteral(node: AstNode): node is NumberLiteral { + return node instanceof NumberLiteral; +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..6619aa31da84bc4070946138f314caa1988b6487 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/index.ts @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from "../../generated/Es2pandaEnums" +export * from "../../generated/Es2pandaEnums" +export * from "../../generated/peers/AnnotationDeclaration" +export * from "../../generated/peers/AnnotationUsage" +export * from "../../generated/peers/BlockStatement" +export * from "../../generated/peers/ETSPrimitiveType" +export * from "../../generated/peers/TSInterfaceBody" +export * from "../../generated/peers/TSInterfaceDeclaration" +export * from "../../generated/peers/TSTypeParameterInstantiation" +export * from "../../generated/peers/UndefinedLiteral" +export * from "../../generated/peers/ETSUnionType" +export * from "../../generated/peers/FunctionSignature" +export * from "../../generated/peers/ETSFunctionType" +export * from "../../generated/peers/StringLiteral" +export * from "../../generated/peers/ThrowStatement" +export * from "../../generated/peers/TypeNode" +export * from "../../generated/peers/ClassDeclaration" +export * from "../../generated/peers/ClassDefinition" +export * from "../../generated/peers/Identifier" +export * from "../../generated/peers/ETSTypeReference" +export * from "../../generated/peers/ETSTypeReferencePart" +export * from "../../generated/peers/ClassProperty" +export * from "../../generated/peers/ReturnStatement" +export * from "../../generated/peers/Expression" +export * from "../../generated/peers/Statement" +export * from "../../generated/peers/ImportSpecifier" +export * from "../../generated/peers/TSAsExpression" +export * from "../../generated/peers/ThisExpression" +export * from "../../generated/peers/TSThisType" +export * from "../../generated/peers/ETSImportDeclaration" +export * from "../../generated/peers/ImportSource" +export * from "../../generated/peers/ScriptFunction" +export * from "../../generated/peers/TSTypeParameterDeclaration" +export * from "../../generated/peers/TSTypeParameter" +export * from "../../generated/peers/TSNonNullExpression" +export * from "../../generated/peers/ChainExpression" +export * from "../../generated/peers/ConditionalExpression" +export * from "../../generated/peers/NullLiteral" +export * from "../../generated/peers/TSTypeAliasDeclaration" +export * from "../../generated/peers/ETSUndefinedType" +export * from "../../generated/peers/ETSNewClassInstanceExpression" +export * from "../../generated/peers/ObjectExpression" +export * from "../../generated/peers/Property" +export * from "../../generated/peers/BlockExpression" +export * from "../../generated/peers/TSClassImplements" +export * from "../../generated/peers/BooleanLiteral" +export * from "../../generated/peers/TSArrayType" +export * from "../../generated/peers/ArrayExpression" +export * from "../../generated/peers/TryStatement" +export * from "../../generated/peers/ETSNullType" + +export * from "./types" +export * from "./utilities/private" +export * from "./utilities/public" +export * from "./utilities/performance" +export * from "./factory/nodeFactory" +export * from "./factory/nodeTests" +export * from "./visitor" +export * from "./peers/AstNode" + +export * from "./peers/Config" +export * from "./peers/Context" +export * from "./peers/Program" +export * from "./peers/ImportPathManager" +export * from "./peers/SourcePosition" +export * from "./peers/SourceRange" +export * from "./peers/Diagnostic" +export * from "./peers/DiagnosticInfo" +export * from "./peers/DiagnosticKind" +export * from "./peers/SuggestionInfo" +export * from "./to-be-generated/MemberExpression" +export * from "./static/globalUtils" +export { global as arktsGlobal } from "./static/global" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a7107d251c846421bdca68851ab39868e53a652 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationDeclaration.ts @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AnnotationDeclaration, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { AstNode } from '../peers/AstNode'; + +export function updateAnnotationDeclaration( + original: AnnotationDeclaration, + expr: Expression | undefined, + properties: readonly AstNode[] +): AnnotationDeclaration { + if (isSameNativeObject(expr, original.expr) && isSameNativeObject(properties, original.properties)) { + return original; + } + + const update = updateThenAttach(AnnotationDeclaration.update1AnnotationDeclaration, attachModifiers); + return update(original, expr, properties); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationUsage.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationUsage.ts new file mode 100644 index 0000000000000000000000000000000000000000..6ed56a5b76415892dc4b3795213f8745ce787bfb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AnnotationUsage.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AnnotationUsage, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { AstNode } from '../peers/AstNode'; + +export function updateAnnotationUsage(original: AnnotationUsage, expr?: Expression): AnnotationUsage { + if (isSameNativeObject(expr, original.expr)) { + return original; + } + + const update = updateThenAttach(AnnotationUsage.updateAnnotationUsage, attachModifiers); + return update(original, expr); +} + +export function update1AnnotationUsage(original: AnnotationUsage, expr: Expression | undefined, properties: readonly AstNode[]): AnnotationUsage { + if (isSameNativeObject(expr, original.expr) && isSameNativeObject(properties, original.properties)) { + return original; + } + + const update = updateThenAttach(AnnotationUsage.update1AnnotationUsage, attachModifiers); + return update(original, expr, properties); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..7100c718ae423956995e80a3185d09ef098e4d3b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArrayExpression, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateArrayExpression(original: ArrayExpression, elements: readonly Expression[]): ArrayExpression { + if (isSameNativeObject(elements, original.elements)) { + return original; + } + const update = updateThenAttach( + ArrayExpression.updateArrayExpression, + attachModifiers, + attachOptionalAndDeclaration + ); + return update(original, elements); +} + +function attachOptionalAndDeclaration(node: ArrayExpression, original: ArrayExpression): ArrayExpression { + if (node.isDeclaration) { + node.setDeclaration(); + } + node.setOptional(original.isOptional); + return node; +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..7a19610277b4a062a21f5085c94d4b6cf66f6516 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ScriptFunction } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { ArrowFunctionExpression } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateArrowFunctionExpression( + original: ArrowFunctionExpression, + func: ScriptFunction +): ArrowFunctionExpression { + if (isSameNativeObject(func, original.scriptFunction)) { + return original; + } + + const update = updateThenAttach( + ArrowFunctionExpression.update, + attachModifiers, + (node: ArrowFunctionExpression, original: ArrowFunctionExpression) => node.setAnnotations(original.annotations) + ); + return update(original, func); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..055a92ff3481f466e6f937aba0b0bf013e041c01 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { AssignmentExpression } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaTokenType } from '../../../generated/Es2pandaEnums'; + +export function updateAssignmentExpression( + original: AssignmentExpression, + left: AstNode, + assignmentOperator: Es2pandaTokenType, + right: AstNode +): AssignmentExpression { + if ( + isSameNativeObject(left, original.left) && + isSameNativeObject(assignmentOperator, original.operatorType) && + isSameNativeObject(right, original.right) + ) { + return original; + } + + const update = updateThenAttach(AssignmentExpression.update, attachModifiers); + return update(original, left, assignmentOperator, right); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BinaryExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BinaryExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..8e8273676bcfed54ebcac0ccd13272ef6a0e87ae --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BinaryExpression.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BinaryExpression, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaTokenType } from '../../../generated/Es2pandaEnums'; + +export function updateBinaryExpression( + original: BinaryExpression, + left: Expression | undefined, + right: Expression | undefined, + operatorType: Es2pandaTokenType +): BinaryExpression { + if ( + isSameNativeObject(left, original.left) && + isSameNativeObject(right, original.right) && + isSameNativeObject(operatorType, original.operatorType) + ) { + return original; + } + + const update = updateThenAttach(BinaryExpression.updateBinaryExpression, attachModifiers); + return update(original, left, right, operatorType); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..51c57fec57d1880fa07df1469cdd1d1681c66fbf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockExpression.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BlockExpression, Statement } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateBlockExpression(original: BlockExpression, statements: readonly Statement[]): BlockExpression { + if (isSameNativeObject(statements, original.statements)) { + return original; + } + + const update = updateThenAttach(BlockExpression.updateBlockExpression, attachModifiers); + return update(original, statements); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..825342067e12b566be2b4d5ae3f15144ce14b997 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BlockStatement, Statement } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateBlockStatement(original: BlockStatement, statementList: readonly Statement[]): BlockStatement { + if (isSameNativeObject(statementList, original.statements)) { + return original; + } + + const update = updateThenAttach(BlockStatement.updateBlockStatement, attachModifiers); + return update(original, statementList); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..1bf023f9a83e9f5f529a57ed7b6a4c158d8b9549 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { CallExpression } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateCallExpression( + original: CallExpression, + expression: AstNode, + typeArguments: readonly TypeNode[] | undefined, + args: readonly AstNode[] | undefined, + isOptional?: boolean, + trailingComma?: boolean +): CallExpression { + if ( + isSameNativeObject(expression, original.expression) && + isSameNativeObject(typeArguments, original.typeArguments) && + isSameNativeObject(args, original.arguments) + ) { + return original; + } + + const update = updateThenAttach( + CallExpression.update, + attachModifiers, + (node: CallExpression, original: CallExpression) => + !!original.trailingBlock ? node.setTralingBlock(original.trailingBlock) : node + ); + return update(original, expression, typeArguments, args, isOptional, trailingComma); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ChainExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ChainExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..7408d65a2322beb48137040b40cc3990cf953777 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ChainExpression.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ChainExpression, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateChainExpression(original: ChainExpression, expression?: Expression): ChainExpression { + if (isSameNativeObject(expression, original.expression)) { + return original; + } + + const update = updateThenAttach(ChainExpression.updateChainExpression, attachModifiers); + return update(original, expression); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..333787ca2e6d4af3878cb747c3f366b5e684ef96 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ClassDeclaration, ClassDefinition } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateClassDeclaration(original: ClassDeclaration, def?: ClassDefinition): ClassDeclaration { + if (isSameNativeObject(def, original.definition)) { + return original; + } + + const update = updateThenAttach(ClassDeclaration.updateClassDeclaration, attachModifiers); + return update(original, def); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts new file mode 100644 index 0000000000000000000000000000000000000000..062cf72b4333bbde647150cdea670e9b80246c85 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + ClassDefinition, + Expression, + Identifier, + TSClassImplements, + TSTypeParameterDeclaration, + TSTypeParameterInstantiation, +} from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { MethodDefinition } from '../types'; +import { updateThenAttach } from '../utilities/private'; +import { Es2pandaClassDefinitionModifiers, Es2pandaModifierFlags } from '../../../generated/Es2pandaEnums'; +import { classDefinitionFlags } from '../utilities/public'; + +export function updateClassDefinition( + original: ClassDefinition, + ident: Identifier | undefined, + typeParams: TSTypeParameterDeclaration | undefined, + superTypeParams: TSTypeParameterInstantiation | undefined, + _implements: readonly TSClassImplements[], + ctor: MethodDefinition | undefined, + superClass: Expression | undefined, + body: readonly AstNode[], + modifiers: Es2pandaClassDefinitionModifiers, + flags: Es2pandaModifierFlags +): ClassDefinition { + if ( + isSameNativeObject(ident, original.ident) && + isSameNativeObject(typeParams, original.typeParams) && + isSameNativeObject(superTypeParams, original.superTypeParams) && + isSameNativeObject(_implements, original.implements) && + isSameNativeObject(superClass, original.super) && + isSameNativeObject(body, original.body) && + isSameNativeObject(modifiers, original.modifiers) && + isSameNativeObject(flags, classDefinitionFlags(original)) + /* TODO: no getter for ctor */ + ) { + return original; + } + + const update = updateThenAttach( + ClassDefinition.updateClassDefinition, + (node: ClassDefinition, original: ClassDefinition) => node.setAnnotations(original.annotations) + ); + return update( + original, + ident, + typeParams, + superTypeParams, + _implements, + undefined, + superClass, + body, + modifiers, + flags + ); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts new file mode 100644 index 0000000000000000000000000000000000000000..d63050a686a371e93df1ea9daa67175dabb9b814 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ClassProperty, Expression, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { updateThenAttach } from '../utilities/private'; +import { classPropertySetOptional, hasModifierFlag } from '../utilities/public'; +import { Es2pandaModifierFlags } from '../../../generated/Es2pandaEnums'; + +export function updateClassProperty( + original: ClassProperty, + key: Expression | undefined, + value: Expression | undefined, + typeAnnotation: TypeNode | undefined, + modifiers: Es2pandaModifierFlags, + isComputed: boolean +): ClassProperty { + if ( + isSameNativeObject(key, original.key) && + isSameNativeObject(value, original.value) && + isSameNativeObject(typeAnnotation, original.typeAnnotation) && + isSameNativeObject(modifiers, original.modifiers) && + isSameNativeObject(isComputed, original.isComputed) + ) { + return original; + } + + const update = updateThenAttach( + ClassProperty.updateClassProperty, + (node: ClassProperty, original: ClassProperty) => node.setAnnotations(original.annotations), + (node: ClassProperty, original: ClassProperty) => { + if (hasModifierFlag(original, Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL)) { + return classPropertySetOptional(node, true); + } + return node; + } + ); + return update(original, key, value, typeAnnotation, modifiers, isComputed); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ConditionalExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ConditionalExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..df16b235349545662cf1a2f2056d711b99dbfe80 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ConditionalExpression.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ConditionalExpression, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateConditionalExpression( + original: ConditionalExpression, + test?: Expression, + consequent?: Expression, + alternate?: Expression +): ConditionalExpression { + if ( + isSameNativeObject(test, original.test) && + isSameNativeObject(consequent, original.consequent) && + isSameNativeObject(alternate, original.alternate) + ) { + return original; + } + + const update = updateThenAttach(ConditionalExpression.updateConditionalExpression, attachModifiers); + return update(original, test, consequent, alternate); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts new file mode 100644 index 0000000000000000000000000000000000000000..04f06e1940d0c187804b0a5f7d3aa15a3f92ee13 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSFunctionType, FunctionSignature } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaScriptFunctionFlags } from '../../../generated/Es2pandaEnums'; + +export function updateETSFunctionType( + original: ETSFunctionType, + signature: FunctionSignature | undefined, + funcFlags: Es2pandaScriptFunctionFlags +): ETSFunctionType { + if ( + isSameNativeObject(signature?.typeParams, original.typeParams) && + isSameNativeObject(signature?.returnType, original.returnType) && + isSameNativeObject(signature?.params, original.params) && + isSameNativeObject(funcFlags, original.flags) + /* TODO: no getter for signature's hasReceiver */ + ) { + return original; + } + + const update = updateThenAttach( + ETSFunctionType.updateETSFunctionType, + attachModifiers, + (node: ETSFunctionType, original: ETSFunctionType) => node.setAnnotations(original.annotations) + ); + return update(original, signature, funcFlags); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..8f8ccd2634a83794ec27f49ad99004ba99053c52 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSImportDeclaration, StringLiteral } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaImportKinds } from '../../../generated/Es2pandaEnums'; + +export function updateETSImportDeclaration( + original: ETSImportDeclaration, + source: StringLiteral | undefined, + specifiers: readonly AstNode[], + importKind: Es2pandaImportKinds +): ETSImportDeclaration { + if ( + isSameNativeObject(source, original.source) && + isSameNativeObject(specifiers, original.specifiers) && + isSameNativeObject(importKind, Number(original.isTypeKind)) + ) { + /* TODO: probably should set importMetadata, but no getter provided yet */ + return original; + } + + const update = updateThenAttach(ETSImportDeclaration.updateETSImportDeclaration, attachModifiers); + return update(original, source, specifiers, importKind); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSNewClassInstanceExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSNewClassInstanceExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..cbb673e1b27db4bd7a84ab70d01496b956cee846 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSNewClassInstanceExpression.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSNewClassInstanceExpression, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSNewClassInstanceExpression( + original: ETSNewClassInstanceExpression, + typeReference: Expression | undefined, + _arguments: readonly Expression[] +): ETSNewClassInstanceExpression { + if ( + isSameNativeObject(typeReference, original.typeRef) && + isSameNativeObject(_arguments, original.arguments) + ) { + return original; + } + + const update = updateThenAttach(ETSNewClassInstanceExpression.updateETSNewClassInstanceExpression, attachModifiers); + return update(original, typeReference, _arguments); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..b800bf8297d8d3c527e30f9527cb20bca196e1d0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { ETSParameterExpression } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSParameterExpression( + original: ETSParameterExpression, + identifier: Identifier, + initializer: AstNode | undefined +): ETSParameterExpression { + if ( + isSameNativeObject(identifier, original.identifier) && + !initializer // TODO: get this from ETSParameterExpression + ) { + return original; + } + + const update = updateThenAttach( + ETSParameterExpression.update, + attachModifiers, + (node: ETSParameterExpression, original: ETSParameterExpression) => { + node.annotations = original.annotations; + return node; + } + ); + return update(original, identifier, initializer); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSPrimitiveType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSPrimitiveType.ts new file mode 100644 index 0000000000000000000000000000000000000000..ec491d6af434e0e7fafee8148949ab9dbcd7a8d0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSPrimitiveType.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSPrimitiveType } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaPrimitiveType } from '../../../generated/Es2pandaEnums'; + +export function updateETSPrimitiveType(original: ETSPrimitiveType, type: Es2pandaPrimitiveType): ETSPrimitiveType { + if (isSameNativeObject(type, original.primitiveType)) { + return original; + } + + const update = updateThenAttach(ETSPrimitiveType.updateETSPrimitiveType, attachModifiers); + return update(original, type); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReference.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReference.ts new file mode 100644 index 0000000000000000000000000000000000000000..c01c60ce4d9a34a58fa664df639c823951fab3cc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReference.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSTypeReference, ETSTypeReferencePart } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSTypeReference(original: ETSTypeReference, part?: ETSTypeReferencePart): ETSTypeReference { + if (isSameNativeObject(part, original.part)) { + return original; + } + + const update = updateThenAttach(ETSTypeReference.updateETSTypeReference, attachModifiers); + return update(original, part); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReferencePart.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReferencePart.ts new file mode 100644 index 0000000000000000000000000000000000000000..21fd568e3aefd881cd0be397d160d4224c6b2db6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSTypeReferencePart.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSTypeReferencePart, Expression, TSTypeParameterInstantiation } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSTypeReferencePart( + original: ETSTypeReferencePart, + name?: Expression, + typeParams?: TSTypeParameterInstantiation, + prev?: ETSTypeReferencePart +): ETSTypeReferencePart { + if ( + isSameNativeObject(name, original.name) && + isSameNativeObject(typeParams, original.typeParams) && + isSameNativeObject(prev, original.previous) + ) { + return original; + } + + const update = updateThenAttach(ETSTypeReferencePart.updateETSTypeReferencePart, attachModifiers); + return update(original, name, typeParams, prev); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUndefinedType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUndefinedType.ts new file mode 100644 index 0000000000000000000000000000000000000000..8c82286af129e062aab5d287a13774e3cf5de675 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUndefinedType.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSUndefinedType } from '../../../generated'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSUndefinedType(original: ETSUndefinedType): ETSUndefinedType { + /* TODO: no getter provided yet */ + + const update = updateThenAttach(ETSUndefinedType.updateETSUndefinedType, attachModifiers); + return update(original); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUnionType.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUnionType.ts new file mode 100644 index 0000000000000000000000000000000000000000..b58157d54220c6d098dfb01ee813d01e6a8203a5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ETSUnionType.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ETSUnionType, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateETSUnionType(original: ETSUnionType, types: readonly TypeNode[]): ETSUnionType { + if (isSameNativeObject(types, original.types)) { + return original; + } + + const update = updateThenAttach(ETSUnionType.updateETSUnionType, attachModifiers); + return update(original, types); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..4950ba1ffb34f4e2c6c21f0eab84cbd8fef592a2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { ExpressionStatement } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateExpressionStatement(original: ExpressionStatement, expression: AstNode): ExpressionStatement { + if (isSameNativeObject(expression, original.expression)) { + return original; + } + + const update = updateThenAttach(ExpressionStatement.update, attachModifiers); + return update(original, expression); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a7a5a73392f3c7c886ad43620ba5b75ca6f5c62 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AnnotationUsage, ScriptFunction } from '../../../generated'; +import { FunctionDeclaration } from '../types'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateFunctionDeclaration( + original: FunctionDeclaration, + scriptFunction: ScriptFunction, + isAnon: boolean, + annotations?: AnnotationUsage[] +): FunctionDeclaration { + if ( + isSameNativeObject(scriptFunction, original.scriptFunction) && + isSameNativeObject(isAnon, original.isAnon) && + isSameNativeObject(annotations, original.annotations) + ) { + return original; + } + + const update = updateThenAttach(FunctionDeclaration.update, attachModifiers); + return update(original, scriptFunction, isAnon, annotations); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..283ac7abc6bca0fbc26c5bb46fdbedc29f8ab46c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ScriptFunction } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { FunctionExpression } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateFunctionExpression(original: FunctionExpression, expression: ScriptFunction): FunctionExpression { + if (isSameNativeObject(expression, original.scriptFunction)) { + return original; + } + + const update = updateThenAttach(FunctionExpression.update, attachModifiers); + return update(original, expression); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Identifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Identifier.ts new file mode 100644 index 0000000000000000000000000000000000000000..b1534d34f0f857a9cce6f90eafa662ec6c7fd4a4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Identifier.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateIdentifier(original: Identifier, name: string, typeAnnotation?: TypeNode): Identifier { + if (isSameNativeObject(name, original.name) && isSameNativeObject(typeAnnotation, original.typeAnnotation)) { + return original; + } + + const update = updateThenAttach(Identifier.update2Identifier, attachModifiers); + return update(original, name, typeAnnotation); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e3e9275cf46b24ca9c1222562823fc704013b3b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { IfStatement } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateIfStatement( + original: IfStatement, + test: AstNode, + consequent: AstNode, + alternate?: AstNode +): IfStatement { + if ( + isSameNativeObject(test, original.test) && + isSameNativeObject(consequent, original.consequent) && + isSameNativeObject(alternate, original.alternate) + ) { + return original; + } + + const update = updateThenAttach(IfStatement.update, attachModifiers); + return update(original, test, consequent, alternate); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ImportSpecifier.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ImportSpecifier.ts new file mode 100644 index 0000000000000000000000000000000000000000..3b8d7cb865ace263cb0a7bd86cee96bcdcba8f3a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ImportSpecifier.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier, ImportSpecifier } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateImportSpecifier( + original: ImportSpecifier, + imported?: Identifier, + local?: Identifier +): ImportSpecifier { + if (isSameNativeObject(imported, original.imported) && isSameNativeObject(local, original.local)) { + return original; + } + + const update = updateThenAttach(ImportSpecifier.updateImportSpecifier, attachModifiers); + return update(original, imported, local); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..0ac375770340c14ad60f5340004587fc66a2ba4c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { MemberExpression } from '../to-be-generated/MemberExpression'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaMemberExpressionKind } from '../../../generated/Es2pandaEnums'; + +export function updateMemberExpression( + original: MemberExpression, + object: AstNode, + property: AstNode, + kind: Es2pandaMemberExpressionKind, + computed: boolean, + optional: boolean +): MemberExpression { + if ( + isSameNativeObject(object, original.object) && + isSameNativeObject(property, original.property) && + isSameNativeObject(kind, original.kind) && + isSameNativeObject(computed, original.computed) && + isSameNativeObject(optional, original.optional) + ) { + return original; + } + + const update = updateThenAttach(MemberExpression.update, attachModifiers); + return update(original, object, property, kind, computed, optional); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts new file mode 100644 index 0000000000000000000000000000000000000000..8bbd280f02c8928e582bbbce416ceb76f8947f05 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KInt } from '@koalaui/interop'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { MethodDefinition } from '../types'; +import { updateThenAttach } from '../utilities/private'; +import { Es2pandaMethodDefinitionKind } from '../../../generated/Es2pandaEnums'; +import { ScriptFunction } from '../../../generated'; + +export function updateMethodDefinition( + original: MethodDefinition, + kind: Es2pandaMethodDefinitionKind, + key: AstNode, + value: ScriptFunction, + modifiers: KInt, + isComputed: boolean +): MethodDefinition { + if ( + isSameNativeObject(kind, original.kind) && + isSameNativeObject(key, original.name) && + isSameNativeObject(value, original.scriptFunction) && + isSameNativeObject(modifiers, original.modifiers) + /* TODO: no getter for isComputed */ + ) { + return original; + } + + const update = updateThenAttach(MethodDefinition.update, (node: MethodDefinition, original: MethodDefinition) => + node.setOverloads(original.overloads) + ); + return update(original, kind, key, value, modifiers, isComputed); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OverloadInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NullLiteral.ts similarity index 61% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OverloadInfo.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NullLiteral.ts index 51800f06fb5ba90ea28e06494b93a7e561963945..af94b8190a753b3c12f5e16d2d322dbf72fe212c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/generated/peers/OverloadInfo.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NullLiteral.ts @@ -13,23 +13,12 @@ * limitations under the License. */ -import { - global, - passNode, - passNodeArray, - unpackNonNullableNode, - unpackNode, - unpackNodeArray, - assertValidPeer, - AstNode, - KNativePointer, - nodeByType, - ArktsObject, - unpackString -} from "../../reexport-for-generated" +import { NullLiteral } from '../../../generated'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; -export class OverloadInfo extends ArktsObject { - constructor(pointer: KNativePointer) { - super(pointer) - } -} \ No newline at end of file +export function updateNullLiteral(original: NullLiteral): NullLiteral { + /* TODO: no getter provided yet */ + + const update = updateThenAttach(NullLiteral.updateNullLiteral, attachModifiers); + return update(original); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts new file mode 100644 index 0000000000000000000000000000000000000000..1dfab1450328ddc197de0dec52c1d0b3b5ab60f9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NumberLiteral } from '../types'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, compose, updateThenAttach } from '../utilities/private'; + +export function updateNumberLiteral(original: NumberLiteral, value: number): NumberLiteral { + if (isSameNativeObject(value, original.value)) { + return original; + } + + const update = updateThenAttach( + compose(NumberLiteral.create), // TODO: No UpdateNumberLiteral, need to change this + attachModifiers + ); + return update(original, value); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..0567207f251f5777bac9212de56650fd63bd2332 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ObjectExpression, Property } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums'; + +export function updateObjectExpression( + original: ObjectExpression, + nodeType: Es2pandaAstNodeType, + properties: Property[], + trailingComma: boolean +): ObjectExpression { + if ( + isSameNativeObject(properties, original.properties) + /* TODO: no getter for nodeType */ + /* TODO: no getter for trailingComma */ + ) { + return original; + } + + const update = updateThenAttach(ObjectExpression.updateObjectExpression, attachModifiers); + return update(original, nodeType, properties, trailingComma); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Property.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Property.ts new file mode 100644 index 0000000000000000000000000000000000000000..88de0e1b1c8b8065748e1189512519af39550454 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/Property.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Expression, Property } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateProperty(original: Property, key?: Expression, value?: Expression): Property { + if (isSameNativeObject(key, original.key) && isSameNativeObject(value, original.value)) { + return original; + } + + const update = updateThenAttach(Property.updateProperty, attachModifiers); + return update(original, key, value); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ReturnStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ReturnStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..70ef11e29617c259acd2018400b4549e1f099468 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ReturnStatement.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Expression, ReturnStatement } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateReturnStatement(original: ReturnStatement, argument?: Expression): ReturnStatement { + if (isSameNativeObject(argument, original.argument)) { + return original; + } + + const update = updateThenAttach(ReturnStatement.update1ReturnStatement, attachModifiers); + return update(original, argument); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts new file mode 100644 index 0000000000000000000000000000000000000000..56add9ba7b5962dd24c1d6f540eb72064d114786 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { FunctionSignature, ScriptFunction } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { updateThenAttach } from '../utilities/private'; + +export function updateScriptFunction( + original: ScriptFunction, + databody: AstNode | undefined, + datasignature: FunctionSignature | undefined, + datafuncFlags: number, + dataflags: number +): ScriptFunction { + if ( + isSameNativeObject(databody, original.body) && + isSameNativeObject(datasignature?.params, original.params) && + isSameNativeObject(datasignature?.typeParams, original.typeParams) && + isSameNativeObject(datasignature?.returnType, original.returnTypeAnnotation) && + isSameNativeObject(datasignature?.hasReceiver, original.hasReceiver) && + isSameNativeObject(datafuncFlags, original.flags) && + isSameNativeObject(dataflags, original.modifiers) + ) { + return original; + } + + const update = updateThenAttach( + ScriptFunction.updateScriptFunction, + (node: ScriptFunction, original: ScriptFunction) => (!!original.id ? node.setIdent(original.id) : node), + (node: ScriptFunction, original: ScriptFunction) => node.setAnnotations(original.annotations) + ); + return update(original, databody, datasignature, datafuncFlags, dataflags); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StringLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StringLiteral.ts new file mode 100644 index 0000000000000000000000000000000000000000..67ed9923830c4480606af2448037a4c1f4e24de6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StringLiteral.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { StringLiteral } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateStringLiteral(original: StringLiteral, str: string): StringLiteral { + if (isSameNativeObject(str, original.str)) { + return original; + } + + const update = updateThenAttach(StringLiteral.update1StringLiteral, attachModifiers); + return update(original, str); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..a5e14b7b8d4c1b808e48986ea6ecb7cd22a03392 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ClassDefinition } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { StructDeclaration } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateStructDeclaration(original: StructDeclaration, definition: ClassDefinition): StructDeclaration { + if (isSameNativeObject(definition, original.definition)) { + return original; + } + + const update = updateThenAttach(StructDeclaration.update, attachModifiers); + return update(original, definition); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/SuperExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/SuperExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..9ee58986c98061e7c323db1c9432ae5c414408d6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/SuperExpression.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { SuperExpression } from '../../../generated'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateSuperExpression(original: SuperExpression): SuperExpression { + /* TODO: no getter provided yet */ + + const update = updateThenAttach(SuperExpression.updateSuperExpression, attachModifiers); + return update(original); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSAsExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSAsExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..fe4e590cb1c0c2a6d151dd6bcfb2207d7998a772 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSAsExpression.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Expression, TSAsExpression, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSAsExpression( + original: TSAsExpression, + expression: Expression | undefined, + typeAnnotation: TypeNode | undefined, + isConst: boolean +): TSAsExpression { + if ( + isSameNativeObject(expression, original.expr) && + isSameNativeObject(typeAnnotation, original.typeAnnotation) && + isSameNativeObject(isConst, original.isConst) + ) { + return original; + } + + const update = updateThenAttach(TSAsExpression.updateTSAsExpression, attachModifiers); + return update(original, expression, typeAnnotation, isConst); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSClassImplements.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSClassImplements.ts new file mode 100644 index 0000000000000000000000000000000000000000..120bdb7c5b0fd27c1304dfa38a7240c1e97b86a7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSClassImplements.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Expression, TSClassImplements, TSTypeParameterInstantiation } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSClassImplements( + original: TSClassImplements, + expression?: Expression, + typeParameters?: TSTypeParameterInstantiation +): TSClassImplements { + if (isSameNativeObject(expression, original.expr) && isSameNativeObject(typeParameters, original.typeParameters)) { + return original; + } + + const update = updateThenAttach(TSClassImplements.updateTSClassImplements, attachModifiers); + return update(original, expression, typeParameters); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceBody.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceBody.ts new file mode 100644 index 0000000000000000000000000000000000000000..0b66dc6caa3b8347f4a2afb267dbf49cdbcf97b6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceBody.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TSInterfaceBody } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSInterfaceBody(original: TSInterfaceBody, body: readonly AstNode[]): TSInterfaceBody { + if (isSameNativeObject(body, original.body)) { + return original; + } + + const update = updateThenAttach(TSInterfaceBody.updateTSInterfaceBody, attachModifiers); + return update(original, body); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..06c2212932d6ef1cbd7ca2e15fbff3d1fa5c0fd9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TSInterfaceDeclaration, TSInterfaceHeritage } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { AstNode } from '../peers/AstNode'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSInterfaceDeclaration( + original: TSInterfaceDeclaration, + _extends: readonly TSInterfaceHeritage[], + id: AstNode | undefined, + typeParams: AstNode | undefined, + body: AstNode | undefined, + isStatic: boolean, + isExternal: boolean +): TSInterfaceDeclaration { + if ( + isSameNativeObject(_extends, original.extends) && + isSameNativeObject(id, original.id) && + isSameNativeObject(typeParams, original.typeParams) && + isSameNativeObject(body, original.body) && + isSameNativeObject(isStatic, original.isStatic) && + isSameNativeObject(isExternal, original.isFromExternal) + ) { + return original; + } + + const update = updateThenAttach( + TSInterfaceDeclaration.updateTSInterfaceDeclaration, + attachModifiers, + (node: TSInterfaceDeclaration, original: TSInterfaceDeclaration) => node.setAnnotations(original.annotations) + ); + return update(original, _extends, id, typeParams, body, isStatic, isExternal); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSNonNullExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSNonNullExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..19834016da7ff16c176f61e1be22dec8c7761c83 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSNonNullExpression.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Expression, TSNonNullExpression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSNonNullExpression(original: TSNonNullExpression, expr?: Expression): TSNonNullExpression { + if (isSameNativeObject(expr, original.expr)) { + return original; + } + + const update = updateThenAttach(TSNonNullExpression.updateTSNonNullExpression, attachModifiers); + return update(original, expr); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..c56153932b658254085c24bae2e492d5c06e79c8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier, TSTypeAliasDeclaration, TSTypeParameterDeclaration, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSTypeAliasDeclaration( + original: TSTypeAliasDeclaration, + id?: Identifier, + typeParams?: TSTypeParameterDeclaration, + typeAnnotation?: TypeNode +): TSTypeAliasDeclaration { + if ( + isSameNativeObject(id, original.id) && + isSameNativeObject(typeParams, original.typeParams) && + isSameNativeObject(typeAnnotation, original.typeAnnotation) + ) { + return original; + } + + const update = updateThenAttach( + TSTypeAliasDeclaration.updateTSTypeAliasDeclaration, + attachModifiers, + (node: TSTypeAliasDeclaration, original: TSTypeAliasDeclaration) => node.setAnnotations(original.annotations) + ); + return update(original, id, typeParams, typeAnnotation); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts new file mode 100644 index 0000000000000000000000000000000000000000..2c90d01a799ba61f789d6d6ba04bbe0ad1bd5606 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier, TSTypeParameter, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSTypeParameter( + original: TSTypeParameter, + name?: Identifier, + constraint?: TypeNode, + defaultType?: TypeNode +): TSTypeParameter { + if ( + isSameNativeObject(name, original.name) && + isSameNativeObject(constraint, original.constraint) && + isSameNativeObject(defaultType, original.defaultType) + ) { + return original; + } + + const update = updateThenAttach(TSTypeParameter.updateTSTypeParameter, attachModifiers); + return update(original, name, constraint, defaultType); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..a503cede02264ca1780ed901eddf6f087f75b9f4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterDeclaration.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TSTypeParameter, TSTypeParameterDeclaration } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSTypeParameterDeclaration( + original: TSTypeParameterDeclaration, + params: readonly TSTypeParameter[], + requiredParams: number +): TSTypeParameterDeclaration { + if (isSameNativeObject(params, original.params) && isSameNativeObject(requiredParams, original.requiredParams)) { + return original; + } + + const update = updateThenAttach(TSTypeParameterDeclaration.updateTSTypeParameterDeclaration, attachModifiers); + return update(original, params, requiredParams); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterInstantiation.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterInstantiation.ts new file mode 100644 index 0000000000000000000000000000000000000000..2208095ee006605ab8a60c87b79a92d5a44a0452 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameterInstantiation.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TSTypeParameterInstantiation, TypeNode } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTSTypeParameterInstantiation( + original: TSTypeParameterInstantiation, + params: readonly TypeNode[] +): TSTypeParameterInstantiation { + if (isSameNativeObject(params, original.params)) { + return original; + } + + const update = updateThenAttach(TSTypeParameterInstantiation.updateTSTypeParameterInstantiation, attachModifiers); + return update(original, params); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TemplateLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TemplateLiteral.ts new file mode 100644 index 0000000000000000000000000000000000000000..19f3472597adac110b0c3b1d869db9bc7c99a120 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TemplateLiteral.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TemplateLiteral, TemplateElement, Expression } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTemplateLiteral( + original: TemplateLiteral, + quasis: readonly TemplateElement[], + expressions: readonly Expression[], + multilineString: string +): TemplateLiteral { + if ( + isSameNativeObject(quasis, original.quasis) && + isSameNativeObject(expressions, original.expressions) + ) { + return original; + } + + const update = updateThenAttach(TemplateLiteral.updateTemplateLiteral, attachModifiers); + return update(original, quasis, expressions, multilineString); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ThisExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ThisExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..5dd490f659563832722f7337f3dec283f8e2ff28 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/ThisExpression.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ThisExpression } from '../../../generated'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateThisExpression(original: ThisExpression): ThisExpression { + /* TODO: no getter provided yet */ + + const update = updateThenAttach(ThisExpression.updateThisExpression, attachModifiers); + return update(original); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts new file mode 100644 index 0000000000000000000000000000000000000000..511b37e84b65bd80d6586cddeb0e9f16c8931238 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { LabelPair } from '../../../generated/peers/LabelPair'; +import { BlockStatement, CatchClause, Statement, TryStatement } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateTryStatement( + original: TryStatement, + block: BlockStatement | undefined, + catchClauses: readonly CatchClause[], + finalizer: BlockStatement | undefined, + finalizerInsertionsLabelPair: readonly LabelPair[], + finalizerInsertionsStatement: readonly Statement[] +): TryStatement { + if ( + isSameNativeObject(block, original.block) && + isSameNativeObject(catchClauses, original.catchClauses) && + isSameNativeObject(finalizer, original.finallyBlock) + /* TODO: no getter for finalizerInsertionsLabelPair */ + /* TODO: no getter for finalizerInsertionsStatement */ + ) { + return original; + } + + const update = updateThenAttach(TryStatement.updateTryStatement, attachModifiers); + return update(original, block, catchClauses, finalizer, finalizerInsertionsLabelPair, finalizerInsertionsStatement); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/UndefinedLiteral.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/UndefinedLiteral.ts new file mode 100644 index 0000000000000000000000000000000000000000..57830908859b7d502fcd0560ee07cb36e07665a2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/UndefinedLiteral.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { UndefinedLiteral } from '../../../generated'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; + +export function updateUndefinedLiteral(original: UndefinedLiteral): UndefinedLiteral { + /* TODO: no getter provided yet */ + + const update = updateThenAttach(UndefinedLiteral.updateUndefinedLiteral, attachModifiers); + return update(original); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts new file mode 100644 index 0000000000000000000000000000000000000000..4a988379522c61960008a535b48cba2f96ec3ac8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KInt } from '@koalaui/interop'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { VariableDeclaration, VariableDeclarator } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaVariableDeclarationKind } from '../../../generated/Es2pandaEnums'; + +export function updateVariableDeclaration( + original: VariableDeclaration, + modifiers: KInt, + kind: Es2pandaVariableDeclarationKind, + declarators: readonly VariableDeclarator[] +): VariableDeclaration { + if ( + isSameNativeObject(modifiers, original.modifiers) && + isSameNativeObject(kind, original.declarationKind) && + isSameNativeObject(declarators, original.declarators) + ) { + return original; + } + + const update = updateThenAttach( + VariableDeclaration.update, + attachModifiers, + (node: VariableDeclaration, original: VariableDeclaration) => node.setAnnotations(original.annotations) + ); + return update(original, modifiers, kind, declarators); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts new file mode 100644 index 0000000000000000000000000000000000000000..7e23431aefdfbc87dad6469125c0d8b1ac61e416 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Identifier } from '../../../generated'; +import { isSameNativeObject } from '../peers/ArktsObject'; +import { VariableDeclarator } from '../types'; +import { attachModifiers, updateThenAttach } from '../utilities/private'; +import { Es2pandaVariableDeclaratorFlag } from '../../../generated/Es2pandaEnums'; +import { AstNode } from '../peers/AstNode'; + +export function updateVariableDeclarator( + original: VariableDeclarator, + flag: Es2pandaVariableDeclaratorFlag, + name: Identifier, + initializer: AstNode | undefined +): VariableDeclarator { + if ( + isSameNativeObject(name, original.name) && + isSameNativeObject(initializer, original.initializer) + /* TODO: no getter for flag */ + ) { + return original; + } + + const update = updateThenAttach(VariableDeclarator.update, attachModifiers); + return update(original, flag, name, initializer); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ArktsObject.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ArktsObject.ts new file mode 100644 index 0000000000000000000000000000000000000000..bfa1e6e090070bf9cec0c22de33a385cb478a88b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ArktsObject.ts @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KNativePointer } from '@koalaui/interop'; + +export abstract class ArktsObject { + protected constructor(peer: KNativePointer) { + this.peer = peer; + } + + readonly peer: KNativePointer; +} + +export function isSameNativeObject( + first: T | readonly T[], + second: T | readonly T[] +): boolean { + if (Array.isArray(first) && Array.isArray(second)) { + if (first.length !== second.length) { + return false; + } + for (let i = 0; i < first.length; i++) { + if (!isSameNativeObject(first[i], second[i])) { + return false; + } + } + return true; + } + if (first instanceof ArktsObject && second instanceof ArktsObject) { + return first?.peer === second?.peer; + } + return first === second; +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/AstNode.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/AstNode.ts new file mode 100644 index 0000000000000000000000000000000000000000..7e440465bdf45b4cd83111c3f45d0b4e5a00a7d5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/AstNode.ts @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KNativePointer as KPtr } from '@koalaui/interop'; + +import { AstNode } from "../../../arkts-api/peers/AstNode" + +export { AstNode } + +export class UnsupportedNode extends AstNode { + constructor(peer: KPtr) { + super(peer); + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Config.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Config.ts new file mode 100644 index 0000000000000000000000000000000000000000..cde8c26fcb172d5d6d7e344275881bc6cca08219 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Config.ts @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from "./ArktsObject" +import { global } from "../static/global" +import { passStringArray } from "../utilities/private" +import { KNativePointer } from "@koalaui/interop" + +export class Config extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer) + // TODO: wait for getter from api + this.path = `` + } + + static create( + input: readonly string[] + ): Config { + console.log("[TS WRAPPER] CREATE CONFIG"); + return new Config( + global.es2panda._CreateConfig(input.length, passStringArray(input)) + ) + } + + static createDefault(): Config { + if (global.configIsInitialized()) { + console.warn(`Config already initialized`) + return new Config( + global.config + ) + } + return new Config( + global.es2panda._CreateConfig( + 4, + passStringArray(["", "--arktsconfig", "./arktsconfig.json", global.filePath]) + ) + ) + } + + readonly path: string +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Context.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Context.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e2f334c2bf7fa2c5d40326c459b5e074cdb87c1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Context.ts @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { throwError, filterSource } from '../../../utils'; +import { passString } from '../utilities/private'; +import { KBoolean, KNativePointer } from '@koalaui/interop'; +import { AstNode } from './AstNode'; +import { Program } from './Program'; +export class Context extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + + static createFromString(source: string): Context { + if (!global.configIsInitialized()) { + throwError(`Config not initialized`); + } + return new Context( + global.es2panda._CreateContextFromString(global.config, passString(source), passString(global.filePath)) + ); + } + + static createCacheContextFromFile( + configPtr: KNativePointer, + fileName: string, + globalContextPtr: KNativePointer, + isExternal: KBoolean + ): Context { + return new Context( + global.es2panda._CreateCacheContextFromFile(configPtr, passString(fileName), globalContextPtr, isExternal) + ); + } + + static destroyAndRecreate(ast: AstNode): Context { + console.log('[TS WRAPPER] DESTROY AND RECREATE'); + const source = filterSource(ast.dumpSrc()); + global.es2panda._DestroyContext(global.context); + global.compilerContext = Context.createFromString(source) as any; // TODO commonize Context + + return new Context(global.context); + } + + get program(): Program { + return new Program(global.es2panda._ContextProgram(this.peer)); + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Diagnostic.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Diagnostic.ts new file mode 100644 index 0000000000000000000000000000000000000000..79f24ec0bf1a01a3275c4345956b9695d8ddce5c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Diagnostic.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { KNativePointer } from '@koalaui/interop'; +import { DiagnosticKind } from './DiagnosticKind'; +import { passStringArray } from '../utilities/private'; +import { SourcePosition } from './SourcePosition'; +import { SourceRange } from './SourceRange'; +import { DiagnosticInfo } from './DiagnosticInfo'; +import { SuggestionInfo } from './SuggestionInfo'; + +export class Diagnostic extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + static logDiagnostic(kind: DiagnosticKind, pos: SourcePosition, ...args: string[]): void { + global.es2panda._LogDiagnostic(global.context, kind.peer, passStringArray(args), args.length, pos.peer); + } + + static logDiagnosticWithSuggestion(diagnosticInfo: DiagnosticInfo, suggestionInfo: SuggestionInfo, + range: SourceRange): void { + global.es2panda._LogDiagnosticWithSuggestion(global.context, diagnosticInfo.peer, suggestionInfo.peer, range.peer); + } + +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..d67f7e839a14ae829b903d328300179728772f6b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { KNativePointer } from '@koalaui/interop'; +import { DiagnosticKind } from './DiagnosticKind'; +import { passStringArray } from '../utilities/private'; + +export class DiagnosticInfo extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + + static create(kind: DiagnosticKind, ...args: string[]): DiagnosticInfo { + return new DiagnosticInfo( + global.es2panda._CreateDiagnosticInfo(global.context, kind.peer, passStringArray(args), args.length) + ); + } + +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts new file mode 100644 index 0000000000000000000000000000000000000000..e654783b7420065877cf3b0268194a6335ede903 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { KNativePointer } from '@koalaui/interop'; +import { Es2pandaPluginDiagnosticType as PluginDiagnosticType } from '../../../generated/Es2pandaEnums'; + +export { PluginDiagnosticType } + +export class DiagnosticKind extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + + static create(message: string, type: PluginDiagnosticType): DiagnosticKind { + return new DiagnosticKind( + global.es2panda._CreateDiagnosticKind(global.context, message, type) + ); + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts new file mode 100644 index 0000000000000000000000000000000000000000..34be19ffb5a69350a54d41941c3071869a239ea2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from "./ArktsObject" +import { global } from "../static/global" +import { KNativePointer } from "@koalaui/interop" + +export class ImportPathManager extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer) + } + + static create(): ImportPathManager { + return new ImportPathManager( + global.es2panda._ETSParserGetImportPathManager(global.context) + ); + } + + resolvePath(currentModulePath: string, importPath: string): string { + return ''; // TODO: no longer support this. + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Program.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Program.ts new file mode 100644 index 0000000000000000000000000000000000000000..09894479f24e53ef292ddea43a8f098abef3bd3b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/Program.ts @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from "./ArktsObject" +import { global } from "../static/global" +import { acceptNativeObjectArrayResult, unpackString } from "../utilities/private" +import { KNativePointer } from "@koalaui/interop" +import { EtsScript } from "../types" + +enum SkipPhaseResult { + NOT_COMPUTED, + CAN_SKIP, + CANNOT_SKIP, +} + +export class Program extends ArktsObject { + private canSkipPhaseResult: SkipPhaseResult; + + constructor(peer: KNativePointer) { + super(peer); + this.canSkipPhaseResult = SkipPhaseResult.NOT_COMPUTED; + } + + get astNode(): EtsScript { + return new EtsScript(global.es2panda._ProgramAst(global.context, this.peer)); + } + + get externalSources(): ExternalSource[] { + return acceptNativeObjectArrayResult( + global.es2panda._ProgramExternalSources(global.context, this.peer), + (instance: KNativePointer) => new ExternalSource(instance) + ); + } + + get directExternalSources(): ExternalSource[] { + return acceptNativeObjectArrayResult( + global.es2panda._ProgramDirectExternalSources(global.context, this.peer), + (instance: KNativePointer) => new ExternalSource(instance) + ); + } + + get fileName(): string { + return unpackString(global.generatedEs2panda._ProgramFileNameConst(global.context, this.peer)); + } + + get fileNameWithExtension(): string { + return unpackString(global.generatedEs2panda._ProgramFileNameWithExtensionConst(global.context, this.peer)); + } + + get globalAbsName(): string { + return unpackString(global.es2panda._ETSParserGetGlobalProgramAbsName(global.context)); + } + + get moduleName(): string { + return unpackString(global.generatedEs2panda._ProgramModuleNameConst(global.context, this.peer)); + } + + isASTLowered(): boolean { + return global.generatedEs2panda._ProgramIsASTLoweredConst(global.context, this.peer); + } + + canSkipPhases(): boolean { + if (this.canSkipPhaseResult === SkipPhaseResult.CAN_SKIP) { + return true; + } else if (this.canSkipPhaseResult === SkipPhaseResult.CANNOT_SKIP) { + return false; + } + if (global.es2panda._ProgramCanSkipPhases(global.context, this.peer)) { + this.canSkipPhaseResult = SkipPhaseResult.CAN_SKIP; + return true; + } else { + this.canSkipPhaseResult = SkipPhaseResult.CANNOT_SKIP; + return false; + } + } +} + +export class ExternalSource extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer) + } + + getName(): string { + return unpackString(global.es2panda._ExternalSourceName(this.peer)); + } + + get programs(): Program[] { + return acceptNativeObjectArrayResult( + global.es2panda._ExternalSourcePrograms(this.peer), + (instance: KNativePointer) => new Program(instance) + ); + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourcePosition.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourcePosition.ts new file mode 100644 index 0000000000000000000000000000000000000000..9d84847a6c09a6c588e278f10c9b1fded3da0ff3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourcePosition.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from "./ArktsObject" +import { global } from "../static/global" +import { KNativePointer } from "@koalaui/interop" + +export class SourcePosition extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer) + } + + static create(index: number, line: number): SourcePosition { + return new SourcePosition( + global.es2panda._CreateSourcePosition(global.context, index, line) + ); + } + + index(): number { + return global.es2panda._SourcePositionIndex(global.context, this.peer); + } + + line(): number { + return global.es2panda._SourcePositionLine(global.context, this.peer); + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourceRange.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourceRange.ts new file mode 100644 index 0000000000000000000000000000000000000000..5ecee4ccbd4f2d9b694edbd9968daff4a7d7d4ab --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SourceRange.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { SourcePosition } from './SourcePosition'; +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { KNativePointer } from '@koalaui/interop'; + +export class SourceRange extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + + static create(start: SourcePosition, end: SourcePosition): SourceRange { + return new SourceRange( + global.es2panda._CreateSourceRange(global.context, start.peer, end.peer) + ); + } + + start(): SourcePosition { + return new SourcePosition(global.es2panda._SourceRangeStart(global.context, this.peer)); + } + + end(): SourcePosition { + return new SourcePosition(global.es2panda._SourceRangeEnd(global.context, this.peer)); + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb43685c988fc48965db39e65557d94b622c9a1a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ArktsObject } from './ArktsObject'; +import { global } from '../static/global'; +import { KNativePointer } from '@koalaui/interop'; +import { DiagnosticKind } from './DiagnosticKind'; +import { passStringArray } from '../utilities/private'; + +export class SuggestionInfo extends ArktsObject { + constructor(peer: KNativePointer) { + super(peer); + } + + static create(kind: DiagnosticKind, substitutionCode: string, ...args: string[]): SuggestionInfo { + return new SuggestionInfo( + global.es2panda._CreateSuggestionInfo(global.context, kind.peer, passStringArray(args), args.length, substitutionCode) + ); + } + +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/global.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/global.ts new file mode 100644 index 0000000000000000000000000000000000000000..a2ee6823d91159400a8d7811379c8b8c63c0e514 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/global.ts @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { global } from "../../../arkts-api/static/global" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/globalUtils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/globalUtils.ts new file mode 100644 index 0000000000000000000000000000000000000000..eb982befe3d1625491c74d8ac87eec5fd8c27ea8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/static/globalUtils.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KNativePointer } from "@koalaui/interop"; +import { Context } from "../peers/Context"; +import { global } from "./global"; +import { clearNodeCache } from "../class-by-peer"; + +export function getOrUpdateGlobalContext(peer: KNativePointer): Context { + if (!global.compilerContext || global.context !== peer) { + clearNodeCache(); + global.compilerContext = new Context(peer) as any; // TODO commize Context + } + return global.compilerContext as any; +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts new file mode 100644 index 0000000000000000000000000000000000000000..781a3b63be36f98340113e6f6a3ae97d609fec33 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums'; +import { Expression } from '../../../generated'; +import { + assertValidPeer, + AstNode, + Es2pandaMemberExpressionKind, + KNativePointer, + passNode, + unpackNonNullableNode, + global, +} from '../../../reexport-for-generated'; + +export class MemberExpression extends Expression { + constructor(peer: KNativePointer) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_MEMBER_EXPRESSION); + super(peer); + } + + static create( + object: AstNode, + property: AstNode, + kind: Es2pandaMemberExpressionKind, + computed: boolean, + optional: boolean + ): MemberExpression { + return new MemberExpression( + global.generatedEs2panda._CreateMemberExpression( + global.context, + passNode(object), + passNode(property), + kind, + computed, + optional + ) + ); + } + + static update( + node: MemberExpression, + object: AstNode, + property: AstNode, + kind: Es2pandaMemberExpressionKind, + computed: boolean, + optional: boolean + ): MemberExpression { + return new MemberExpression( + global.generatedEs2panda._UpdateMemberExpression( + global.context, + node.peer, + passNode(object), + passNode(property), + kind, + computed, + optional + ) + ); + } + + protected override dumpMessage(): string { + return ` `; + } + + get object(): AstNode { + return unpackNonNullableNode(global.generatedEs2panda._MemberExpressionObject(global.context, this.peer)); + } + + get property(): AstNode { + return unpackNonNullableNode(global.generatedEs2panda._MemberExpressionProperty(global.context, this.peer)); + } + + get kind(): Es2pandaMemberExpressionKind { + return global.generatedEs2panda._MemberExpressionKindConst(global.context, this.peer); + } + + get computed(): boolean { + return global.generatedEs2panda._MemberExpressionIsComputedConst(global.context, this.peer); + } + + get optional(): boolean { + return false; // todo: no corresponding method in es2panda + } + + /** @deprecated */ + setObject(object_arg?: Expression): this { + global.generatedEs2panda._MemberExpressionSetObject(global.context, this.peer, passNode(object_arg)); + return this; + } + /** @deprecated */ + setProperty(prop?: Expression): this { + global.generatedEs2panda._MemberExpressionSetProperty(global.context, this.peer, passNode(prop)); + return this; + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/types.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/types.ts new file mode 100644 index 0000000000000000000000000000000000000000..6ede1cd65ead5ef631cc39c87d268ffd0744872c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/types.ts @@ -0,0 +1,907 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { global } from '../../arkts-api/static/global'; +import { KInt, KNativePointer, KNativePointer as KPtr, nullptr } from '@koalaui/interop'; +import { + Es2pandaAstNodeType, + Es2pandaContextState, + Es2pandaMethodDefinitionKind, + Es2pandaTokenType, + Es2pandaVariableDeclarationKind, + Es2pandaVariableDeclaratorFlag, +} from '../../generated/Es2pandaEnums'; +import { + allFlags, + arrayOfNullptr, + assertValidPeer, + passNode, + passNodeArray, + passString, + unpackNode, + unpackNodeArray, + unpackNonNullableNode, + updatePeerByNode, +} from './utilities/private'; +import { proceedToState } from './utilities/public'; +import { AstNode } from './peers/AstNode'; +import { Config } from './peers/Config'; +import { Context } from './peers/Context'; +import { nodeByType } from './class-by-peer'; +import { MemberExpression } from './to-be-generated/MemberExpression'; +import { + AnnotationUsage, + ArrayExpression, + BlockStatement, + ClassDefinition, + ETSTypeReference, + ETSTypeReferencePart, + Expression, + Identifier, + Literal, + ObjectExpression, + ScriptFunction, + TSTypeParameterDeclaration, + TSTypeParameterInstantiation, + TypeNode, +} from '../../generated'; +import { createCallExpression, updateCallExpression } from 'src/arkts-api/node-utilities/CallExpression'; + +export class EtsScript extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE); + super(peer); + } + + static fromContext(): EtsScript { + console.log('[TS WRAPPER] GET AST FROM CONTEXT'); + return new EtsScript( + global.es2panda._ProgramAst(global.context, global.es2panda._ContextProgram(global.context)) + ); + } + + /** + * @deprecated + */ + static createFromSource( + source: string, + state: Es2pandaContextState = Es2pandaContextState.ES2PANDA_STATE_PARSED + ): EtsScript { + if (!global.configIsInitialized()) { + global.config = Config.createDefault().peer; + } + global.compilerContext = Context.createFromString(source) as any; // TODO commonize context + proceedToState(state, global.context); + return new EtsScript( + global.es2panda._ProgramAst(global.context, global.es2panda._ContextProgram(global.context)) + ); + } + + /** + * @deprecated + */ + static updateByStatements(node: EtsScript, statements: readonly AstNode[]): EtsScript { + global.generatedEs2panda._BlockStatementSetStatements( + global.context, + node.peer, + passNodeArray(statements), + statements.length + ); + return node; + } + + get statements(): readonly AstNode[] { + return unpackNodeArray(global.generatedEs2panda._BlockStatementStatements(global.context, this.peer)); + } + + set statements(nodes: readonly AstNode[]) { + global.generatedEs2panda._BlockStatementSetStatements( + global.context, + this.peer, + passNodeArray(nodes), + nodes.length + ); + } +} + +export class ExpressionStatement extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_EXPRESSION_STATEMENT); + super(peer); + } + + static create(expression: AstNode): ExpressionStatement { + return new ExpressionStatement( + global.generatedEs2panda._CreateExpressionStatement(global.context, expression.peer) + ); + } + + static update(node: ExpressionStatement, expression: AstNode): ExpressionStatement { + return new ExpressionStatement( + global.generatedEs2panda._UpdateExpressionStatement(global.context, node.peer, expression.peer) + ); + } + + get expression(): AstNode { + return unpackNonNullableNode( + global.generatedEs2panda._ExpressionStatementGetExpressionConst(global.context, this.peer) + ); + } + /** @deprecated */ + setExpression(expr?: Expression): this { + global.generatedEs2panda._ExpressionStatementSetExpression(global.context, this.peer, passNode(expr)); + return this; + } +} + +// TODO: +// the CallExpression idl Create signature doesn't include the trailing block at all. +// Need to clarify with the compiler people if they will provide create signature with a trailing block argument. +export class CallExpression extends Expression { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_CALL_EXPRESSION); + super(peer); + this.expression = unpackNonNullableNode( + global.generatedEs2panda._CallExpressionCallee(global.context, this.peer) + ); + this.typeParams = unpackNode(global.generatedEs2panda._CallExpressionTypeParams(global.context, this.peer)); + this.typeArguments = this.typeParams + ? unpackNodeArray( + global.generatedEs2panda._TSTypeParameterInstantiationParamsConst( + global.context, + this.typeParams.peer + ) + ) + : undefined; + this.arguments = unpackNodeArray(global.generatedEs2panda._CallExpressionArguments(global.context, this.peer)); + } + + static create( + expression: AstNode, + typeArguments: readonly TypeNode[] | undefined, + args: readonly AstNode[] | undefined, + isOptional: boolean = false, + trailingComma: boolean = false + ): CallExpression { + const peer = global.generatedEs2panda._CreateCallExpression( + global.context, + passNode(expression), + passNodeArray(args), + args?.length ?? 0, + typeArguments + ? passNode(TSTypeParameterInstantiation.createTSTypeParameterInstantiation(typeArguments)) + : nullptr, + isOptional, + trailingComma + ); + return new CallExpression(peer); + } + + static update( + node: CallExpression, + expression: AstNode, + typeArguments: readonly TypeNode[] | undefined, + args: readonly AstNode[] | undefined, + isOptional: boolean = false, + trailingComma: boolean = false + ): CallExpression { + const other = CallExpression.create(expression, typeArguments, args, isOptional, trailingComma) + const peer = global.generatedEs2panda._UpdateCallExpression1( + global.context, + node.peer, + other.peer, + ); + return new CallExpression(peer); + } + + get trailingBlock(): BlockStatement | undefined { + return unpackNode(global.generatedEs2panda._CallExpressionTrailingBlockConst(global.context, this.peer)); + } + + setTralingBlock(trailingBlock: BlockStatement | undefined): this { + if (!trailingBlock) return this; + global.generatedEs2panda._CallExpressionSetTrailingBlock(global.context, this.peer, trailingBlock.peer); + return this; + } + + /** @deprecated */ + setCallee(callee?: Expression): this { + global.generatedEs2panda._CallExpressionSetCallee(global.context, this.peer, passNode(callee)); + return this; + } + + /** @deprecated */ + setTypeParams(typeParams?: TSTypeParameterInstantiation): this { + global.generatedEs2panda._CallExpressionSetTypeParams(global.context, this.peer, passNode(typeParams)); + return this; + } + + readonly expression: AstNode; // Expression + readonly typeArguments: readonly TypeNode[] | undefined; + readonly arguments: readonly Expression[]; + readonly typeParams: TSTypeParameterInstantiation | undefined; +} + +export class AssignmentExpression extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_EXPRESSION); + super(peer); + } + + static create(left: AstNode, assignmentOperator: Es2pandaTokenType, right: AstNode): AssignmentExpression { + return new AssignmentExpression( + global.generatedEs2panda._CreateAssignmentExpression( + global.context, + passNode(left), + passNode(right), + assignmentOperator + ) + ); + } + + static update( + node: AssignmentExpression, + left: AstNode, + assignmentOperator: Es2pandaTokenType, + right: AstNode + ): AssignmentExpression { + return new AssignmentExpression( + global.generatedEs2panda._UpdateAssignmentExpression( + global.context, + node.peer, + passNode(left), + passNode(right), + assignmentOperator + ) + ); + } + + get left(): Expression | undefined { + return unpackNode(global.generatedEs2panda._AssignmentExpressionLeftConst(global.context, this.peer)); + } + get right(): Expression | undefined { + return unpackNode(global.generatedEs2panda._AssignmentExpressionRightConst(global.context, this.peer)); + } + get operatorType(): Es2pandaTokenType { + return global.generatedEs2panda._AssignmentExpressionOperatorTypeConst(global.context, this.peer); + } + /** @deprecated */ + setRight(expr?: Expression): this { + global.generatedEs2panda._AssignmentExpressionSetRight(global.context, this.peer, passNode(expr)); + return this; + } + /** @deprecated */ + setLeft(expr?: Expression): this { + global.generatedEs2panda._AssignmentExpressionSetLeft(global.context, this.peer, passNode(expr)); + return this; + } + setOperatorType(operatorType: Es2pandaTokenType): this { + global.generatedEs2panda._AssignmentExpressionSetOperatorType(global.context, this.peer, operatorType); + return this; + } +} + +export class TSUnionType extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_TS_UNION_TYPE); + super(peer); + this.types = unpackNodeArray(global.generatedEs2panda._TSUnionTypeTypesConst(global.context, this.peer)); + } + + static create(node: undefined | TSUnionType, types: AstNode[]): TSUnionType { + return new TSUnionType( + updatePeerByNode( + global.generatedEs2panda._CreateTSUnionType(global.context, passNodeArray(types), types.length), + node + ) + ); + } + + readonly types: readonly AstNode[]; +} + +export class NumberLiteral extends Literal { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL); + super(peer); + this.value = 0.0; + } + + static create(value: number): NumberLiteral { + return new NumberLiteral(global.es2panda._CreateNumberLiteral(global.context, value)); + } + + protected override dumpMessage(): string { + return ` `; + } + + readonly value: number = 0.0; +} + +export class ArrowFunctionExpression extends Expression { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION); + super(peer); + this.scriptFunction = unpackNonNullableNode( + global.generatedEs2panda._ArrowFunctionExpressionFunction(global.context, this.peer) + ); + } + + static create(func: ScriptFunction): ArrowFunctionExpression { + return new ArrowFunctionExpression( + global.generatedEs2panda._CreateArrowFunctionExpression(global.context, passNode(func)) + ); + } + + static update(node: ArrowFunctionExpression, func: ScriptFunction): ArrowFunctionExpression { + return new ArrowFunctionExpression( + global.generatedEs2panda._UpdateArrowFunctionExpression(global.context, node.peer, passNode(func)) + ); + } + + get annotations(): AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ArrowFunctionExpressionAnnotations(global.context, this.peer)); + } + + setAnnotations(annotations: AnnotationUsage[]): this { + global.generatedEs2panda._ArrowFunctionExpressionSetAnnotations( + global.context, + this.peer, + passNodeArray(annotations), + annotations.length + ); + + return this; + } + + readonly scriptFunction: ScriptFunction; +} + +export class FunctionDeclaration extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_DECLARATION); + super(peer); + this.scriptFunction = unpackNonNullableNode( + global.generatedEs2panda._FunctionDeclarationFunction(global.context, this.peer) + ); + this.parameters = unpackNodeArray( + global.generatedEs2panda._ScriptFunctionParams(global.context, this.scriptFunction.peer) + ); + this.name = unpackNode(global.generatedEs2panda._ScriptFunctionId(global.context, this.scriptFunction.peer)); + this.body = unpackNode(global.generatedEs2panda._ScriptFunctionBody(global.context, this.scriptFunction.peer)); + this.typeParamsDecl = unpackNode( + global.generatedEs2panda._ScriptFunctionTypeParams(global.context, this.scriptFunction.peer) + ); + this.returnType = unpackNode( + global.generatedEs2panda._ScriptFunctionReturnTypeAnnotation(global.context, this.scriptFunction.peer) + ); + this.isAnon = global.generatedEs2panda._FunctionDeclarationIsAnonymousConst(global.context, this.peer); + } + + static create( + scriptFunction: ScriptFunction, + isAnon: boolean, + annotations?: AnnotationUsage[] + ): FunctionDeclaration { + const res = new FunctionDeclaration( + global.generatedEs2panda._CreateFunctionDeclaration( + global.context, + scriptFunction.peer, + // TODO: support annotations + arrayOfNullptr, + 0, + isAnon + ) + ); + // TODO: maybe wrong + res.modifiers = scriptFunction.modifiers; + if (annotations) { + res.annotations = annotations; + } + return res; + } + + static update( + node: FunctionDeclaration, + scriptFunction: ScriptFunction, + isAnon: boolean, + annotations?: AnnotationUsage[] + ): FunctionDeclaration { + const res = new FunctionDeclaration( + global.generatedEs2panda._UpdateFunctionDeclaration( + global.context, + node.peer, + scriptFunction.peer, + // TODO: support annotations + passNodeArray(annotations), + 0, + isAnon + ) + ); + if (annotations) { + res.annotations = annotations; + } + return res; + } + + get annotations(): AnnotationUsage[] { + return unpackNodeArray( + global.generatedEs2panda._FunctionDeclarationAnnotationsConst(global.context, this.peer) + ); + } + + set annotations(newAnnotations: AnnotationUsage[]) { + global.generatedEs2panda._FunctionDeclarationSetAnnotations( + global.context, + this.peer, + passNodeArray(newAnnotations), + newAnnotations.length + ); + } + + readonly scriptFunction: ScriptFunction; + readonly parameters: readonly AstNode[]; + readonly name?: Identifier; + readonly body?: BlockStatement; + readonly typeParamsDecl?: TSTypeParameterDeclaration; + readonly returnType?: AstNode; + readonly isAnon: boolean; +} + +export class FunctionExpression extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_EXPRESSION); + super(peer); + this.scriptFunction = unpackNonNullableNode( + global.generatedEs2panda._FunctionExpressionFunction(global.context, this.peer) + ); + } + + static create(expression: ScriptFunction): FunctionExpression { + return new FunctionExpression( + global.generatedEs2panda._CreateFunctionExpression(global.context, passNode(expression)) + ); + } + + static update(node: FunctionExpression, expression: ScriptFunction): FunctionExpression { + return new FunctionExpression( + global.generatedEs2panda._UpdateFunctionExpression(global.context, node.peer, passNode(expression)) + ); + } + + readonly scriptFunction: ScriptFunction; +} + +export class ETSParameterExpression extends Expression { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION); + super(peer); + } + + static create(identifier: Identifier, initializer: AstNode | undefined): ETSParameterExpression { + if (initializer !== undefined) { + return new ETSParameterExpression( + global.generatedEs2panda._CreateETSParameterExpression1( + global.context, + passNode(identifier), + passNode(initializer) + ) + ); + } + return new ETSParameterExpression( + global.generatedEs2panda._CreateETSParameterExpression(global.context, passNode(identifier), false) + ); + } + + static update( + node: ETSParameterExpression, + identifier: Identifier, + initializer: AstNode | undefined + ): ETSParameterExpression { + if (initializer !== undefined) { + return new ETSParameterExpression( + global.generatedEs2panda._UpdateETSParameterExpression1( + global.context, + node.peer, + passNode(identifier), + passNode(initializer) + ) + ); + } + return new ETSParameterExpression( + global.generatedEs2panda._UpdateETSParameterExpression( + global.context, + node.peer, + passNode(identifier), + false + ) + ); + } + + get annotations(): AnnotationUsage[] { + return unpackNodeArray(global.generatedEs2panda._ETSParameterExpressionAnnotations(global.context, this.peer/*, nullptr*/)); + } + + set annotations(newAnnotations: AnnotationUsage[]) { + global.generatedEs2panda._ETSParameterExpressionSetAnnotations( + global.context, + this.peer, + passNodeArray(newAnnotations), + newAnnotations.length + ); + } + + get type(): AstNode | undefined { + return unpackNode(global.generatedEs2panda._ETSParameterExpressionTypeAnnotation(global.context, this.peer)); + } + + set type(t: AstNode | undefined) { + if (t === undefined) return; + global.generatedEs2panda._ETSParameterExpressionSetTypeAnnotation(global.context, this.peer, t.peer); + } + + get optional(): Boolean { + return global.generatedEs2panda._ETSParameterExpressionIsOptionalConst(global.context, this.peer); + } + + get initializer(): Expression | undefined { + return unpackNode(global.generatedEs2panda._ETSParameterExpressionInitializerConst(global.context, this.peer)); + } + + /** @deprecated */ + setInitializer(initExpr?: Expression): this { + global.generatedEs2panda._ETSParameterExpressionSetInitializer(global.context, this.peer, passNode(initExpr)); + return this; + } + + setOptional(value: boolean): this { + global.generatedEs2panda._ETSParameterExpressionSetOptional(global.context, this.peer, value); + return this; + } + + get identifier(): Identifier { + return unpackNonNullableNode( + global.generatedEs2panda._ETSParameterExpressionIdentConst(global.context, this.peer) + ); + } + + /** @deprecated */ + setIdent(ident?: Identifier): this { + global.generatedEs2panda._ETSParameterExpressionSetIdent(global.context, this.peer, passNode(ident)); + return this; + } +} + +export class IfStatement extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_IF_STATEMENT); + super(peer); + this.test = unpackNonNullableNode(global.generatedEs2panda._IfStatementTest(global.context, this.peer)); + this.consequent = unpackNonNullableNode( + global.generatedEs2panda._IfStatementConsequent(global.context, this.peer) + ); + this.alternate = unpackNode(global.generatedEs2panda._IfStatementAlternate(global.context, this.peer)); + } + + static create(test: AstNode, consequent: AstNode, alternate?: AstNode): IfStatement { + return new IfStatement( + global.generatedEs2panda._CreateIfStatement( + global.context, + passNode(test), + passNode(consequent), + passNode(alternate) + ) + ); + } + + static update(node: IfStatement, test: AstNode, consequent: AstNode, alternate?: AstNode): IfStatement { + return new IfStatement( + global.generatedEs2panda._UpdateIfStatement( + global.context, + node.peer, + passNode(test), + passNode(consequent), + passNode(alternate) + ) + ); + } + + test: AstNode; + consequent: AstNode; + alternate: AstNode | undefined; +} + +export class StructDeclaration extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_STRUCT_DECLARATION); + super(peer); + // TODO: is struct definition the same as struct definition? + this.definition = unpackNonNullableNode( + global.generatedEs2panda._ClassDeclarationDefinition(global.context, this.peer) + ); + } + + static create(definition: ClassDefinition): StructDeclaration { + return new StructDeclaration( + global.generatedEs2panda._CreateETSStructDeclaration(global.context, passNode(definition)) + ); + } + + static update(node: StructDeclaration, definition: ClassDefinition): StructDeclaration { + return new StructDeclaration( + global.generatedEs2panda._UpdateETSStructDeclaration(global.context, node.peer, passNode(definition)) + ); + } + + readonly definition: ClassDefinition; +} + +export class MethodDefinition extends AstNode { + constructor(peer: KPtr, key?: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_METHOD_DEFINITION); + super(peer); + this.kind = global.generatedEs2panda._MethodDefinitionKindConst(global.context, this.peer); + this.funcExpr = unpackNonNullableNode(global.generatedEs2panda._ClassElementValue(global.context, this.peer)); + this.scriptFunction = this.funcExpr.scriptFunction; + assertValidPeer(this.scriptFunction.peer, Es2pandaAstNodeType.AST_NODE_TYPE_SCRIPT_FUNCTION); + + // Somehow the scriptFunction cannot attach method's key to its ident after checker + if (key) { + assertValidPeer(key, Es2pandaAstNodeType.AST_NODE_TYPE_IDENTIFIER); + const _name = unpackNonNullableNode(key); + this.scriptFunction = this.scriptFunction.setIdent(_name as Identifier); + } + + this.name = unpackNonNullableNode( + global.generatedEs2panda._ScriptFunctionId(global.context, this.scriptFunction.peer) + ); + this.kind = global.generatedEs2panda._MethodDefinitionKindConst(global.context, this.peer); + } + + static create( + kind: Es2pandaMethodDefinitionKind, + key: AstNode, + value: ScriptFunction, + modifiers: KInt, + isComputed: boolean + ): MethodDefinition { + return new MethodDefinition( + global.generatedEs2panda._CreateMethodDefinition( + global.context, + kind, + passNode(key), + passNode(FunctionExpression.create(value)), + modifiers, + isComputed + ), + key.peer + ); + } + + static update( + node: MethodDefinition, + kind: Es2pandaMethodDefinitionKind, + key: AstNode, + value: ScriptFunction, + modifiers: KInt, + isComputed: boolean + ): MethodDefinition { + return new MethodDefinition( + global.generatedEs2panda._UpdateMethodDefinition( + global.context, + node.peer, + kind, + passNode(key), + passNode(FunctionExpression.update(node.funcExpr, value)), + modifiers, + isComputed + ), + key.peer + ); + } + + // TODO: does not work + isConstructor(): boolean { + return global.generatedEs2panda._MethodDefinitionIsConstructorConst(global.context, this.peer); + } + + get overloads(): readonly MethodDefinition[] { + return unpackNodeArray(global.generatedEs2panda._MethodDefinitionOverloadsConst(global.context, this.peer)); + } + + setOverloads(overloads: readonly MethodDefinition[]): this { + global.generatedEs2panda._MethodDefinitionSetOverloads( + global.context, + this.peer, + passNodeArray(overloads), + overloads.length + ); + return this; + } + + readonly kind: Es2pandaMethodDefinitionKind; + readonly scriptFunction: ScriptFunction; + readonly name: Identifier; + readonly funcExpr: FunctionExpression; +} + +export class VariableDeclaration extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATION); + super(peer); + this.declarationKind = global.generatedEs2panda._VariableDeclarationKindConst(global.context, this.peer); + this.declarators = unpackNodeArray( + global.generatedEs2panda._VariableDeclarationDeclaratorsConst(global.context, this.peer) + ); + } + + static create( + modifiers: KInt, + kind: Es2pandaVariableDeclarationKind, + declarators: readonly VariableDeclarator[] + ): VariableDeclaration { + const peer = global.generatedEs2panda._CreateVariableDeclaration( + global.context, + kind, + passNodeArray(declarators), + declarators.length + ); + global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags); + global.generatedEs2panda._AstNodeAddModifier(global.context, peer, modifiers); + return new VariableDeclaration(peer); + } + + static update( + node: VariableDeclaration, + modifiers: KInt, + kind: Es2pandaVariableDeclarationKind, + declarators: readonly VariableDeclarator[] + ): VariableDeclaration { + const peer = global.generatedEs2panda._UpdateVariableDeclaration( + global.context, + node.peer, + kind, + passNodeArray(declarators), + declarators.length + ); + global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags); + global.generatedEs2panda._AstNodeAddModifier(global.context, peer, modifiers); + return new VariableDeclaration(peer); + } + + get annotations(): readonly AnnotationUsage[] { + return unpackNodeArray( + global.generatedEs2panda._VariableDeclarationAnnotationsConst(global.context, this.peer) + ); + } + /** @deprecated */ + setAnnotations(annotations: readonly AnnotationUsage[]): this { + global.generatedEs2panda._VariableDeclarationSetAnnotations( + global.context, + this.peer, + passNodeArray(annotations), + annotations.length + ); + return this; + } + + readonly declarationKind: Es2pandaVariableDeclarationKind; + readonly declarators: readonly VariableDeclarator[]; +} + +export class VariableDeclarator extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATOR); + super(peer); + this.name = unpackNonNullableNode(global.generatedEs2panda._VariableDeclaratorId(global.context, this.peer)); + } + + static create( + flag: Es2pandaVariableDeclaratorFlag, + name: Identifier, + initializer: AstNode | undefined + ): VariableDeclarator { + const peer = global.generatedEs2panda._CreateVariableDeclarator(global.context, flag, passNode(name)); + if (initializer !== undefined) { + global.generatedEs2panda._VariableDeclaratorSetInit(global.context, peer, initializer.peer); + } + return new VariableDeclarator(peer); + } + + static update( + node: VariableDeclarator, + flag: Es2pandaVariableDeclaratorFlag, + name: Identifier, + initializer: AstNode | undefined + ): VariableDeclarator { + const peer = global.generatedEs2panda._UpdateVariableDeclarator( + global.context, + node.peer, + flag, + passNode(name) + ); + if (initializer !== undefined) { + global.generatedEs2panda._VariableDeclaratorSetInit(global.context, peer, initializer.peer); + } + return new VariableDeclarator(peer); + } + + get initializer(): AstNode | undefined { + return unpackNode(global.generatedEs2panda._VariableDeclaratorInit(global.context, this.peer)); + } + + /** @deprecated */ + setInit(init?: Expression): this { + global.generatedEs2panda._VariableDeclaratorSetInit(global.context, this.peer, passNode(init)); + return this; + } + + get flag(): Es2pandaVariableDeclaratorFlag { + return global.generatedEs2panda._VariableDeclaratorFlag(global.context, this.peer); + } + + readonly name: Identifier; +} + +export class SuperExpression extends AstNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_SUPER_EXPRESSION); + super(peer); + this.id = unpackNode(global.generatedEs2panda._TSInterfaceDeclarationId(global.context, this.peer)); + } + + static create(): SuperExpression { + return new SuperExpression(global.generatedEs2panda._CreateSuperExpression(global.context)); + } + + readonly id?: Identifier; +} + +export class ETSStringLiteralType extends TypeNode { + constructor(peer: KPtr) { + assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_STRING_LITERAL_TYPE); + super(peer); + } + + static create(str: string): ETSStringLiteralType { + return new ETSStringLiteralType(global.generatedEs2panda._CreateETSStringLiteralType(global.context, passString(str))); + } +} + +const pairs: [Es2pandaAstNodeType, { new (peer: KNativePointer): AstNode }][] = [ + [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE, EtsScript], + [Es2pandaAstNodeType.AST_NODE_TYPE_IDENTIFIER, Identifier], + [Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL, NumberLiteral], + [Es2pandaAstNodeType.AST_NODE_TYPE_EXPRESSION_STATEMENT, ExpressionStatement], + [Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_DECLARATION, FunctionDeclaration], + [Es2pandaAstNodeType.AST_NODE_TYPE_SCRIPT_FUNCTION, ScriptFunction], + [Es2pandaAstNodeType.AST_NODE_TYPE_BLOCK_STATEMENT, BlockStatement], + [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION, ETSParameterExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_TS_TYPE_PARAMETER_DECLARATION, TSTypeParameterDeclaration], + [Es2pandaAstNodeType.AST_NODE_TYPE_CALL_EXPRESSION, CallExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_MEMBER_EXPRESSION, MemberExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_IF_STATEMENT, IfStatement], + [Es2pandaAstNodeType.AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION, ArrowFunctionExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_STRUCT_DECLARATION, StructDeclaration], + [Es2pandaAstNodeType.AST_NODE_TYPE_METHOD_DEFINITION, MethodDefinition], + [Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_EXPRESSION, AssignmentExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATION, VariableDeclaration], + [Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATOR, VariableDeclarator], + [Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_EXPRESSION, FunctionExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_TYPE_REFERENCE, ETSTypeReference], + [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_TYPE_REFERENCE_PART, ETSTypeReferencePart], + [Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION, ObjectExpression], + [Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_EXPRESSION, ArrayExpression], +]; +pairs.forEach(([nodeType, astNode]) => nodeByType.set(nodeType, astNode)); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts new file mode 100644 index 0000000000000000000000000000000000000000..809b13e72d33e8c00546eebfa6cd3501142c4cd5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { int32 } from "@koalaui/common" +import { + Access, + ArrayDecoder, + CallbackRegistry, + NativeStringBase, + nullptr, + pointer, + providePlatformDefinedData, + withByteArray +} from "@koalaui/interop" +import { global } from "../static/global" + +class NativeString extends NativeStringBase { + constructor(ptr: pointer) { + super(ptr) + } + protected bytesLength(): int32 { + return global.interop._StringLength(this.ptr) + } + protected getData(data: Uint8Array): void { + withByteArray(data, Access.WRITE, (dataPtr: pointer) => { + global.interop._StringData(this.ptr, dataPtr, data.length) + }) + } + close(): void { + global.interop._InvokeFinalizer(this.ptr, global.interop._GetStringFinalizer()) + this.ptr = nullptr + } +} + +providePlatformDefinedData({ + nativeString(ptr: pointer): NativeStringBase { + return new NativeString(ptr) + }, + nativeStringArrayDecoder(): ArrayDecoder { + throw new Error("Not yet implemented") + }, + callbackRegistry(): CallbackRegistry | undefined { + return undefined + } +}) + +export class NativePtrDecoder extends ArrayDecoder { + getArraySize(blob: pointer) { + return global.interop._GetPtrVectorSize(blob) + } + disposeArray(blob: pointer): void { + // TODO + } + getArrayElement(blob: pointer, index: int32): pointer { + return global.interop._GetPtrVectorElement(blob, index) + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/performance.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/performance.ts new file mode 100644 index 0000000000000000000000000000000000000000..c938de34c133bf65a15d51689e47623741fe87ec --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/performance.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +interface Event { + name: string, + startTime: number, + endTime?: number, + parentEvent?: string, + duration?: number +} + +function formatTime(ms: number): string { + const milliseconds = Math.floor(ms % 1000); + const seconds = Math.floor((ms / 1000) % 60); + const minutes = Math.floor((ms / (1000 * 60)) % 60); + const hours = Math.floor(ms / (1000 * 60 * 60)); + + return `${pad(hours, 2)}:${pad(minutes, 2)}:${pad(seconds, 2)}:${pad(milliseconds, 3)}`; +} + +function pad(value: number, length: number): string { + return value.toString().padStart(length, '0'); +} + +function round(value: number, index: number = 2): number { + const factor = Math.pow(10, index); + return Math.round(value * factor) / factor; +} + +export class Performance { + private static instance: Performance; + private events: Map; + private historyEvents = new Map(); + private scopes: string[]; + private shouldSkip: boolean; + private totalDuration: number; + + private constructor() { + this.events = new Map(); + this.historyEvents = new Map(); + this.scopes = []; + this.shouldSkip = true; + this.totalDuration = 0; + } + + public static getInstance(): Performance { + if (!this.instance) { + this.instance = new Performance(); + } + return this.instance; + } + + skip(shouldSkip: boolean = true): void { + this.shouldSkip = shouldSkip; + } + + createEvent(name: string): Event { + if (this.shouldSkip) { + return { name: '', startTime: 0 }; + } + const startTime: number = performance.now(); + const newEvent: Event = { name, startTime }; + this.events.set(name, newEvent); + this.scopes.push(name); + return newEvent; + } + + stopEvent(name: string, shouldLog: boolean = false): Event { + if (this.shouldSkip) { + return { name: '', startTime: 0 }; + } + if (!this.events.has(name) || this.scopes.length === 0) { + throw new Error(`Event ${name} is not created.`); + } + if (this.scopes[this.scopes.length - 1] !== name) { + console.warn(`[PERFORMANCE WARNING] Event ${name} early exit.`); + } + this.scopes.pop(); + + const event: Event = this.events.get(name)!; + const endTime: number = performance.now(); + const parentEvent: string = this.scopes[this.scopes.length - 1]; + const duration: number = endTime - event.startTime; + if (!parentEvent) { + this.totalDuration += duration; + } + + if (shouldLog) { + console.log( + `[PERFORMANCE] name: ${event.name}, parent: ${parentEvent}, duration: ${formatTime(duration)}(${round(duration)}), total: ${formatTime(this.totalDuration)}(${round(this.totalDuration)})` + ); + } + + const newEvent = { ...event, endTime, parentEvent, duration }; + const history = this.historyEvents.get(parentEvent ?? null) || []; + this.historyEvents.set(parentEvent ?? null, [...history, newEvent]); + return newEvent; + } + + stopLastEvent(shouldLog: boolean = false): Event { + if (this.shouldSkip) { + return { name: '', startTime: 0 }; + } + if (this.scopes.length === 0) { + throw new Error("No last event"); + } + const name: string = this.scopes.pop()!; + if (!this.events.has(name)) { + throw new Error(`Event ${name} is not created.`); + } + + const event: Event = this.events.get(name)!; + const endTime: number = performance.now(); + const parentEvent: string = this.scopes[this.scopes.length - 1]; + const duration: number = endTime - event.startTime; + if (!parentEvent) { + this.totalDuration += duration; + } + + if (shouldLog) { + console.log( + `[PERFORMANCE] name: ${event.name}, parent: ${parentEvent}, duration: ${formatTime(duration)}(${round(duration)}), total: ${formatTime(this.totalDuration)}(${round(this.totalDuration)})` + ); + } + + const newEvent = { ...event, endTime, parentEvent, duration }; + const history = this.historyEvents.get(parentEvent ?? null) || []; + this.historyEvents.set(parentEvent ?? null, [...history, newEvent]); + return newEvent; + } + + clearAllEvents(shouldLog: boolean = false): void { + if (this.shouldSkip) { + return; + } + for (let i = 0; i < this.scopes.length; i ++) { + this.stopLastEvent(shouldLog); + } + this.events = new Map(); + } + + clearTotalDuration(): void { + this.totalDuration = 0; + } + + clearHistory(): void { + this.historyEvents = new Map(); + } + + visualizeEvents(shouldLog: boolean = false): void { + if (this.shouldSkip) { + return; + } + const that = this; + function buildVisualization(parentKey: string | null, indentLevel: number): [string, number] { + const children = that.historyEvents.get(parentKey) || []; + let result = ''; + + children.forEach(child => { + const indent = ' '.repeat(indentLevel); + const duration = child.duration ?? 0; + const [_result, count] = buildVisualization(child.name, indentLevel + 1); + result += `${indent}- ${child.name}: ${formatTime(duration)}(${round(duration)}), ${count}\n`; + result += _result; + }); + + return [result, children.length]; + } + + const [finalResult, _] = buildVisualization(null, 0); + if (shouldLog) { + console.log(`[PERFORMANCE] ===== FINAL RESULT ====`); + console.log(`TOTAL: ${formatTime(this.totalDuration)}(${round(this.totalDuration)})`); + console.log(finalResult.trimEnd()); + console.log(`[PERFORMANCE] ===== FINAL RESULT ====`); + } + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/private.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/private.ts new file mode 100644 index 0000000000000000000000000000000000000000..ac498a90a74babb4080126308337ef7403a3c8a0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/private.ts @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { global } from '../static/global'; +import { isNumber, throwError } from '../../../utils'; +import { + KInt, + KNativePointer as KPtr, + KNativePointer, + nullptr, + withString, + withStringArray, +} from '@koalaui/interop'; +import { NativePtrDecoder } from './nativePtrDecoder'; +import { Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from '../../../generated/Es2pandaEnums'; +import { classByPeer } from '../class-by-peer'; +import type { AstNode } from '../peers/AstNode'; +import { ArktsObject } from '../peers/ArktsObject'; +import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums'; + +export const arrayOfNullptr = new BigUint64Array([nullptr]); + +export const allFlags = Object.values(Es2pandaModifierFlags) + .filter(isNumber) + .reduce((prev, next) => prev | next, 0); + +export function assertValidPeer(peer: KPtr, expectedKind: Es2pandaAstNodeType): void { + if (peer === nullptr) { + throwError(`invalid peer`); + } + const peerType = global.generatedEs2panda._AstNodeTypeConst(global.context, peer); + if (peerType !== expectedKind) { + throwError(`expected: ${Es2pandaAstNodeType[expectedKind]}, got: ${Es2pandaAstNodeType[peerType]}`); + } +} + +export function acceptNativeObjectArrayResult( + arrayObject: KNativePointer, + factory: (instance: KNativePointer) => T +): T[] { + return new NativePtrDecoder().decode(arrayObject).map(factory); +} + +export function unpackNonNullableNode(peer: KNativePointer): T { + if (peer === nullptr) { + throwError('peer is NULLPTR (maybe you should use unpackNode)'); + } + return classByPeer(peer) as T; +} + +export function unpackNode(peer: KNativePointer): T | undefined { + if (peer === nullptr) { + return undefined; + } + return classByPeer(peer) as T; +} + +export function passNode(node: ArktsObject | undefined): KNativePointer { + return node?.peer ?? nullptr; +} + +// meaning unpackNonNullableNodeArray +export function unpackNodeArray(nodesPtr: KNativePointer): T[] { + if (nodesPtr === nullptr) { + throwError('nodesPtr is NULLPTR (maybe you should use unpackNodeArray)'); + } + return new NativePtrDecoder().decode(nodesPtr).map((peer: KNativePointer) => unpackNonNullableNode(peer)); +} + +export function passNodeArray(nodes: readonly AstNode[] | undefined): BigUint64Array { + return new BigUint64Array(nodes?.map((node) => BigInt(node.peer)) ?? []); +} + +export function unpackNonNullableObject( + Type: { new (peer: KNativePointer): T }, + peer: KNativePointer +): T { + if (peer === nullptr) { + throwError('peer is NULLPTR (maybe you should use unpackObject)'); + } + return new Type(peer); +} + +export function unpackObject( + Type: { new (peer: KNativePointer): T }, + peer: KNativePointer +): T | undefined { + if (peer === nullptr) { + return undefined; + } + return new Type(peer); +} + +export { unpackString } from "../../../arkts-api/utilities/private" + +export function passString(str: string | undefined): string { + if (str === undefined) { + return ''; + } + return withString(str, (it: string) => it); +} + +export function passStringArray(strings: readonly string[]): string[] { + return withStringArray(strings, (it: string[]) => it); +} + +export function passNodeWithNewModifiers(node: T, modifiers: KInt): T { + return (unpackNonNullableNode(node.peer) as T).updateModifiers(modifiers); +} + +export function scriptFunctionHasBody(peer: KNativePointer): boolean { + const flags = global.generatedEs2panda._ScriptFunctionFlagsConst(global.context, peer); + return ( + (flags & Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_EXTERNAL) === 0 && + (flags & Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_EXTERNAL_OVERLOAD) === 0 + ); +} + +// TODO: remove this +// TODO: update scopes and other data +export function updatePeerByNode(peer: KNativePointer, original: T | undefined): KNativePointer { + if (peer === nullptr) { + throwError('updatePeerByNode called on NULLPTR'); + } + if (original === undefined) { + return peer; + } + global.generatedEs2panda._AstNodeSetOriginalNode(global.context, peer, original.peer); + global.generatedEs2panda._AstNodeSetParent( + global.context, + peer, + global.generatedEs2panda._AstNodeParent(global.context, original.peer) + ); + global.es2panda._AstNodeUpdateChildren(global.context, peer); + global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags); + global.generatedEs2panda._AstNodeAddModifier(global.context, peer, original.modifiers); + global.es2panda._AstNodeUpdateChildren(global.context, peer); + return peer; +} + +// TODO: update scopes and other data +export function updateNodeByNode(node: T, original: AstNode): T { + if (original.peer === nullptr) { + throwError('update called on NULLPTR'); + } + global.generatedEs2panda._AstNodeSetOriginalNode(global.context, node.peer, original.peer); + global.generatedEs2panda._AstNodeSetParent( + global.context, + node.peer, + global.generatedEs2panda._AstNodeParent(global.context, original.peer) + ); + global.es2panda._AstNodeUpdateChildren(global.context, node.peer); + return node; +} + +export function nodeType(node: AstNode): Es2pandaAstNodeType { + return global.generatedEs2panda._AstNodeTypeConst(global.context, passNode(node)); +} + +/** + * @deprecated + */ +export function compose( + create: (...args: ARGS) => T, + update: (node: T, original: T) => T = updateNodeByNode +): (node: T, ...args: ARGS) => T { + return (node: T, ...args: ARGS) => update(create(...args), node); +} + +export function updateThenAttach( + update: (original: T, ...args: ARGS) => T, + ...attachFuncs: ((node: T, original: T) => T)[] +): (node: T, ...args: ARGS) => T { + return (node: T, ...args: ARGS) => { + let _node: T = update(node, ...args); + attachFuncs.forEach((attach) => { + _node = attach(_node, node); + }); + return _node; + }; +} + +export function attachModifiers(node: T, original: T): T { + node.modifiers = original.modifiers; + return node; +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/public.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/public.ts new file mode 100644 index 0000000000000000000000000000000000000000..764147cc8fae7f3c57cb0d051f001f64a76bfec8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/utilities/public.ts @@ -0,0 +1,325 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { global } from '../static/global'; +import { isNumber, throwError, getEnumName } from '../../../utils'; +import { KNativePointer, KInt, nullptr } from '@koalaui/interop'; +import { passNode, passString, passStringArray, unpackNodeArray, unpackNonNullableNode, unpackString } from './private'; +import { isFunctionDeclaration, isMemberExpression, isMethodDefinition, isNumberLiteral } from '../factory/nodeTests'; +import { + Es2pandaContextState, + Es2pandaMethodDefinitionKind, + Es2pandaModifierFlags, +} from '../../../generated/Es2pandaEnums'; +import type { AstNode } from '../peers/AstNode'; +import { + ClassDefinition, + ClassProperty, + ETSImportDeclaration, + ImportSpecifier, + isClassDefinition, + isIdentifier, + isObjectExpression, + isProperty, + isScriptFunction, + isTSInterfaceDeclaration, + Property, + type AnnotationUsage, +} from '../../../generated'; +import { Program } from '../peers/Program'; +import { clearNodeCache, nodeByType } from '../class-by-peer'; +import { SourcePosition } from '../peers/SourcePosition'; +import { MemberExpression } from '../to-be-generated/MemberExpression'; + +export function proceedToState(state: Es2pandaContextState, context: KNativePointer, forceDtsEmit = false): void { + console.log('[TS WRAPPER] PROCEED TO STATE: ', getEnumName(Es2pandaContextState, state)); + if (global.es2panda._ContextState(context) === Es2pandaContextState.ES2PANDA_STATE_ERROR) { + clearNodeCache(); + processErrorState(state, context, forceDtsEmit); + } + if (state <= global.es2panda._ContextState(context)) { + console.log('[TS WRAPPER] PROCEED TO STATE: SKIPPING'); + return; + } + clearNodeCache(); + global.es2panda._ProceedToState(context, state); + processErrorState(state, context, forceDtsEmit); +} + +function processErrorState(state: Es2pandaContextState, context: KNativePointer, forceDtsEmit = false): void { + try { + if (global.es2panda._ContextState(context) === Es2pandaContextState.ES2PANDA_STATE_ERROR && !forceDtsEmit) { + const errorMessage = unpackString(global.es2panda._ContextErrorMessage(context)); + if (errorMessage === undefined) { + throwError(`Could not get ContextErrorMessage`); + } + throwError([`Failed to proceed to ${Es2pandaContextState[state]}`, errorMessage].join(`\n`)); + } + } catch (e) { + global.es2panda._DestroyContext(context); + throw e; + } +} + +export function startChecker(): boolean { + return global.es2panda._CheckerStartChecker(global.context); +} + +export function recheckSubtree(node: AstNode): void { + global.es2panda._AstNodeRecheck(global.context, node.peer); +} + +export function rebindSubtree(node: AstNode): void { + global.es2panda._AstNodeRebind(global.context, node.peer); +} + +export function getDecl(node: AstNode): AstNode | undefined { + if (isMemberExpression(node)) { + return getDeclFromArrayOrObjectMember(node); + } + if (isObjectExpression(node)) { + return getPeerObjectDecl(passNode(node)); + } + const decl = getPeerDecl(passNode(node)); + if (!!decl) { + return decl; + } + if (!!node.parent && isProperty(node.parent)) { + return getDeclFromProperty(node.parent); + } + return undefined; +} + +function getDeclFromProperty(node: Property): AstNode | undefined { + if (!node.key) { + return undefined; + } + if (!!node.parent && !isObjectExpression(node.parent)) { + return getPeerDecl(passNode(node.key)); + } + return getDeclFromObjectExpressionProperty(node); +} + +function getDeclFromObjectExpressionProperty(node: Property): AstNode | undefined { + const declNode = getPeerObjectDecl(passNode(node.parent)); + if (!declNode || !node.key || !isIdentifier(node.key)) { + return undefined; + } + let body: readonly AstNode[] = []; + if (isClassDefinition(declNode)) { + body = declNode.body; + } else if (isTSInterfaceDeclaration(declNode)) { + body = declNode.body?.body ?? []; + } + return body.find( + (statement) => + isMethodDefinition(statement) && + statement.kind === Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_GET && + !!statement.name && + !!node.key && + isIdentifier(node.key) && + statement.name.name === node.key.name + ); +} + +function getDeclFromArrayOrObjectMember(node: MemberExpression): AstNode | undefined { + if (isNumberLiteral(node.property)) { + return getDecl(node.object); + } + return getDecl(node.property); +} + +export function getPeerDecl(peer: KNativePointer): AstNode | undefined { + const decl = global.es2panda._DeclarationFromIdentifier(global.context, peer); + if (decl === nullptr) { + return undefined; + } + return unpackNonNullableNode(decl); +} + +export function getPeerObjectDecl(peer: KNativePointer): AstNode | undefined { + const decl = global.es2panda._ClassVariableDeclaration(global.context, peer); + if (decl === nullptr) { + return undefined; + } + return unpackNonNullableNode(decl); +} + +export function getAnnotations(node: AstNode): readonly AnnotationUsage[] { + if (!isFunctionDeclaration(node) && !isScriptFunction(node) && !isClassDefinition(node)) { + throwError('for now annotations allowed only for: functionDeclaration, scriptFunction, classDefinition'); + } + return unpackNodeArray(global.es2panda._AnnotationAllowedAnnotations(global.context, node.peer, nullptr)); +} + +export function getOriginalNode(node: AstNode): AstNode { + if (node === undefined) { + // TODO: fix this + throwError('there is no arkts pair of ts node (unable to getOriginalNode)'); + } + if (node.originalPeer === nullptr) { + return node; + } + return unpackNonNullableNode(node.originalPeer); +} + +export function getFileName(): string { + return global.filePath; +} + +export function classDefinitionSetFromStructModifier(node: ClassDefinition): void { + global.generatedEs2panda._ClassDefinitionSetFromStructModifier(global.context, node.peer); +} + +export function classDefinitionIsFromStructConst(node: ClassDefinition): boolean { + return global.generatedEs2panda._ClassDefinitionIsFromStructConst(global.context, node.peer); +} + +export function ImportSpecifierSetRemovable(node: ImportSpecifier): void { + global.generatedEs2panda._ImportSpecifierSetRemovable(global.context, node.peer, true); +} + +export function ImportSpecifierIsRemovableConst(node: ImportSpecifier): boolean { + return global.generatedEs2panda._ImportSpecifierIsRemovableConst(global.context, node.peer); +} + +// TODO: It seems like Definition overrides AstNode modifiers +// with it's own modifiers which is completely unrelated set of flags. +// Use this function if you need +// the language level modifiers: public, declare, export, etc. +export function classDefinitionFlags(node: ClassDefinition): Es2pandaModifierFlags { + return global.generatedEs2panda._AstNodeModifiers(global.context, node.peer); +} + +// TODO: Import statements should be inserted to the statements +export function importDeclarationInsert(node: ETSImportDeclaration, program: Program): void { + global.es2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, node.peer); +} + +export function getProgramFromAstNode(node: AstNode): Program { + return new Program(global.es2panda._AstNodeProgram(global.context, node.peer)); +} + +export function hasModifierFlag(node: AstNode, flag: Es2pandaModifierFlags): boolean { + if (!node) return false; + + let modifiers; + if (isClassDefinition(node)) { + modifiers = classDefinitionFlags(node); + } else { + modifiers = node.modifiers; + } + return (modifiers & flag) === flag; +} + +// TODO: ClassProperty's optional flag is set by AstNode's modifiers flags. +export function classPropertySetOptional(node: ClassProperty, value: boolean): ClassProperty { + if (value) { + node.modifiers |= Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL; + } else { + node.modifiers &= Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL; + } + return node; +} + +export function modifiersToString(modifiers: Es2pandaModifierFlags): string { + return Object.values(Es2pandaModifierFlags) + .filter(isNumber) + .map((it) => { + console.log(it.valueOf(), Es2pandaModifierFlags[it], modifiers.valueOf() & it); + return (modifiers.valueOf() & it) === it ? Es2pandaModifierFlags[it] : ''; + }) + .join(' '); +} +export function destroyConfig(config: KNativePointer): void { + global.es2panda._DestroyConfig(config); + global.resetConfig(); +} + +export function setAllParents(ast: AstNode): void { + global.es2panda._AstNodeUpdateAll(global.context, ast.peer); +} + +export function generateTsDeclarationsFromContext( + outputDeclEts: string, + outputEts: string, + exportAll: boolean, + isolated: boolean +): KInt { + return global.es2panda._GenerateTsDeclarationsFromContext( + global.context, + passString(outputDeclEts), + passString(outputEts), + exportAll, + isolated + ); +} + +export function generateStaticDeclarationsFromContext(outputPath: string): KInt { + return global.es2panda._GenerateStaticDeclarationsFromContext( + global.context, + passString(outputPath) + ); +} + +export function isDefaultAccessModifierClassProperty(property: ClassProperty): boolean { + return global.generatedEs2panda._ClassPropertyIsDefaultAccessModifierConst(global.context, property.peer); +} + +export function getStartPosition(node: AstNode): SourcePosition { + return new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, node.peer)); +} + +export function getEndPosition(node: AstNode): SourcePosition { + return new SourcePosition(global.generatedEs2panda._AstNodeEndConst(global.context, node.peer)); +} + +export function MemInitialize(): void { + global.es2panda._MemInitialize(); +} + +export function MemFinalize(): void { + global.es2panda._MemFinalize(); +} + +export function CreateGlobalContext( + config: KNativePointer, + externalFileList: string[], + fileNum: KInt, + lspUsage: boolean +): KNativePointer { + return global.es2panda._CreateGlobalContext(config, passStringArray(externalFileList), fileNum, lspUsage); +} + +export function DestroyGlobalContext(context: KNativePointer): void { + global.es2panda._DestroyGlobalContext(context); +} + +export function CreateCacheContextFromFile( + configPtr: KNativePointer, + filename: string, + globalContext: KNativePointer, + isExternal: Boolean +): KNativePointer { + return global.es2panda._CreateCacheContextFromFile(configPtr, passString(filename), globalContext, isExternal); +} + +export function insertGlobalStructInfo(structName: string): void { + global.es2panda._InsertGlobalStructInfo(global.context, passString(structName)); +} + +export function hasGlobalStructInfo(structName: string): boolean { + return global.es2panda._HasGlobalStructInfo(global.context, passString(structName)); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/visitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/visitor.ts new file mode 100644 index 0000000000000000000000000000000000000000..fe2472665d80c286650429eff2390cfa75502eb6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/arkts-api/visitor.ts @@ -0,0 +1,420 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { global } from './static/global'; +import { factory } from './factory/nodeFactory'; +import { AstNode } from './peers/AstNode'; +import { + isBlockStatement, + isConditionalExpression, + isTSInterfaceBody, + isTSInterfaceDeclaration, + isClassDeclaration, + isClassDefinition, + isTSAsExpression, + isETSImportDeclaration, + ImportSource, + isScriptFunction, + FunctionSignature, + Property, + isClassProperty, + isImportDeclaration, + isObjectExpression, + ObjectExpression, + isProperty, + Expression, + isETSNewClassInstanceExpression, + isTemplateLiteral, + isBlockExpression, + isReturnStatement, + isArrayExpression, + isTryStatement, + isBinaryExpression, +} from '../../generated'; +import { + isEtsScript, + isCallExpression, + isFunctionDeclaration, + isExpressionStatement, + isStructDeclaration, + isMethodDefinition, + // isScriptFunction, + isMemberExpression, + isIfStatement, + isVariableDeclaration, + isVariableDeclarator, + isArrowFunctionExpression, + isAssignmentExpression, +} from './factory/nodeTests'; +import { classDefinitionFlags } from './utilities/public'; +import { Es2pandaAstNodeType } from '../../generated/Es2pandaEnums'; + +type Visitor = (node: AstNode) => AstNode; + +// TODO: rethink (remove as) +function nodeVisitor(node: T, visitor: Visitor): T { + if (node === undefined) { + return node; + } + return visitor(node) as T; +} + +// TODO: rethink (remove as) +function nodesVisitor( + nodes: TIn, + visitor: Visitor +): T[] | TIn { + if (nodes === undefined) { + return nodes; + } + return nodes.map((node) => visitor(node) as T); +} + +let updated: boolean = false; + +export function visitEachChild(node: AstNode, visitor: Visitor): AstNode { + updated = false; + let script: AstNode = node; + script = visitETSModule(script, visitor); + script = visitDeclaration(script, visitor); + script = visitDefinition(script, visitor); + script = visitDefinitionBody(script, visitor); + script = visitStatement(script, visitor); + script = visitOuterExpression(script, visitor); + script = visitInnerExpression(script, visitor); + script = visitTrivialExpression(script, visitor); + script = visitLiteral(script, visitor); + // TODO + return visitWithoutUpdate(script, visitor); +} + +function visitOuterExpression(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } else if (isBlockExpression(node)) { + updated = true; + return factory.updateBlockExpression(node, nodesVisitor(node.statements, visitor)); + } else if (isCallExpression(node)) { + updated = true; + const call = factory.updateCallExpression( + node, + nodeVisitor(node.expression, visitor), + nodesVisitor(node.typeArguments, visitor), + nodesVisitor(node.arguments, visitor) + ); + if (!!node.trailingBlock) { + call.setTralingBlock(nodeVisitor(node.trailingBlock, visitor)); + } + return call; + } else if (isArrowFunctionExpression(node)) { + updated = true; + return factory.updateArrowFunction(node, nodeVisitor(node.scriptFunction, visitor)); + } else if (isAssignmentExpression(node)) { + updated = true; + return factory.updateAssignmentExpression( + node, + nodeVisitor(node.left as Expression, visitor), + node.operatorType, + nodeVisitor(node.right as Expression, visitor) + ); + } else if (isETSNewClassInstanceExpression(node)) { + updated = true; + return factory.updateETSNewClassInstanceExpression( + node, + node.typeRef, + nodesVisitor(node.arguments, visitor) + ); + } + if (isArrayExpression(node)) { + updated = true; + return factory.updateArrayExpression( + node, + nodesVisitor(node.elements, visitor) + ); + } + return node; +} + +function visitInnerExpression(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isMemberExpression(node)) { + updated = true; + return factory.updateMemberExpression( + node, + nodeVisitor(node.object, visitor), + nodeVisitor(node.property, visitor), + node.kind, + node.computed, + node.optional + ); + } + if (isConditionalExpression(node)) { + updated = true; + return factory.updateConditionalExpression( + node, + nodeVisitor(node.test, visitor), + nodeVisitor(node.consequent, visitor), + nodeVisitor(node.alternate, visitor) + ); + } + if (isTSAsExpression(node)) { + updated = true; + return factory.updateTSAsExpression( + node, + nodeVisitor(node.expr, visitor), + nodeVisitor(node.typeAnnotation, visitor), + node.isConst + ); + } + if (isObjectExpression(node)) { + updated = true; + return factory.updateObjectExpression( + node, + Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION, + nodesVisitor(node.properties as Property[], visitor), + false + ); + } + if (isProperty(node)) { + updated = true; + return factory.updateProperty(node, node.key, nodeVisitor(node.value, visitor)); + } + // TODO + return node; +} + +function visitTrivialExpression(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isBinaryExpression(node)) { + updated = true; + return factory.updateBinaryExpression( + node, + nodeVisitor(node.left, visitor), + nodeVisitor(node.right, visitor), + node.operatorType + ); + } + // TODO + return node; +} + +function visitDeclaration(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isFunctionDeclaration(node)) { + updated = true; + return factory.updateFunctionDeclaration( + node, + nodeVisitor(node.scriptFunction, visitor), + node.isAnon, + node.annotations + ); + } + if (isClassDeclaration(node)) { + updated = true; + return factory.updateClassDeclaration(node, nodeVisitor(node.definition, visitor)); + } + if (isStructDeclaration(node)) { + updated = true; + return factory.updateStructDeclaration(node, nodeVisitor(node.definition, visitor)); + } + if (isTSInterfaceDeclaration(node)) { + updated = true; + return factory.updateInterfaceDeclaration( + node, + nodesVisitor(node.extends, visitor), + nodeVisitor(node.id, visitor), + nodeVisitor(node.typeParams, visitor), + nodeVisitor(node.body, visitor), + node.isStatic, + // TODO: how do I get it? + true + ); + } + if (isVariableDeclaration(node)) { + updated = true; + return factory.updateVariableDeclaration( + node, + 0, + node.declarationKind, + nodesVisitor(node.declarators, visitor) + ); + } + // TODO + return node; +} + +function visitDefinition(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isClassDefinition(node)) { + updated = true; + return factory.updateClassDefinition( + node, + node.ident, + node.typeParams, + node.superTypeParams, + node.implements, + undefined, + node.super, + nodesVisitor(node.body, visitor), + node.modifiers, + classDefinitionFlags(node) + ); + } + if (isMethodDefinition(node)) { + updated = true; + return factory.updateMethodDefinition( + node, + node.kind, + node.name, + nodeVisitor(node.scriptFunction, visitor), + node.modifiers, + false + ); + } + if (isTSInterfaceBody(node)) { + updated = true; + return factory.updateInterfaceBody(node, nodesVisitor(node.body, visitor)); + } + if (isVariableDeclarator(node)) { + updated = true; + return factory.updateVariableDeclarator( + node, + global.generatedEs2panda._VariableDeclaratorFlag(global.context, node.peer), + nodeVisitor(node.name, visitor), + nodeVisitor(node.initializer, visitor) + ); + } + return node; +} + +function visitStatement(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isBlockStatement(node)) { + updated = true; + return factory.updateBlock(node, nodesVisitor(node.statements, visitor)); + } + if (isExpressionStatement(node)) { + updated = true; + return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor)); + } + if (isIfStatement(node)) { + updated = true; + return factory.updateIfStatement( + node, + nodeVisitor(node.test, visitor), + nodeVisitor(node.consequent, visitor), + nodeVisitor(node.alternate, visitor) + ); + } + if (isReturnStatement(node)) { + updated = true; + return factory.updateReturnStatement(node, nodeVisitor(node.argument, visitor)); + } + if (isTryStatement(node)) { + updated = true; + return factory.updateTryStatement( + node, + nodeVisitor(node.block, visitor), + nodesVisitor(node.catchClauses, visitor), + nodeVisitor(node.finallyBlock, visitor), + [], + [] + ); + } + // TODO + return node; +} + +function visitETSModule(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isEtsScript(node)) { + updated = true; + return factory.updateEtsScript(node, nodesVisitor(node.statements, visitor)); + } + return node; +} + +function visitDefinitionBody(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isScriptFunction(node)) { + updated = true; + return factory.updateScriptFunction( + node, + nodeVisitor(node.body, visitor), + factory.createFunctionSignature( + nodeVisitor(node.typeParams, visitor), + nodesVisitor(node.params, visitor), + nodeVisitor(node.returnTypeAnnotation, visitor), + node.hasReceiver + ), + node.flags, + node.modifiers + ); + } + if (isClassProperty(node)) { + updated = true; + return factory.updateClassProperty( + node, + node.key, + nodeVisitor(node.value, visitor), + node.typeAnnotation, + node.modifiers, + node.isComputed + ); + } + // TODO + return node; +} + +function visitLiteral(node: AstNode, visitor: Visitor): AstNode { + if (updated) { + return node; + } + if (isTemplateLiteral(node)) { + updated = true; + return factory.updateTemplateLiteral( + node, + nodesVisitor(node.quasis, visitor), + nodesVisitor(node.expressions, visitor), + node.multilineString + ); + } + return node; +} + +// TODO: apply this to all nodes that does not require updating +function visitWithoutUpdate(node: T, visitor: Visitor): T { + if (updated) { + return node; + } + if (isImportDeclaration(node)) { + nodesVisitor(node.specifiers, visitor); + } + return node; +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..5684a5f82398bd8b95f8d93e678d9d725b397841 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/src/wrapper-compat/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { global } from "../arkts-api/static/global" +import * as arkts from "./arkts-api" + +export * from "./arkts-api" +export {arkts, global as arktsGlobal} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/general/recheck.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/general/recheck.test.ts index 7025d493eac154641579609d55e5c310a81ada66..516e668ba79916c144b94ff01a78a47456e12258 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/general/recheck.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/general/recheck.test.ts @@ -122,11 +122,11 @@ console.log("test"); const importStorage = new arkts.ImportStorage(arkts.arktsGlobal.compilerContext.program, true) const module = arkts.createETSModuleFromContext() - arkts.arktsGlobal.compilerContext.program.externalSources.forEach(it => { + arkts.programGetExternalSources(arkts.arktsGlobal.compilerContext.program).forEach(it => { if (!it.getName().includes("library")) return it.programs.forEach(program => { - new RenameTestFunction().visitor(program.astNode) - arkts.arktsGlobal.es2panda._AstNodeUpdateAll(program.astNode.peer, module.peer) + new RenameTestFunction().visitor(program.ast) + arkts.arktsGlobal.es2panda._AstNodeUpdateAll(program.ast.peer, module.peer) }) }) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/arktsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/arktsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..c60ee7007f711875e9980d8cf6ca23890f9606fc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/arktsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "outDir": "./files/build", + "baseUrl": "." + }, + "include": ["./**/*.ts"] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/first.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/first.ets new file mode 100644 index 0000000000000000000000000000000000000000..99ad12db260a527f84043e6fccc9ea2d44c1875e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/first.ets @@ -0,0 +1 @@ +import { Three } from "./third" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/second.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/second.ets new file mode 100644 index 0000000000000000000000000000000000000000..99ad12db260a527f84043e6fccc9ea2d44c1875e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/second.ets @@ -0,0 +1 @@ +import { Three } from "./third" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/third.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/third.ets new file mode 100644 index 0000000000000000000000000000000000000000..f4663f442d808ce828b2ae1ad2eeecda19b9923b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/files/third.ets @@ -0,0 +1,13 @@ +export class Three { + +} + +// We will rename this class +class I { + +} + +export function ensure() { + // Ensure that this program is never passed as a main program to typechecker + const five: string = 5 +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/main.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/main.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..e8f41e172b49e6fa759fe552292d1f741d6c41b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recache/main.test.ts @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as fs from "node:fs" +import * as util from "../../test-util" +import * as arkts from "../../../src" +import { execSync } from "node:child_process" +import { assert } from "chai" +import { compileWithCache } from "src/arkts-api/CompileWithCache" + +class Visitor extends arkts.AbstractVisitor { + visitor(node: arkts.AstNode) { + if (arkts.isIdentifier(node)) { + if (node.name.startsWith("I")) return arkts.factory.createIdentifier(node.name + "I") + } + return this.visitEachChild(node) + } +} + +function visitor(program: arkts.Program) { + arkts.dumpProgramInfo(program) + return new Visitor().visitor(program.ast) +} + +const PANDA_PATH = `${__dirname}/../../../../../incremental/tools/panda/` + +const FIRST = `${__dirname}/files/first.ets` +const SECOND = `${__dirname}/files/second.ets` +const THIRD = `${__dirname}/files/third.ets` + +const FIRST_ABC = `${__dirname}/files/build/first.abc` +const SECOND_ABC = `${__dirname}/files/build/second.abc` + +suite(util.basename(__filename), () => { + test('compile with cache', () => { + execSync(`rm -rf ${__dirname}/files/build`, { stdio: "inherit" }) + fs.mkdirSync(`${__dirname}/files/build`, { recursive: true }) + + compileWithCache( + `${__dirname}/arktsconfig.json`, + [ + { + absoluteName: THIRD, + output: undefined, + }, + { + absoluteName: SECOND, + output: SECOND_ABC, + }, + { + absoluteName: FIRST, + output: FIRST_ABC, + }, + ], + [visitor], + undefined + ) + + execSync(`${PANDA_PATH}/arkts/arkdisasm ${__dirname}/files/build/second.abc`, { stdio: "inherit" }) + assert(fs.readFileSync(`${__dirname}/files/build/second.abc`).includes('II')) + + execSync(`${PANDA_PATH}/arkts/arkdisasm ${__dirname}/files/build/first.abc`, { stdio: "inherit" }) + assert(fs.readFileSync(`${__dirname}/files/build/first.abc`).includes('II')) + }) +}) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/constructor/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/constructor/index.ts index 6b6b7206f1467c5d0b1264254f4fb0c65cf5f423..b43a54f3f530104db5bcc1363a3c25e38bc44877 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/constructor/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/constructor/index.ts @@ -48,5 +48,5 @@ class ConstructorWithOverload extends arkts.AbstractVisitor { } export function constructorWithOverload(program: arkts.Program) { - return (new ConstructorWithOverload()).visitor(program.astNode) + return new ConstructorWithOverload().visitor(program.ast as arkts.ETSModule) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/dump-src/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac6b069cee6fcb4dc36174220aa12947c948c067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/dump-src/main.ets @@ -0,0 +1,14 @@ + +import { C as C } from "./library"; + +import { f as f } from "./library"; + +function main(): void {} + +f(); + +class D { + public c = new C(); + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc415a3e6d16ad08c85fe1b8ee61ce32224680ca --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "../../../../../src/arkts-api" + +class ExportClass extends arkts.AbstractVisitor { + visitor(beforeChildren: arkts.ETSModule): arkts.ETSModule + visitor(beforeChildren: arkts.AstNode): arkts.AstNode { + const node = this.visitEachChild(beforeChildren) + if (arkts.isClassDeclaration(node) && node.definition?.ident?.name == "C") { + node.modifierFlags |= arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_EXPORT + } + return node + } +} + +export function addUseImportClassSameFileAndExportClass(program: arkts.Program, options: arkts.CompilationOptions) { + if (options.isMainProgram) { + arkts.updateETSModuleByStatements( + program.ast as arkts.ETSModule, + [ + // import { C as C } from "./library" + arkts.factory.createETSImportDeclaration( + arkts.factory.createStringLiteral( + './library' + ), + [ + arkts.factory.createImportSpecifier( + arkts.factory.createIdentifier( + 'C' + ), + arkts.factory.createIdentifier( + 'C' + ) + ) + ], + arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL + ), + ...program.ast.statements, + // class D { + // c = new C() + // } + arkts.factory.createClassDeclaration( + arkts.factory.createClassDefinition( + arkts.factory.createIdentifier("D"), + undefined, + undefined, + [], + undefined, + undefined, + [ + arkts.factory.createClassProperty( + arkts.factory.createIdentifier("c"), + arkts.factory.createETSNewClassInstanceExpression( + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier("C") + ) + ), + [] + ), + undefined, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + false, + ) + ], + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + ) + ) + ] + ) + } else { + new ExportClass().visitor(program.ast as arkts.ETSModule) + } + return program +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/library.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/library.ets new file mode 100644 index 0000000000000000000000000000000000000000..17667d2341a877d57ac6ff421ca1386ba4bebf22 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/library.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export declare function f(): void + +class C { + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..0d31540d6ff2d83b82b231e29cd1d5fab27c2fb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/main.ets @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { f } from "./library" + +f() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/dump-src/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac6b069cee6fcb4dc36174220aa12947c948c067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/dump-src/main.ets @@ -0,0 +1,14 @@ + +import { C as C } from "./library"; + +import { f as f } from "./library"; + +function main(): void {} + +f(); + +class D { + public c = new C(); + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..bbc7ef4cbe570d0bea7093e7bce2e76c6bf9d19a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "../../../../../src/arkts-api" + +export function addUseImportClassSameFile(program: arkts.Program, options: arkts.CompilationOptions) { + if (options.isMainProgram) { + arkts.updateETSModuleByStatements( + program.ast as arkts.ETSModule, + [ + // import { C as C } from "./library" + arkts.factory.createETSImportDeclaration( + arkts.factory.createStringLiteral( + './library' + ), + [ + arkts.factory.createImportSpecifier( + arkts.factory.createIdentifier( + 'C' + ), + arkts.factory.createIdentifier( + 'C' + ) + ) + ], + arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL + ), + ...program.ast.statements, + // class D { + // c = new C() + // } + arkts.factory.createClassDeclaration( + arkts.factory.createClassDefinition( + arkts.factory.createIdentifier("D"), + undefined, + undefined, + [], + undefined, + undefined, + [ + arkts.factory.createClassProperty( + arkts.factory.createIdentifier("c"), + arkts.factory.createETSNewClassInstanceExpression( + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier("C") + ) + ), + [] + ), + undefined, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + false, + ) + ], + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + ) + ) + ] + ) + } + return program +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/library.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/library.ets new file mode 100644 index 0000000000000000000000000000000000000000..7e717b8cc8fe9f36fc58fc44a7b7c450a9278568 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/library.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export declare function f(): void + +export class C { + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..0d31540d6ff2d83b82b231e29cd1d5fab27c2fb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/main.ets @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { f } from "./library" + +f() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/dump-src/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac6b069cee6fcb4dc36174220aa12947c948c067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/dump-src/main.ets @@ -0,0 +1,14 @@ + +import { C as C } from "./library"; + +import { f as f } from "./library"; + +function main(): void {} + +f(); + +class D { + public c = new C(); + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..6d7667ce85a8e083c4ff11d3e5cfa5c3cf0e290b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "../../../../../src/arkts-api" + +export function addUseImportClassSameFileAndCreateClass(program: arkts.Program, options: arkts.CompilationOptions) { + if (options.isMainProgram) { + arkts.updateETSModuleByStatements( + program.ast as arkts.ETSModule, + [ + // import { C as C } from "./library" + arkts.factory.createETSImportDeclaration( + arkts.factory.createStringLiteral( + './library' + ), + [ + arkts.factory.createImportSpecifier( + arkts.factory.createIdentifier( + 'C' + ), + arkts.factory.createIdentifier( + 'C' + ) + ) + ], + arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL + ), + ...program.ast.statements, + // class D { + // c = new C() + // } + arkts.factory.createClassDeclaration( + arkts.factory.createClassDefinition( + arkts.factory.createIdentifier("D"), + undefined, + undefined, + [], + undefined, + undefined, + [ + arkts.factory.createClassProperty( + arkts.factory.createIdentifier("c"), + arkts.factory.createETSNewClassInstanceExpression( + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier("C") + ) + ), + [] + ), + undefined, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + false, + ) + ], + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + ) + ) + ] + ) + } else { + arkts.updateETSModuleByStatements( + program.ast as arkts.ETSModule, + [ + ...program.ast.statements, + arkts.factory.createClassDeclaration( + arkts.factory.createClassDefinition( + arkts.factory.createIdentifier( + "C" + ), + undefined, + undefined, + [], + undefined, + undefined, + [ + arkts.factory.createMethodDefinition( + arkts.Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_CONSTRUCTOR, + arkts.factory.createIdentifier("constructor"), + arkts.factory.createFunctionExpression( + arkts.factory.createIdentifier("constructor"), + arkts.factory.createScriptFunction( + arkts.factory.createBlockStatement( + [], + ), + undefined, + [], + undefined, + false, + arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_CONSTRUCTOR, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.factory.createIdentifier("constructor"), + [], + ) + ), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_CONSTRUCTOR, + false, + [], + ), + ], + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + ), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_EXPORT, + ) + ] + ) + } + return program +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/library.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/library.ets new file mode 100644 index 0000000000000000000000000000000000000000..e97afd392c7f7a88b99ca7f3112d4b7c93111e28 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/library.ets @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export declare function f(): void diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..0d31540d6ff2d83b82b231e29cd1d5fab27c2fb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/main.ets @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { f } from "./library" + +f() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/dump-src/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac6b069cee6fcb4dc36174220aa12947c948c067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/dump-src/main.ets @@ -0,0 +1,14 @@ + +import { C as C } from "./library"; + +import { f as f } from "./library"; + +function main(): void {} + +f(); + +class D { + public c = new C(); + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..7d55cceeb133757bfc0f7c7206c1e1e9d0f938ef --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "../../../../../src/arkts-api" + +class StructToClass extends arkts.AbstractVisitor { + visitor(beforeChildren: arkts.ETSModule): arkts.ETSModule + visitor(beforeChildren: arkts.AstNode): arkts.AstNode { + const node = this.visitEachChild(beforeChildren) + if (arkts.isETSStructDeclaration(node)) { + return arkts.factory.createClassDeclaration( + node.definition, + ) + } + return node + } +} + +export function rewriteStructToClass(program: arkts.Program, options: arkts.CompilationOptions) { + if (!options.isMainProgram) { + new StructToClass().visitor(program.ast as arkts.ETSModule) + } + return program +} + +class ExportClass extends arkts.AbstractVisitor { + visitor(beforeChildren: arkts.ETSModule): arkts.ETSModule + visitor(beforeChildren: arkts.AstNode): arkts.AstNode { + const node = this.visitEachChild(beforeChildren) + if (arkts.isClassDeclaration(node) && node.definition?.ident?.name == "C") { + node.modifierFlags |= arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_EXPORT + } + return node + } +} + +export function addUseImportClassSameFileAfterRewritingStructToClass(program: arkts.Program, options: arkts.CompilationOptions) { + if (options.isMainProgram) { + arkts.updateETSModuleByStatements( + program.ast as arkts.ETSModule, + [ + // import { C as C } from "./library" + arkts.factory.createETSImportDeclaration( + arkts.factory.createStringLiteral( + './library' + ), + [ + arkts.factory.createImportSpecifier( + arkts.factory.createIdentifier( + 'C' + ), + arkts.factory.createIdentifier( + 'C' + ) + ) + ], + arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL + ), + ...program.ast.statements, + // class D { + // c = new C() + // } + arkts.factory.createClassDeclaration( + arkts.factory.createClassDefinition( + arkts.factory.createIdentifier("D"), + undefined, + undefined, + [], + undefined, + undefined, + [ + arkts.factory.createClassProperty( + arkts.factory.createIdentifier("c"), + arkts.factory.createETSNewClassInstanceExpression( + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier("C") + ) + ), + [] + ), + undefined, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + false, + ) + ], + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + ) + ) + ] + ) + } else { + new ExportClass().visitor(program.ast as arkts.ETSModule) + } + return program +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/library.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/library.ets new file mode 100644 index 0000000000000000000000000000000000000000..a84fea72c678bb42746294822a766a583a988bfb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/library.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export declare function f(): void + +struct C { + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..0d31540d6ff2d83b82b231e29cd1d5fab27c2fb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/main.ets @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { f } from "./library" + +f() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/dump-src/main.ets index 51d2896e435cdd0103ce61c0cccbf18790d679cc..3d4618582cbd7b04380a94c8d78a58daddf4cc60 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/dump-src/main.ets @@ -3,7 +3,7 @@ import { testFunction as testFunction } from "./library"; import { anotherFunction as anotherFunction } from "./library"; -function main() {} +function main(): void {} console.log("test"); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/index.ts index 79d2f95ad115f7ba50ed8ced7f476097f62f5fbd..59e2f607c88ac293bc92161343c8b0bd1d41795d 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-same-file/index.ts @@ -18,7 +18,7 @@ import * as arkts from "../../../../../src/arkts-api" export function addImportSameFile(program: arkts.Program, options: arkts.CompilationOptions) { if (options.isMainProgram) { arkts.updateETSModuleByStatements( - program.astNode, + program.ast as arkts.ETSModule, [ arkts.factory.createETSImportDeclaration( arkts.factory.createStringLiteral( @@ -36,7 +36,7 @@ export function addImportSameFile(program: arkts.Program, options: arkts.Compila ], arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL ), - ...program.astNode.statements, + ...program.ast.statements, ] ) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/dump-src/main.ets index d6401c452691033c05bbddbbb00ebe269c66cab8..fa9912efe018f538cea48de6681dda79d66f5c0f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/dump-src/main.ets @@ -3,7 +3,7 @@ import { testFunction as testFunction } from "./library"; import { anotherFunction as anotherFunction } from "./library"; -function main() {} +function main(): void {} console.log("test"); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/index.ts index 601b00a89fa9beeaab1ff91167b4fee4bdcf47e4..2ada6671e75d29e5043fd47c1ac5406e79fc5fb8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/add-use-same-file/index.ts @@ -18,9 +18,9 @@ import * as arkts from "../../../../../src/arkts-api" export function addUseImportSameFile(program: arkts.Program, options: arkts.CompilationOptions) { if (options.isMainProgram) { arkts.updateETSModuleByStatements( - program.astNode, + program.ast as arkts.ETSModule, [ - ...program.astNode.statements, + ...program.ast.statements, arkts.factory.createCallExpression( arkts.factory.createIdentifier("testFunction"), [], @@ -32,7 +32,7 @@ export function addUseImportSameFile(program: arkts.Program, options: arkts.Comp ] ) arkts.updateETSModuleByStatements( - program.astNode, + program.ast as arkts.ETSModule, [ arkts.factory.createETSImportDeclaration( arkts.factory.createStringLiteral( @@ -50,7 +50,7 @@ export function addUseImportSameFile(program: arkts.Program, options: arkts.Comp ], arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL ), - ...program.astNode.statements, + ...program.ast.statements, ] ) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/dump-src/main.ets index 093458f2ff8bf630c0edfed81f0e0e268e91f583..a12e08603ffffe4ef76d39ba91314a6ad891ef07 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/dump-src/main.ets @@ -3,7 +3,7 @@ import { One as One } from "./one_recursive"; import { Two as Two } from "./two_recursive"; -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/index.ts index 3f12d812f56e362474d209f5f46088e302914d40..39dcc470db2cfc26e0cc46105e2f290417cb0302 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/imports/recursive/index.ts @@ -48,5 +48,5 @@ class InsertParameter extends arkts.AbstractVisitor { } export function insertParameter(program: arkts.Program) { - return (new InsertParameter()).visitor(program.astNode) + return new InsertParameter().visitor(program.ast as arkts.ETSModule) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/dump-src/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..061169c18fe42d580f170dc0ec23adbdbcf5a76b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/dump-src/main.ets @@ -0,0 +1,30 @@ + +function main(): void {} + + +function foo(): void { + HasInstantiate.$_instantiate((() => { + return new HasInstantiate(); + }), "foo"); +} + +function hasTrailing(first?: string, trailing?: (()=> void)): void { + ({let gensym%%_994 = trailing; + (((gensym%%_994) == (null)) ? undefined : gensym%%_994())}); +} + +function bar(zzz: string): void { + hasTrailing("xxx"); + hasTrailing("xxx", (() => { + const d = zzz; + })); +} + + +class HasInstantiate { + public static $_instantiate(factory: (()=> HasInstantiate), arg: string): void {} + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..354f2045d2f6220667a3bd4a009adb2ab91ef0f0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/lambda/unchanged/main.ets @@ -0,0 +1,23 @@ + +class HasInstantiate { + static $_instantiate(factory: () => HasInstantiate, arg: string) { + } +} + +function foo(): void { + HasInstantiate("foo") +} + +function hasTrailing(first?: string, trailing?: () => void): void { + trailing?.() +} + +function bar(zzz: string): void { + + hasTrailing("xxx") + + hasTrailing("xxx") { + const d = zzz + } +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/dump-src/main.ets index b544534652fc8f649350a93a032c878a1fb55ff9..2dec4be24faccd0e72eb82a5643a235cd75abd9a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/dump-src/main.ets @@ -1,8 +1,8 @@ -function main() {} +function main(): void {} -function someFunc(value: SomeClass | undefined) { +function someFunc(value: SomeClass | undefined): void { let x: SomeClass | undefined = value; let zzz = ({let chaintmp%%_0 = x; (((chaintmp%%_0) === (undefined)) ? undefined : chaintmp%%_0.y)}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/index.ts index 45698952a88f30915d4e20a1fe300de26d485d12..7594a46f25410528419908be67b68c4548fcb446 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/index.ts @@ -14,7 +14,6 @@ */ import * as arkts from "../../../../../src/arkts-api" -import * as fs from 'fs' class AddOptionalChain extends arkts.AbstractVisitor { visitor(beforeChildren: arkts.AstNode): arkts.AstNode { @@ -42,7 +41,6 @@ class AddOptionalChain extends arkts.AbstractVisitor { } export function addOptionalChain(program: arkts.Program) { - const inserted = (new AddOptionalChain()).visitor(program.astNode) - const result = (new arkts.ChainExpressionFilter()).visitor(inserted) - return result + const inserted = new AddOptionalChain().visitor(program.ast) + return new arkts.ChainExpressionFilter().visitor(inserted) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/main.ets index aa809ce1d55564c8fe6d94aa6def498ea6524d91..e53234f414663b13d1e9c2460b68bd1073816d82 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/add-chain/main.ets @@ -2,7 +2,7 @@ class SomeClass { y: string = "yyy" } -function someFunc(value: SomeClass|undefined) { +function someFunc(value: SomeClass|undefined): void { let x: SomeClass|undefined = value let zzz = x?.y } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/unchanged/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/unchanged/dump-src/main.ets index b4aca3c9c6a3d1471ccc6a5116a70c642518f25c..fa660ff8b2b9cce7bb3f9435432371d61a1f8ee6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/unchanged/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/optional/unchanged/dump-src/main.ets @@ -1,11 +1,11 @@ -function main() {} +function main(): void {} -function foo(x: X | undefined) { - let zzz = ({let gensym%%_704 = ({let gensym%%_703 = x; - (((gensym%%_703) == (null)) ? undefined : gensym%%_703.y)}); - (((gensym%%_704) == (null)) ? undefined : gensym%%_704.length)}); +function foo(x: X | undefined): void { + let zzz = ({let gensym%%_860 = ({let gensym%%_859 = x; + (((gensym%%_859) == (null)) ? undefined : gensym%%_859.y)}); + (((gensym%%_860) == (null)) ? undefined : gensym%%_860.length)}); } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/dump-src/main.ets index 5650ef6e54d975cf00b4efe6762de626fdc1cb66..781980772aa55ce973a4b3406ef7777ee56e2622 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/index.ts index ea432a3c9dc07e14f16106567d917dcdb6a4c978..fad7abd6594cc893719188a304cd99683d0444b0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/overloads/getter-setter/index.ts @@ -43,5 +43,5 @@ class InsertParameterToType extends arkts.AbstractVisitor { } export function insertParameterToType(program: arkts.Program) { - return (new InsertParameterToType()).visitor(program.astNode) + return new InsertParameterToType().visitor(program.ast as arkts.ETSModule) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/recheck.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/recheck.test.ts index 4a17b3a3182edce25abbbcc256ac1ba057075749..59d35c643ac681be367cd8713f476fb3379760b8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/recheck.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/recheck.test.ts @@ -15,7 +15,7 @@ import * as fs from "node:fs" import * as util from "../../test-util" -import * as arkts from "../../../src/arkts-api" +import * as arkts from "../../../src" import { constructorWithOverload } from "./constructor" import { updateTopLevelClass } from "./simple" import { renameClass } from "./simple/rename-class" @@ -31,6 +31,7 @@ import { addOptionalChain } from "./optional/add-chain" import { addUseImportClassSameFile } from "./exports/basic" import { addUseImportClassSameFileAndExportClass } from "./exports/add-export" import { addUseImportClassSameFileAndCreateClass } from "./exports/create-class" +import { addUseImportClassSameFileAfterRewritingStructToClass, rewriteStructToClass } from "./exports/struct-to-class" const DIR = './test/arkts-api/recheck/' const PANDA_SDK_PATH = process.env.PANDA_SDK_PATH ?? '../../incremental/tools/panda/node_modules/@panda/sdk' @@ -65,28 +66,8 @@ function proceedToChecked() { arkts.proceedToState(arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED) } -function applyTransform(transform?: arkts.ProgramTransformer, onlyModifyMain?: boolean) { - arkts.arktsGlobal.compilerContext.program.externalSources.forEach(it => { - if (it.getName().startsWith("std.")) return - if (it.getName().startsWith("escompat")) return - it.programs.forEach(program => { - const ast = program.astNode - const importStorage = new arkts.ImportStorage(program, false) - if (!onlyModifyMain) { - transform?.(program, { isMainProgram: false, name: "", stage: arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED }, new arkts.PluginContextImpl()) - } - arkts.setBaseOverloads(ast) - importStorage.update() - arkts.arktsGlobal.es2panda._AstNodeUpdateAll(arkts.arktsGlobal.context, ast.peer) - }) - }) - - const script = arkts.createETSModuleFromContext() - const importStorage = new arkts.ImportStorage(arkts.arktsGlobal.compilerContext.program, false) - transform?.(arkts.arktsGlobal.compilerContext.program, { isMainProgram: true, name: "", stage: arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED }, new arkts.PluginContextImpl()) - arkts.setBaseOverloads(script) - importStorage.update() - arkts.arktsGlobal.es2panda._AstNodeUpdateAll(arkts.arktsGlobal.context, script.peer) +function applyTransformOnStage(transform?: arkts.ProgramTransformer, onlyModifyMain?: boolean, stage: arkts.Es2pandaContextState = arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED) { + arkts.runTransformer(arkts.arktsGlobal.compilerContext.program, stage, false, transform, new arkts.PluginContextImpl(), {}) } function recheck() { @@ -108,7 +89,7 @@ function dumpJson(file: string) { function assertSrc(file: string) { const src = arkts.createETSModuleFromContext().dumpSrc() const expected = fs.readFileSync(`${DIR}/${file}/dump-src/main.ets`, 'utf-8') - util.assert.equal(src, expected) + util.assert.equal(filterGensym(src), filterGensym(expected)) } function assertJson(file: string) { @@ -117,6 +98,10 @@ function assertJson(file: string) { util.assert.equal(json, expected) } +function filterGensym(value: string): string { + return value.replaceAll(/gensym%%_[0-9]*/g, "gensym_XXX") +} + function proceedToBin() { arkts.proceedToState(arkts.Es2pandaContextState.ES2PANDA_STATE_BIN_GENERATED) } @@ -146,7 +131,35 @@ function runTest( createConfig(file) createContext(file) proceedToChecked() - applyTransform(transform, options.onlyModifyMain) + applyTransformOnStage(transform, options.onlyModifyMain) + recheck() + if (process.env.TEST_GOLDEN == "1") { + if (!options.skipSrc) dumpSrc(file) + if (!options.skipJson) dumpJson(file) + } else { + if (!options.skipSrc) assertSrc(file) + if (!options.skipJson) assertJson(file) + } + proceedToBin() +} + +function runTestWithParsedTransform( + file: string, + parsedTransform?: arkts.ProgramTransformer, + transform?: arkts.ProgramTransformer, + userOptions: TestOptions = defaultTestOptions +) { + const options = { + skipSrc: userOptions.skipSrc ?? defaultTestOptions.skipSrc, + skipJson: userOptions.skipJson ?? defaultTestOptions.skipJson, + onlyModifyMain: userOptions.onlyModifyMain ?? defaultTestOptions.onlyModifyMain + } + createConfig(file) + createContext(file) + proceedToParsed() + applyTransformOnStage(parsedTransform, options.onlyModifyMain, arkts.Es2pandaContextState.ES2PANDA_STATE_PARSED) + proceedToChecked() + applyTransformOnStage(transform, options.onlyModifyMain) recheck() if (process.env.TEST_GOLDEN == "1") { if (!options.skipSrc) dumpSrc(file) @@ -188,24 +201,29 @@ suite(util.basename(__filename), () => { test("import type", () => { runTest('static/import-type', undefined) }) + + // failure reason + test.skip("import all", () => { + runTest('static/import-all', undefined) + }) }) suite('simple', () => { test('rename class', () => { runTest('simple/rename-class', (program: arkts.Program) => { - return updateTopLevelClass(program.astNode, renameClass) + return updateTopLevelClass(program.ast as arkts.ETSModule, renameClass) }) }) test('add class method', () => { runTest('simple/add-class-method', (program: arkts.Program) => { - return updateTopLevelClass(program.astNode, addClassMethod) + return updateTopLevelClass(program.ast as arkts.ETSModule, addClassMethod) }) }) test('add variable declaration', () => { runTest('simple/add-variable', (program: arkts.Program) => { - return updateTopLevelClass(program.astNode, addVariableDeclaration) + return updateTopLevelClass(program.ast as arkts.ETSModule, addVariableDeclaration) }) }) }) @@ -227,6 +245,12 @@ suite(util.basename(__filename), () => { }) }) + suite('lambda', () => { + test('compiler produced lambdas unchanged', () => { + runTest('lambda/unchanged', undefined) + }) + }) + suite('imports', () => { test('add another import from the same file with dedicated API', () => { runTest('imports/add-same-file', addImportSameFile) @@ -263,5 +287,9 @@ suite(util.basename(__filename), () => { test('import created class', () => { runTest('exports/create-class', addUseImportClassSameFileAndCreateClass) }) + + test('export struct as class', () => { + runTestWithParsedTransform('exports/struct-to-class', rewriteStructToClass, addUseImportClassSameFileAfterRewritingStructToClass) + }) }) }) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-class-method/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-class-method/dump-src/main.ets index d15caa7a4354787470a2d7bcfee32b00010bf1d7..1e6fb9a35ba17a96f9c78b86f6dca5c0436afa42 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-class-method/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-class-method/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-variable/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-variable/dump-src/main.ets index b180ebf346644f46eb39bec81974759471d8cab3..22cea7c07973a92206d23a4ebc032a604f8a879f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-variable/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/add-variable/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/rename-class/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/rename-class/dump-src/main.ets index 19141932f61d9d5b3c299b1398f882db685a4e03..da9bd0182372f1979a305bd5ffb0a508ce87538a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/rename-class/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/simple/rename-class/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/constructor/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/constructor/dump-src/main.ets index 19bfce52f3ec0d4d1ceeaffa38c9466e689cec57..2339dcfc717a53690eeaa38d4b19582c77009c97 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/constructor/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/constructor/dump-src/main.ets @@ -1,11 +1,11 @@ -function main() {} +function main(): void {} class XXX { constructor(x: (()=> void)) { - (this)(x, undefined); + this(x, undefined); } public constructor(x: (()=> void), y: (()=> void) | undefined) {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/dump-src/main.ets index 59bd2154e84f5a744f0b5b1cddc14a2ee6e0e281..71fcc0a7c1a6c8705bb55ac888c70a8ef1f4b5a7 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/dump-src/main.ets @@ -1,7 +1,7 @@ -function main() {} +function main(): void {} -function foo() {} +function foo(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/main.ets index b2ef1225742f42df6505c5685a8cbae1a1c4c7f3..2c0360369803ad3484835777dd439988186dd684 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/function/main.ets @@ -13,4 +13,4 @@ * limitations under the License. */ -function foo() {} +function foo(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/library.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/library.ts new file mode 100644 index 0000000000000000000000000000000000000000..e76c034cae87408f2f5f2d2fd654168933a11512 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/library.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class Scope { + static scope(): Scope { + throw new Error("") + } + cached(): T { + throw new Error("") + } +} + +export interface ExportedType { + scope( value: () => V ) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/main.ets new file mode 100644 index 0000000000000000000000000000000000000000..802b16326bf22b7a1bb6cc7f7a2b78ef75d113b2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-all/main.ets @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as library from "./library" diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-type/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-type/dump-src/main.ets index e4df10838ff6e240e056d5d29d665a1d7695efea..8df7cc648b91873c7cd1044ef122e4189c1eea7a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-type/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/import-type/dump-src/main.ets @@ -1,7 +1,7 @@ import { ExportedType as ExportedType } from "./library"; -function main() {} +function main(): void {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/public-setter/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/public-setter/dump-src/main.ets index 81e34015fe56ce11506f87dd4d7c55b26b4a11f3..ee4f2f0815530240d1f322e6a9411444f487ff43 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/public-setter/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/public-setter/dump-src/main.ets @@ -3,7 +3,7 @@ import { AnimatedState as AnimatedState, one as one } from "./library"; let x: AnimatedState | undefined; -function main() {} +function main(): void {} if (x) { x!.paused = true diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/trailing-block/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/trailing-block/dump-src/main.ets index b5ea13d894e24375dde58c1d4c6cc528d24c4823..97ac6287fc601e80ca00128cbbe40fa95238dbd4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/trailing-block/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/trailing-block/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} @@ -7,8 +7,8 @@ class C { public f(arg: (()=> void)): void {} public g(): void { - (this).f((() => { - const x = ((6) + (5)); + this.f((() => { + const x = 11; })); } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/typed-property/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/typed-property/dump-src/main.ets index 47d87b20892735b4cd8c1399171e3aaea24990cc..b90cc948804100f5117feb3e9fbba2374d39359a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/typed-property/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/static/typed-property/dump-src/main.ets @@ -1,5 +1,5 @@ -function main() {} +function main(): void {} @@ -16,12 +16,12 @@ class C implements I { private _$property$_prop: boolean = true; set prop(_$property$_prop: boolean) { - (this)._$property$_prop = _$property$_prop; + this._$property$_prop = _$property$_prop; return; } public get prop(): boolean { - return (this)._$property$_prop; + return this._$property$_prop; } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/dump-src/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/dump-src/main.ets index 5d580cf9c080e97aa52eaffb67a29fe07361c913..1f68b1bf7d3bb18041ca93238a442943311386dd 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/dump-src/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/dump-src/main.ets @@ -1,11 +1,11 @@ -function main() {} +function main(): void {} class A { - public no_this() { - (this); + public no_this(): void { + this; console.log("test"); } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/index.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/index.ts index 1961e672db4bd7176f5018f4e31c54a62ccca08c..d021e8d63598fa66d379a54c748655e72680a05a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/index.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/index.ts @@ -14,6 +14,7 @@ */ import * as arkts from "../../../../src/arkts-api" +import { ETSModule } from "../../../../src/arkts-api" class AddThisReference extends arkts.AbstractVisitor { visitor(beforeChildren: arkts.ETSModule): arkts.ETSModule @@ -46,5 +47,5 @@ class AddThisReference extends arkts.AbstractVisitor { } export function addThisReference(program: arkts.Program) { - return (new AddThisReference()).visitor(program.astNode) + return new AddThisReference().visitor(program.ast as ETSModule) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/main.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/main.ets index ca539021618a7cf704ccb2f3492005ec096b519b..c3dc450b6b52592337bedf34a59673ca6ac9129a 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/main.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/libarkts/test/arkts-api/recheck/this/main.ets @@ -14,7 +14,7 @@ */ class A { - no_this() { + no_this(): void { console.log("test") } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/demo/ui2abcconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/demo/ui2abcconfig.json index 40de7362f7ad7e946b83f1395817c3d65321c1cd..ae32beff6c81751b9bc738c993bb5a03cc6cccaa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/demo/ui2abcconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/demo/ui2abcconfig.json @@ -19,8 +19,7 @@ { "transform": "../lib/MemoTransformer", "stage": "checked", - "name": "memo", - "manuallyDisableInsertingImport": true + "name": "memo" } ] }, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/package.json index 751de35923f96cf406b5159c241f19d27ac8ce19..a51ae085c06a3d13a6996a3f2e7ed876bbcd3b9f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/package.json @@ -15,20 +15,24 @@ "runtime:prepare": "npm run build:incremental:inc:ui2abc --prefix ../../incremental/runtime && npm run build:incremental:inc:ui2abc:recheck --prefix ../../incremental/runtime", "compile:libarkts": "npm run compile --prefix ../libarkts", "demo:clean": "npm run clean --prefix demo", - "demo:run": "npm run compile:libarkts && npm run compile && npm run compile --prefix demo && npm run run --prefix demo", - "test": "npm run compile:libarkts && npm run compile && npm run test --prefix test", + "demo:run:light": "npm run compile --prefix demo && npm run run --prefix demo", + "demo:run": "npm run compile:libarkts && npm run compile && npm run demo:run:light", + "test:light": "npm run test --prefix test", + "test": "npm run compile:libarkts && npm run compile && npm run test:light", "demo:disasm": "npm run disasm --prefix demo", "compile:deps:harness": "cd ../../incremental/harness && npm run build:harness", "compile:deps": "npm run compile:libarkts && npm run compile && npm run compile:deps:harness && npm run runtime:prepare", "compile:annotate": "npm run compile --prefix ../annotate", + "executable:light": "npm run test:arkts:memo-plugin:light --prefix ../tests-memo", "executable": "npm run test:arkts:memo-plugin --prefix ../tests-memo", "diagnostics": "mocha --config mocharc.diagnostics.json", "test:diagnostics": "npm run compile && npm run diagnostics", + "test:all:light": "npm run test:light && npm run diagnostics && npm run executable:light", "test:all": "npm run test && npm run diagnostics && npm run executable" }, "devDependencies": { - "@koalaui/harness": "1.5.15+devel" + "@koalaui/harness": "1.7.4+devel" } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/recheck-bringup/ui2abcconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/recheck-bringup/ui2abcconfig.json index 75f8059debf4c6fe6bb52761b178f0c5131c968a..22a0041b72b4e612fd3e7fcdaf5d70776759b740 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/recheck-bringup/ui2abcconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/recheck-bringup/ui2abcconfig.json @@ -20,7 +20,6 @@ "transform": "@koalaui/memo-plugin", "stage": "checked", "name": "memo" - "manuallyDisableInsertingImport": true } ] }, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/FunctionTransformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/FunctionTransformer.ts index 42b3735db19c31d078673a4073ca1f092aed8610..c5792054d49f3b65d9d8e65ed0d91aef9d1e39bc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/FunctionTransformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/FunctionTransformer.ts @@ -50,13 +50,13 @@ function mayAddLastReturn(node: arkts.BlockStatement): boolean { ) } -function dropUntrackableParameters(parameters: readonly arkts.ETSParameterExpression[]) { - return parameters.filter((it, index) => isTrackableParam(it, index + 1 == parameters.length)) +function dropUntrackableParameters(parameters: readonly arkts.ETSParameterExpression[], trackContentParam: boolean) { + return parameters.filter((it, index) => isTrackableParam(it, index + 1 == parameters.length, trackContentParam)) } -function getMemoParameterIdentifiers(parameters: readonly arkts.ETSParameterExpression[]) { +function getMemoParameterIdentifiers(parameters: readonly arkts.ETSParameterExpression[], trackContentParam: boolean) { return [ - ...dropUntrackableParameters(parameters).map(it => { + ...dropUntrackableParameters(parameters, trackContentParam).map(it => { return { ident: it.ident!, param: it } }) ] @@ -92,6 +92,7 @@ function updateFunctionBody( stableThis: boolean, hash: arkts.Expression, addLogging: boolean, + trackContentParam: boolean, ): [ arkts.BlockStatement, ParamInfo[], @@ -99,7 +100,7 @@ function updateFunctionBody( arkts.ReturnStatement | arkts.BlockStatement | undefined, ] { const shouldCreateMemoThisParam = needThisRewrite(hasReceiver, isStatic, stableThis) && !parametersBlockHasReceiver(parameters) - const parameterIdentifiers = getMemoParameterIdentifiers(parameters) + const parameterIdentifiers = getMemoParameterIdentifiers(parameters, trackContentParam) const gensymParamsCount = fixGensymParams(parameterIdentifiers, node) const parameterNames = [...(shouldCreateMemoThisParam ? [RuntimeNames.THIS.valueOf()] : []), ...parameterIdentifiers.map(it => it.ident.name)] const scopeDeclaration = factory.createScopeDeclaration( @@ -109,7 +110,9 @@ function updateFunctionBody( const memoParametersDeclaration = parameterNames.length ? factory.createMemoParameterDeclaration(parameterNames) : undefined const syntheticReturnStatement = factory.createSyntheticReturnStatement(returnTypeAnnotation) const unchangedCheck = [factory.createIfStatementWithSyntheticReturnStatement(syntheticReturnStatement)] - const thisParamSubscription = (arkts.isTSThisType(returnTypeAnnotation) && !stableThis) ? [factory.createMemoParameterAccess("=t")] : [] + const thisParamSubscription = (arkts.isTSThisType(returnTypeAnnotation) && !stableThis) + ? [arkts.factory.createExpressionStatement(factory.createMemoParameterAccess("=t"))] + : [] return [ arkts.factory.updateBlockStatement( node, @@ -145,6 +148,7 @@ export class FunctionTransformer extends arkts.AbstractVisitor { private parameterTransformer: ParameterTransformer, private returnTransformer: ReturnTransformer, private addLogging: boolean, + private trackContentParam: boolean, ) { super() } @@ -217,7 +221,8 @@ export class FunctionTransformer extends arkts.AbstractVisitor { isStatic, isStableThis, this.positionalIdTracker.id(name), - this.addLogging + this.addLogging, + this.trackContentParam, ) const afterParameterTransformer = this.parameterTransformer .withThis(needThisRewrite(hasReceiver, isStatic, isStableThis)) @@ -269,7 +274,11 @@ export class FunctionTransformer extends arkts.AbstractVisitor { const params = getParams(decl) const updatedArguments = node.arguments.map((it, index) => { - if (shouldWrap(params[index], index + 1 == params.length, it)) { + if (!params[index]) return it + // TODO: this is not quite correct. + // This code is too dependent on the availability of parameter declaration and its type + // Most of the decisions should be taken basing on the fact that this is a memo call + if (shouldWrap(params[index], index + 1 == params.length, this.trackContentParam, it)) { return factory.createComputeExpression(this.positionalIdTracker.id(getName(decl)), this.fixObjectArg(it, params[index])) } return this.fixObjectArg(it, params[index]) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoFactory.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoFactory.ts index 368d02e69c9fca344c5fe6827c4c0f8eb44db311..ea73197265155a09156510d5f7cf75ded4af23ae 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoFactory.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoFactory.ts @@ -103,7 +103,7 @@ export class factory { return arkts.factory.createIdentifier(`${RuntimeNames.PARAMETER}_${name}`, undefined) } static createMemoParameterDeclarator(id: number, name: string): arkts.VariableDeclarator { - const original = (name == "this" || name == "=t") ? + const original = (name == "this") ? arkts.factory.createThisExpression() : arkts.factory.createIdentifier(name, undefined) return arkts.factory.createVariableDeclarator( @@ -131,30 +131,32 @@ export class factory { parameters.map((name, id) => { return factory.createMemoParameterDeclarator(id, name) }), ) } - static createMemoParameterModifiedLogging(parameters: string[]): arkts.CallExpression { - return arkts.factory.createCallExpression( - arkts.factory.createMemberExpression( - arkts.factory.createIdentifier(DebugNames.CONSOLE, undefined), - arkts.factory.createIdentifier(DebugNames.LOG, undefined), - arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_NONE, - false, - false, - ), - [ - arkts.factory.createStringLiteral(DebugNames.BANNER_PARAMETER), - ...parameters.flatMap((name) => { return [ - arkts.factory.createStringLiteral(`( ${name} modified:`), - arkts.factory.createMemberExpression( - factory.createMemoParameterIdentifier(name), - arkts.factory.createIdentifier("modified", undefined), - arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_GETTER, - false, - false - ), - arkts.factory.createStringLiteral(`)`), - ] }) - ], - undefined, + static createMemoParameterModifiedLogging(parameters: string[]): arkts.ExpressionStatement { + return arkts.factory.createExpressionStatement( + arkts.factory.createCallExpression( + arkts.factory.createMemberExpression( + arkts.factory.createIdentifier(DebugNames.CONSOLE, undefined), + arkts.factory.createIdentifier(DebugNames.LOG, undefined), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_NONE, + false, + false, + ), + [ + arkts.factory.createStringLiteral(DebugNames.BANNER_PARAMETER), + ...parameters.flatMap((name) => { return [ + arkts.factory.createStringLiteral(`( ${name} modified:`), + arkts.factory.createMemberExpression( + factory.createMemoParameterIdentifier(name), + arkts.factory.createIdentifier("modified", undefined), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_GETTER, + false, + false + ), + arkts.factory.createStringLiteral(`)`), + ] }) + ], + undefined, + ) ) } static createMemoParameterAccess(name: string): arkts.MemberExpression { @@ -277,26 +279,28 @@ export class factory { undefined, ) } - static createUnchangedLogging() { - return arkts.factory.createCallExpression( - arkts.factory.createMemberExpression( - arkts.factory.createIdentifier(DebugNames.CONSOLE, undefined), - arkts.factory.createIdentifier(DebugNames.LOG, undefined), - arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_NONE, - false, - false, - ), - [ - arkts.factory.createStringLiteral(DebugNames.BANNER_UNCHANGED), + static createUnchangedLogging(): arkts.ExpressionStatement { + return arkts.factory.createExpressionStatement( + arkts.factory.createCallExpression( arkts.factory.createMemberExpression( - arkts.factory.createIdentifier(RuntimeNames.SCOPE, undefined), - arkts.factory.createIdentifier(RuntimeNames.INTERNAL_VALUE_OK, undefined), - arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_GETTER, + arkts.factory.createIdentifier(DebugNames.CONSOLE, undefined), + arkts.factory.createIdentifier(DebugNames.LOG, undefined), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_NONE, false, - false - ) - ], - undefined, + false, + ), + [ + arkts.factory.createStringLiteral(DebugNames.BANNER_UNCHANGED), + arkts.factory.createMemberExpression( + arkts.factory.createIdentifier(RuntimeNames.SCOPE, undefined), + arkts.factory.createIdentifier(RuntimeNames.INTERNAL_VALUE_OK, undefined), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_GETTER, + false, + false + ) + ], + undefined, + ) ) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoTransformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoTransformer.ts index d1a9c670b3fffa8075bfcaadd83165bc1c68646b..d4dd80f77c4f95ecd066977ecb3b3c30a8c54c39 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoTransformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/MemoTransformer.ts @@ -22,32 +22,34 @@ import { InternalsTransformer } from "./InternalsTransformer" import { ParameterTransformer } from "./ParameterTransformer" import { ReturnTransformer } from "./ReturnTranformer" import { SignatureTransformer } from "./SignatureTransformer" -import { DiagnosticVisitor } from "./DiagnosticVisitor" +import { DiagnosticVisitor } from "./diagnostics/DiagnosticVisitor" export interface TransformerOptions { trace?: boolean, contextImport?: string, stableForTests?: boolean, keepTransformed?: string, - manuallyDisableInsertingImport?: boolean, addLogging?: boolean, + trackContentParam?: boolean, } export default function memoTransformer( userPluginOptions?: TransformerOptions ) { return (program: arkts.Program, options: arkts.CompilationOptions, context: arkts.PluginContext) => { + const restart = options.restart + const scriptFunctions = new Map() const ETSFunctionTypes = new Map() const analysisVisitor = new AnalysisVisitor(scriptFunctions, ETSFunctionTypes) const diagnosticVisitor = new DiagnosticVisitor(scriptFunctions) - const positionalIdTracker = new PositionalIdTracker(`${arkts.getPackageName()}.${arkts.getFilePathFromPackageRoot()}`, userPluginOptions?.stableForTests) + const positionalIdTracker = new PositionalIdTracker(program.relativeFilePath, userPluginOptions?.stableForTests) const signatureTransformer = new SignatureTransformer(scriptFunctions, ETSFunctionTypes) const internalsTransformer = new InternalsTransformer(positionalIdTracker) const parameterTransformer = new ParameterTransformer(positionalIdTracker) const returnTransformer = new ReturnTransformer() - const node = program.astNode + const node = program.ast as arkts.ETSModule analysisVisitor.visitor(node) diagnosticVisitor.visitor(node) @@ -59,10 +61,11 @@ export default function memoTransformer( internalsTransformer, parameterTransformer, returnTransformer, - userPluginOptions?.addLogging ?? false + userPluginOptions?.addLogging ?? false, + userPluginOptions?.trackContentParam ?? false, ) let result = functionTransformer.visitor(node) - if (userPluginOptions?.manuallyDisableInsertingImport != true) { + if (restart) { if ((functionTransformer.modified || signatureTransformer.modified)) { result = arkts.updateETSModuleByStatements( result, @@ -73,8 +76,8 @@ export default function memoTransformer( ) } } - if (userPluginOptions?.keepTransformed) { - dumpAstToFile(result, userPluginOptions.keepTransformed) + if (userPluginOptions?.keepTransformed && options.isMainProgram) { + dumpAstToFile(result, userPluginOptions.keepTransformed, userPluginOptions?.stableForTests ?? false) } return result } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/ParserTransformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/ParserTransformer.ts index 2d86f4619033ee57b39b7af413d45cbbdcdfb570..9abec3c62e2be4ed358d17ed3975712b2b2b2dae 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/ParserTransformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/ParserTransformer.ts @@ -16,6 +16,22 @@ import * as arkts from "@koalaui/libarkts" import { factory } from "./MemoFactory" +const ignore = [ + "@koalaui/compat", + "@koalaui/common", + "@koalaui/runtime/annotations", + + "@koalaui/runtime.internals", + "@koalaui/runtime.index", + + "@koalaui/runtime.states.State", + "@koalaui/runtime.tree.ReadonlyTreeNode", + "@koalaui/runtime.tree.IncrementalNode", + "@koalaui/runtime.states.Disposable", + "@koalaui/runtime.states.Dependency", + "@koalaui/runtime.states.Journal", +] + export interface TransformerOptions { contextImport?: string, stableForTests?: boolean @@ -25,16 +41,22 @@ export default function memoParserTransformer( userPluginOptions?: TransformerOptions ) { return (program: arkts.Program, options: arkts.CompilationOptions, context: arkts.PluginContext) => { - if (userPluginOptions?.contextImport && options) { + const restart = options.restart + if (restart) { + console.log("Parser transformer of memo plugin does nothing with restart mode enabled") + return + } + + if (ignore.some(it => program.moduleName.startsWith(it)) || program.moduleName == "") { /* Some files should not be processed by plugin actually */ - if (options.name.startsWith('@koalaui/common') || options.name.startsWith('@koalaui/compat')) return - if (options.name.startsWith('@koalaui/runtime.internals') || options.name.startsWith('@koalaui/runtime/annotations')) return + return } + return arkts.updateETSModuleByStatements( - program.astNode, + program.ast as arkts.ETSModule, [ factory.createContextTypesImportDeclaration(userPluginOptions?.stableForTests ?? false, userPluginOptions?.contextImport), - ...program.astNode.statements, + ...program.ast.statements, ] ) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/DiagnosticVisitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/DiagnosticVisitor.ts new file mode 100644 index 0000000000000000000000000000000000000000..347ec21655c7efbe36d5bdd6c5d2ff0b3a88cc09 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/DiagnosticVisitor.ts @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "@koalaui/libarkts" +import { getDeclResolveGensym, isMemoCall, MemoFunctionKind, RuntimeNames } from "../utils" +import { getName, isMemo, isMemoizable } from "../api-utils" +import { ScopedVisitor } from "./ScopedVisitor" +import { Reporter } from "./Reporter" +import { toArray } from "./ToArrayVisitor" + +export class DiagnosticVisitor extends ScopedVisitor { + constructor(functionTable: Map) { + super(functionTable) + } + + visitor(beforeChildren: arkts.AstNode): arkts.AstNode { + this.enterScope(beforeChildren) + const node = this.visitEachChild(beforeChildren) + + // TODO: check state mutation, panda issue 26718 + this.checkDefaultValueMemoCall(node) + this.checkOutOfMemoContextMemoCall(node) + this.checkMemoDeclarationIsExplicitlyTyped(node) + this.checkParameterMutation(node) + + this.exitScope(beforeChildren) + return node + } + + private checkOutOfMemoContextMemoCall(node: arkts.AstNode): void { + if (!arkts.isCallExpression(node)) return + const callee = node.callee ?? arkts.throwError(`call expression has no callee`) + const decl = getDeclResolveGensym(callee) + if (!isMemoizable(decl)) return + if (!isMemo(decl)) return + if (this.isCurrentScopeMemo()) return + const callName = getName(decl) + const scopeName = this.currentScopeName() + Reporter.reportOutOfContextMemoCall(callName, scopeName) + } + + private checkDefaultValueMemoCall(node: arkts.AstNode): void { + if (!arkts.isVariableDeclarator(node)) return + if (!arkts.isIdentifier(node.id)) return + if (!arkts.isConditionalExpression(node.init)) return + if (node.init.test === undefined) return + if (node.init.alternate === undefined) return + const isGensym = (it: arkts.AstNode) => + arkts.isIdentifier(it) && it.name.includes(RuntimeNames.GENSYM) + if (toArray(node.init.test).some(isGensym) && toArray(node.init.alternate).some(isMemoCall)) { + Reporter.reportDefaultValueMemoCall(node.id.name) + } + } + + private checkMemoDeclarationIsExplicitlyTyped(node: arkts.AstNode): void { + if (!arkts.isScriptFunction(node)) return + const kind = this.scriptFunctions.get(node.originalPeer) + if (kind === undefined) return + if (kind === MemoFunctionKind.NONE) return + if (node.returnTypeAnnotation !== undefined) return + Reporter.reportMemoFunctionIsNotExplicitlyTyped(node?.id?.name) + } + + private checkParameterMutation(node: arkts.AstNode): void { + if (!arkts.isAssignmentExpression(node)) return + if (!arkts.isIdentifier(node.left)) return + const decl = arkts.getDecl(node.left) + if (!arkts.isETSParameterExpression(decl)) return + if (!this.isCurrentScopeMemo()) return + + Reporter.reportParameterReassignment(node.left.name, this.currentScopeName()) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/Reporter.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/Reporter.ts new file mode 100644 index 0000000000000000000000000000000000000000..9dd1f42a60c98a66503f70e496503eaf2a563519 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/Reporter.ts @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class Reporter { + /* + No diagnostics API from es2panda yet, so using `console.error` for now + */ + static reportOutOfContextMemoCall(callName: string | undefined, contextName: string | undefined): void { + const call = callName !== undefined + ? `function ${callName}` + : `anonymous function` + const context = contextName !== undefined + ? `context ${contextName}` + : `anonymous context` + console.error(`Calling @memo ${call} from non-@memo ${context}`) + } + + static reportDefaultValueMemoCall(parameterName: string | undefined): void { + console.error(`Can not call @memo function at parameter default value expression. Parameter: ${parameterName}`) + } + + static reportMemoFunctionIsNotExplicitlyTyped(functionName: string | undefined): void { + const func = functionName ?? `anonymous function` + console.error(`@memo ${func} must have it's return type explicitly specified`) + } + + static reportParameterReassignment(parameterName: string, contextName: string | undefined): void { + const context = contextName !== undefined + ? contextName + : `anonymous function` + console.error( + `@memo function parameter reassignment is forbidden: parameter ${parameterName} at function ${context}` + ) + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/DiagnosticVisitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ScopedVisitor.ts similarity index 40% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/DiagnosticVisitor.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ScopedVisitor.ts index 599cd2faa211ad9373650f99b2c2c7e3179cd15b..065c8b84f8b98d8c926e21dce6eb1e65c14998ac 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/DiagnosticVisitor.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ScopedVisitor.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2025 Huawei Device Co., Ltd. + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -14,64 +14,41 @@ */ import * as arkts from "@koalaui/libarkts" -import { getDeclResolveGensym, MemoFunctionKind } from "./utils" -import { getName, isMemo, isMemoizable, Memoizable } from "./api-utils" +import { MemoFunctionKind } from "../utils" type ScopeInfo = { name?: string, isMemo: boolean } -export class DiagnosticVisitor extends arkts.AbstractVisitor { - constructor( - public scriptFunctions: Map, +export abstract class ScopedVisitor extends arkts.AbstractVisitor { + private scopes: ScopeInfo[] = [] + + protected constructor( + protected scriptFunctions: Map ) { super() } - private scopes: ScopeInfo[] = [] - - enter(node: arkts.AstNode) { + protected enterScope(node: arkts.AstNode): void { if (arkts.isScriptFunction(node)) { const name = node.id?.name - const isMemo = this.scriptFunctions.get(node.originalPeer) != MemoFunctionKind.NONE + const isMemo = this.scriptFunctions.get(node.originalPeer) !== MemoFunctionKind.NONE this.scopes.push({ name , isMemo }) } - return this } - exit(node: arkts.AstNode) { + protected exitScope(node: arkts.AstNode): void { if (arkts.isScriptFunction(node)) { this.scopes.pop() } - return this } - checkMemoCall(decl: Memoizable) { - if (this.scopes[this.scopes.length - 1].isMemo === false) { - if (this.scopes[this.scopes.length - 1].name) { - console.error(`Attempt to call @memo-method ${getName(decl)} from non-@memo-method ${this.scopes[this.scopes.length - 1].name}`) - throw "Invalid @memo usage" - } else { - console.error(`Attempt to call @memo-method ${getName(decl)} from anonymous non-@memo-method`) - throw "Invalid @memo usage" - } - } - return this + protected isCurrentScopeMemo(): boolean { + return this.scopes[this.scopes.length - 1]?.isMemo ?? false } - visitor(beforeChildren: arkts.AstNode): arkts.AstNode { - this.enter(beforeChildren) - const node = this.visitEachChild(beforeChildren) - this.exit(beforeChildren) - - if (arkts.isCallExpression(node)) { - const expr = node.callee - const decl = getDeclResolveGensym(expr!) - if (isMemoizable(decl) && isMemo(decl)) { - this.checkMemoCall(decl) - } - } - return node + protected currentScopeName(): string | undefined { + return this.scopes[this.scopes.length - 1]?.name } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ToArrayVisitor.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ToArrayVisitor.ts new file mode 100644 index 0000000000000000000000000000000000000000..270caa5fec132e53dc5e9d44c5d8ba6d81c0d755 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/diagnostics/ToArrayVisitor.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "@koalaui/libarkts" + +class ToArrayVisitor extends arkts.AbstractVisitor { + nodes: arkts.AstNode[] = [] + + visitor(node: arkts.AstNode): arkts.AstNode { + this.nodes.push(node) + return this.visitEachChild(node) + } +} + +export function toArray(node: arkts.AstNode): arkts.AstNode[] { + const visitor = new ToArrayVisitor() + visitor.visitor(node) + return visitor.nodes +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/entry.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/entry.ts index dd44cbbddf26b2eaed67929802b92885aebcbe6d..8cfb62ff1cb12cebabd879239303c1e098f9b1bc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/entry.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/entry.ts @@ -22,20 +22,16 @@ interface PluginContext { } export function init() { - const pluginContext = new arkts.PluginContextImpl() + let pluginContext = new arkts.PluginContextImpl() return { name: "memo", parsed(this: PluginContext) { console.log("[memo-plugin] Run parsed stage plugin") const transform = parsedTransformer() - const prog = this.getArkTSProgram() - const options: arkts.CompilationOptions = { - isMainProgram: true, - name: "memo", - stage: arkts.Es2pandaContextState.ES2PANDA_STATE_PARSED - } + const prog = arkts.arktsGlobal.compilerContext.program + const state = arkts.Es2pandaContextState.ES2PANDA_STATE_PARSED try { - transform(prog, options, pluginContext) + arkts.runTransformer(prog, state, false, transform, pluginContext) } catch(e) { console.trace(e) throw e @@ -43,15 +39,12 @@ export function init() { }, checked(this: PluginContext) { console.log("[memo-plugin] Run checked stage plugin") - const transform = checkedTransformer({ trace: !0 }) - const prog = this.getArkTSProgram() - const options: arkts.CompilationOptions = { - isMainProgram: true, - name: "memo", - stage: arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED - } + const transform = checkedTransformer() + const prog = arkts.arktsGlobal.compilerContext.program + const state = arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED try { - transform(prog, options, pluginContext) + arkts.runTransformer(prog, state, false, transform, pluginContext) + arkts.recheckSubtree(prog.ast) } catch(e) { console.trace(e) throw e @@ -59,6 +52,7 @@ export function init() { }, clean() { console.log("[memo-plugin] Clean") + pluginContext = new arkts.PluginContextImpl() } } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/utils.ts index 88d1a220a710b8003de121bc6596a910ad4bd0f0..36e6c614baee207792a646bb9c69752fc40c2035 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/src/utils.ts @@ -17,7 +17,15 @@ import { UniqueId } from "@koalaui/common" import * as arkts from "@koalaui/libarkts" import * as fs from "node:fs" import * as path from "node:path" -import { correctFunctionParamType, correctObjectExpression, MemoAnnotatable, MemoSkipAnnotatable, MemoStableAnnotatable } from "./api-utils" +import { + correctFunctionParamType, + correctObjectExpression, + isMemo, + MemoAnnotatable, + MemoSkipAnnotatable, + MemoStableAnnotatable +} from "./api-utils" +import { getDecl } from "@koalaui/libarkts" export enum RuntimeNames { __CONTEXT = "__context", @@ -55,10 +63,6 @@ export enum DebugNames { LOG = "log", } -function baseName(path: string): string { - return path.replace(/^.*\/(.*)$/, "$1") -} - export class PositionalIdTracker { // Global for the whole program. static callCount: number = 0 @@ -88,13 +92,9 @@ export class PositionalIdTracker { id(callName: string = ""): arkts.Expression { - const fileName = this.stableForTests ? - baseName(this.filename) : - this.filename - const positionId = (this.stableForTests) ? - this.stringId(callName, fileName) : - this.sha1Id(callName, fileName) + this.stringId(callName, this.filename) : + this.sha1Id(callName, this.filename) return this.stableForTests @@ -168,19 +168,25 @@ export function isWrappable(type: arkts.TypeNode | undefined, arg: arkts.Express return (type && correctFunctionParamType(arg)) || correctObjectExpression(arg) } -export function isTrackableParam(node: arkts.ETSParameterExpression, isLast: boolean) { - return !hasMemoSkipAnnotation(node) && !(isLast && node.ident?.name == RuntimeNames.CONTENT) +export function isTrackableParam(node: arkts.ETSParameterExpression, isLast: boolean, trackContentParam: boolean) { + return !hasMemoSkipAnnotation(node) && !(!trackContentParam && isLast && node.ident?.name == RuntimeNames.CONTENT) } -export function shouldWrap(param: arkts.ETSParameterExpression, isLastParam: boolean, arg: arkts.Expression) { - return isWrappable(param.typeAnnotation, arg) && isTrackableParam(param, isLastParam) +export function shouldWrap(param: arkts.ETSParameterExpression, isLastParam: boolean, trackContentParam: boolean, arg: arkts.Expression) { + return isWrappable(param.typeAnnotation, arg) && isTrackableParam(param, isLastParam, trackContentParam) } -export function dumpAstToFile(node: arkts.AstNode, keepTransformed: string) { +function filterGensym(value: string): string { + return value.replaceAll(/gensym%%_[0-9]*/g, "gensym_XXX") +} + +export function dumpAstToFile(node: arkts.AstNode, keepTransformed: string, stableForTests: boolean) { + const relativeFromRoot = path.relative(arkts.global.arktsconfig!.baseUrl, arkts.global.filePath) const fileName = path.isAbsolute(keepTransformed) ? - path.join(keepTransformed, arkts.getFilePathFromPackageRoot()) : path.join(__dirname, keepTransformed, arkts.getFilePathFromPackageRoot()) + path.join(keepTransformed, relativeFromRoot) : path.join(__dirname, keepTransformed, relativeFromRoot) fs.mkdirSync(path.dirname(fileName), { recursive: true }) - fs.writeFileSync(fileName, node.dumpSrc()) + const astDump = node.dumpSrc() + fs.writeFileSync(fileName, stableForTests ? filterGensym(astDump) : astDump ) } /** @@ -277,3 +283,11 @@ export function moveToFront(arr: T[], idx: number): T[] { } return [arr[idx], ...arr.slice(0, idx), ...arr.slice(idx + 1)] } + +export function isMemoCall(node: arkts.AstNode): boolean { + if (!arkts.isCallExpression(node)) return false + if (node.callee === undefined) return false + const decl = getDecl(node.callee) + if (!arkts.isMethodDefinition(decl)) return false + return isMemo(decl) +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/.mocharc.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/.mocharc.json new file mode 100644 index 0000000000000000000000000000000000000000..035b4c9e94f28f9ce936ff9ab3109d8b0dc053df --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/.mocharc.json @@ -0,0 +1,14 @@ +{ + "ui": "tdd", + "spec": "./rewrite.test.ts", + "extension": [ + "ts" + ], + "timeout": 10000, + "require": [ + "ts-node/register" + ], + "node-option": [ + "loader=ts-node/esm" + ] +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/arktsconfig-golden.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/arktsconfig-golden.json index fe70c91a4c61217797307b98846eda8852bc5f91..d5b5990e8a8ae6f9a9fdaf6e71577be928ed283f 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/arktsconfig-golden.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/arktsconfig-golden.json @@ -22,7 +22,7 @@ "stage": "checked", "keepTransformed": "../test/out", "stableForTests": true, - "manuallyDisableInsertingImport": true + "trackContentParam": false } ] }, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/diagnostics.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/diagnostics.test.ts index 9a6177fcd8147460d45393d936328ae39cc07bf6..dcce53de4dd993d198f84d7a831a88f7e708b6b0 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/diagnostics.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/diagnostics.test.ts @@ -17,17 +17,17 @@ import { assert } from "chai" import * as child from "child_process" import * as path from "path" -function runTsc(file: string) { +function runCompiler(file: string) { return child.spawnSync("../../incremental/tools/panda/arkts/ui2abc", [ "--arktsconfig", path.join("test", "arktsconfig-golden.json"), "--output", file, - path.join('test', 'diagnostics', 'input', file), + path.join("test", "diagnostics", "input", file), ]) } function diagnostics(name: string, file: string, message: string) { test(name, () => { - const result = runTsc(file) + const result = runCompiler(file) const out = result.stdout.toString() + "\n" + result.stderr.toString() if (!out.includes(message)) console.error(out) @@ -37,7 +37,7 @@ function diagnostics(name: string, file: string, message: string) { function noDiagnostics(name: string, file: string, message: string) { test(name, () => { - const result = runTsc(file) + const result = runCompiler(file) const out = result.stdout.toString() + "\n" + result.stderr.toString() if (out.includes(message)) console.error(out) @@ -45,43 +45,105 @@ function noDiagnostics(name: string, file: string, message: string) { }).timeout(30000); } -suite("Smoke", () => { - diagnostics("smoke", - "smoke.input.ts", - "SyntaxError: Unexpected token 'syntax'." +const isPandaIssue26911Fixed = false +if (isPandaIssue26911Fixed) { + suite("Smoke", () => { + diagnostics( + "smoke", + "smoke.ets", + `SyntaxError: Unexpected token 'syntax'.` + ) + }) +} + +suite("@memo function out of memo context", () => { + diagnostics( + "Global memo call", + "global-memo-call.ets", + `Calling @memo function foo from non-@memo context _$init$_` + ) + diagnostics( + "Memo in handler", + "memo-in-handler.ets", + `Calling @memo function foo from non-@memo anonymous context` + ) + diagnostics( + "Memo in inner function", + "memo-in-inner-function.ets", + `Calling @memo function foo from non-@memo anonymous context` + ) + noDiagnostics( + "Memo with @memo:entry", + "memo-entry.ets", + `Calling @memo function` + ) + diagnostics( + "Memo in non-memo stack", + "no-memo-entry.ets", + `Calling @memo function foo from non-@memo context bar` ) }) -suite("Memo in non-memo context", () => { - diagnostics("global memo", - "global_memo.input.ts", - 'Attempt to call @memo-method foo from non-@memo-method _$init$_' +suite("Parameter with @memo initializer", () => { + noDiagnostics( + "Default non-memo argument", + "default-non-memo-argument.ets", + "Can not call @memo function at parameter default value expression. Parameter: x" + ) + diagnostics( + "Default memo argument", + "default-memo-argument.ets", + `Can not call @memo function at parameter default value expression. Parameter: x` ) - diagnostics("memo in handler", - "memo_in_handler.input.ts", - 'Attempt to call @memo-method foo from anonymous non-@memo-method' + diagnostics( + "Default complex memo argument", + "default-complex-memo-argument.ets", + "Can not call @memo function at parameter default value expression. Parameter: x" ) - diagnostics("memo in inner function", - "memo_in_inner_function.input.ts", - 'Attempt to call @memo-method foo from anonymous non-@memo-method' + diagnostics( + "Default memo argument at arrow function definition", + "arrow-default-memo-argument.ets", + "Can not call @memo function at parameter default value expression. Parameter: x" ) - noDiagnostics("memo with @memo:entry", - "memo_entry.input.ts", - 'Attempt to call @memo-method foo from' + noDiagnostics( + "Default non-memo argument at arrow function definition", + "arrow-default-non-memo-argument.ets", + "Can not call @memo function at parameter default value expression. Parameter: x" ) - diagnostics("memo in non-memo stack", - "no_memo_entry.input.ts", - 'Attempt to call @memo-method foo from non-@memo-method bar' +}) + +suite("@memo function missing return type", () => { + diagnostics( + "Function", + "missing-type-function.ets", + "@memo foo must have it's return type explicitly specified" + ) + diagnostics( + "Arrow function", + "missing-type-arrow-function.ets", + "@memo anonymous function must have it's return type explicitly specified" + ) + diagnostics( + "Method", + "missing-type-method.ets", + "@memo foo must have it's return type explicitly specified" + ) + noDiagnostics( + "Correct functions", + "correctly-typed-functions.ets", + "must have it's return type explicitly specified" ) }) -// suite("Shorthand @memo property assignment", () => { -// diagnostics("shorthand assignment to @memo property", -// "PropertyShorthandAssignment.ts", -// "Can not shorthand assign to memo property: x" -// ) -// noDiagnostics("shorthand assignment to non-memo property", -// "NonmemoPropertyShorthandAssignment.ts", -// "Can not shorthand assign to memo property: x" -// ) -// }) +suite("@memo function parameter reassignment", () => { + diagnostics( + "@memo function parameter reassignment", + "memo-parameter-reassignment.ets", + "@memo function parameter reassignment is forbidden: parameter yyy at function foo" + ) + noDiagnostics( + "non-@memo function parameter reassignment", + "non-memo-parameter-reassignment.ets", + "reassignment is forbidden" + ) +}) \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/NonmemoPropertyShorthandAssignment.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-memo-argument.ets similarity index 88% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/NonmemoPropertyShorthandAssignment.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-memo-argument.ets index fcf64c35252d8bd068c8569ed5f9346bac2e1900..7d8f0ca506334b30b87db6e30fec4b4c33f0a959 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/NonmemoPropertyShorthandAssignment.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-memo-argument.ets @@ -15,10 +15,8 @@ import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" -class Test { - x: ()=>void = ()=>{} +@memo function bar(): number { + return 0.0 } -const x: ()=>void = ()=>{} - -const test:Test = { x } +const x = (x: number = bar()) => {} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-non-memo-argument.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-non-memo-argument.ets new file mode 100644 index 0000000000000000000000000000000000000000..a8e657bec4f7130b93a0e9095f726553327c3e77 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/arrow-default-non-memo-argument.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +function bar(): number { + return 0.0 +} + +const x = @memo (x: number = bar()) => {} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/correctly-typed-functions.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/correctly-typed-functions.ets new file mode 100644 index 0000000000000000000000000000000000000000..bc403b13ca8a777a98c94492720715faad282608 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/correctly-typed-functions.ets @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +export class C { + @memo protected foo(): () => void { + return () => {} + } +} + +const x = @memo (): string => { + return "string" +} + +@memo function foo(): Double { + return 1.0 +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/PropertyShorthandAssignment.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-complex-memo-argument.ets similarity index 85% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/PropertyShorthandAssignment.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-complex-memo-argument.ets index c01a2ba57f26bb2ac686f1e061f33fecb642eef4..8fb92f9f32d535d5b28142f845ad7b5895ab5ceb 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/PropertyShorthandAssignment.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-complex-memo-argument.ets @@ -15,13 +15,8 @@ import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" -class Test { - @memo x: ()=>void +@memo function bar(): number { + return 0.0 } -function foo(test:Test) {} -const x = ()=>{} - -foo({ x }) -let test:Test = { x } -test = { x } +@memo function foo(x: number = 1+2*bar()^3) {} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-memo-argument.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-memo-argument.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac3d3861b767392a603124b000d9fa4c342e37cc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-memo-argument.ets @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +@memo function bar(): number { + return 1.0 +} + +@memo function foo(x: number = bar()) {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-non-memo-argument.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-non-memo-argument.ets new file mode 100644 index 0000000000000000000000000000000000000000..72b23afc529db491f87e15b09a00b10c766e58b5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/default-non-memo-argument.ets @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +function bar(): number { + return 1.0 +} + +@memo function foo(x: number = bar()) {} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global-memo-call.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global-memo-call.ets new file mode 100644 index 0000000000000000000000000000000000000000..77a4fa0305643016a7ca5b5c1689be9b2fea8c54 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global-memo-call.ets @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +@memo function foo(x: string = "asd") { } +foo() diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_entry.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-entry.ets similarity index 98% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_entry.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-entry.ets index 064fbec944ecf70d3a5e63edec6e451da112dc4a..89fd72c86c328ff17f451183f6aba6fc28cb55c8 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_entry.input.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-entry.ets @@ -18,7 +18,7 @@ import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koala @memo function foo() { } -@memo:entry +@memo_entry function bar() { foo() } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_in_handler.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-in-handler.ets similarity index 100% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_in_handler.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-in-handler.ets diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_in_inner_function.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-in-inner-function.ets similarity index 100% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo_in_inner_function.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-in-inner-function.ets diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-parameter-reassignment.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-parameter-reassignment.ets new file mode 100644 index 0000000000000000000000000000000000000000..801e7c656082263b028755a2fd98e7dc569f5cf0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/memo-parameter-reassignment.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +@memo function foo(yyy: number) { + yyy = 4.0 +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global_memo.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-arrow-function.ets similarity index 95% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global_memo.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-arrow-function.ets index 9c22baa795882487e9b1faeb66a0306d441e2dec..df24ee12053e1878a539b98f26360ddb2da06ea3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/global_memo.input.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-arrow-function.ets @@ -15,5 +15,4 @@ import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" -@memo function foo() { } -foo() +const x = @memo () => 1 diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-function.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-function.ets new file mode 100644 index 0000000000000000000000000000000000000000..38f32c76b18c740c98a0f9e56905e885f1efed68 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-function.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +@memo function foo() { + return 1 +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..5142507ba7f8c99354f6c25521c9135f101374d3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/missing-type-method.ets @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, memo_intrinsic, memo_entry, memo_stable, memo_skip } from "@koalaui/runtime/annotations" + +export class C { + @memo protected foo() { + return "string" + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/no_memo_entry.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/no-memo-entry.ets similarity index 100% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/no_memo_entry.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/no-memo-entry.ets diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/non-memo-parameter-reassignment.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/non-memo-parameter-reassignment.ets new file mode 100644 index 0000000000000000000000000000000000000000..697a9064039ec957d6e39f858f6615419a381976 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/non-memo-parameter-reassignment.ets @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +function foo(yyy: number) { + yyy = 4.0 +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/smoke.input.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/smoke.ets similarity index 100% rename from frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/smoke.input.ts rename to frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/smoke.ets diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/state.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/state.ts new file mode 100644 index 0000000000000000000000000000000000000000..67b2cd274c95514f4dcad7e40988666fb2d79852 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/diagnostics/input/state.ts @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface State { + /** + * If state was modified since last UI computations. + */ + readonly modified: boolean + /** + * Current value of the state. + * State value doesn't change during memo code execution. + */ + readonly value: Value +} + +export interface MutableState extends State { + /** + * Current value of the state as a mutable value. + * You should not change state value from a memo code. + * State value doesn't change during memo code execution. + * In the event handlers and other non-memo code + * a changed value is immediately visible. + */ + value: Value +} + +export function mutableState(value: T): MutableState { + return { value, modified: false } +} + + +interface I { + s: string +} + +class Impl { + s = " asd" +} + +export function provideI(): I { + return new Impl() +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/abstract.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/abstract.ets new file mode 100644 index 0000000000000000000000000000000000000000..646f44bc5b4fc339ce9695e98d3bd434b127ef35 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/abstract.ets @@ -0,0 +1,49 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/abstract.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + new AA().x(__memo_context, ((__memo_id) + (__hash("id_x_@test/HQ/abstract.ets")))); + const a: A = new AA(); + a.x(__memo_context, ((__memo_id) + (__hash("id_x_@test/HQ/abstract.ets")))); + { + __memo_scope.recache(); + return; + } +}); + +declare abstract class A { + @memo() public x(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void + + public test_signature(@memo() arg1: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void), @memo() arg2: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined, @memo() arg3: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined | ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> int) | undefined, @memo() x: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, y: ((z: @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void))=> void))=> void)): @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) + + public constructor() {} + +} + +class AA extends A { + @memo() public x(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_x_@test/HQ/abstract.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow-assignment.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow-assignment.ets new file mode 100644 index 0000000000000000000000000000000000000000..03734b9364b49aa14992499571792c9be5971139 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow-assignment.ets @@ -0,0 +1,51 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public memo_variables(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_variables_@test/HQ/arrow-assignment.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + @memo() const f = ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): number => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/arrow-assignment.ets"))), 0); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(123); + }), g = ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number): number => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/arrow-assignment.ets"))), 1); + const __memo_parameter_x = __memo_scope.param(0, x); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(((123) + (__memo_parameter_x.value))); + }); + const h = @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): number => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/arrow-assignment.ets"))), 0); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(1); + }); + f(__memo_context, ((__memo_id) + (__hash("id_f_@test/HQ/arrow-assignment.ets")))); + g(__memo_context, ((__memo_id) + (__hash("id_g_@test/HQ/arrow-assignment.ets"))), 1); + h(__memo_context, ((__memo_id) + (__hash("id_h_@test/HQ/arrow-assignment.ets")))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow.ets new file mode 100644 index 0000000000000000000000000000000000000000..b059de1d73382c5ee1c8e3091c56b89ccda16dfa --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/arrow.ets @@ -0,0 +1,28 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + public memo_lambda(): void { + @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/arrow.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + }); + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/call-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/call-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..beff666d712f5b7e070a221937747c55329380f3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/call-type.ets @@ -0,0 +1,30 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +type MemoType = @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void); + +class Test { + @memo() public type_alias(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: MemoType): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_type_alias_@test/HQ/call-type.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_parameter_arg.value(__memo_context, ((__memo_id) + (__hash("id_arg_@test/HQ/call-type.ets")))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..c22d8e750313d3c02929c3449393aec0fe154cbd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/compute.ets @@ -0,0 +1,61 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public compute_test(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg1: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined, arg2: (()=> void) | undefined, content: (()=> void) | undefined): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_compute_test_@test/HQ/compute.ets"))), 3); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/compute.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.compute_test(__memo_context, ((__memo_id) + (__hash("id_compute_test_@test/HQ/compute.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test/HQ/compute.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { + return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/compute.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + }); + })), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test/HQ/compute.ets"))), ((): (()=> void) => { + return ((): void => {}); + })), ((): void => {})); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/content-usage.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/content-usage.ets new file mode 100644 index 0000000000000000000000000000000000000000..06451c5b4a52fb463720597664fe608535d3e195 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/content-usage.ets @@ -0,0 +1,28 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public memo_content(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() content: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_content_@test/HQ/content-usage.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + content(__memo_context, ((__memo_id) + (__hash("id_content_@test/HQ/content-usage.ets")))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/entry.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/entry.ets new file mode 100644 index 0000000000000000000000000000000000000000..4c11c561a44ed7b40128fa3acaa39e42166587b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/entry.ets @@ -0,0 +1,30 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo, memo_entry as memo_entry } from "@koalaui/runtime/annotations"; + +import { __context as __context, __id as __id, __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type } from "@koalaui/runtime"; + +function main(): void {} + + + +class Test { + @memo_entry() public memoEntry(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() entry: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> R)): R { + const getContext = (() => { + return __memo_context; + }); + const getId = (() => { + return __memo_id; + }); + { + const __memo_context = getContext(); + const __memo_id = getId(); + return entry(__memo_context, ((__memo_id) + (__hash("id_entry_@test/HQ/entry.ets")))); + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/implicit-void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/implicit-void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..6a248ef9557c68411c76ec6b5440fc2de1ce6b09 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/implicit-void-method.ets @@ -0,0 +1,27 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public a_method_with_implicit_return_type(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_a_method_with_implicit_return_type_@test/HQ/implicit-void-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/instantiate.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/instantiate.ets new file mode 100644 index 0000000000000000000000000000000000000000..b7b2e0176c52d31ebd4d0f3db55cffaf4c8edced --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/instantiate.ets @@ -0,0 +1,50 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/instantiate.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let x: C | D = C.$_instantiate(__memo_context, ((__memo_id) + (__hash("id_$_instantiate_@test/HQ/instantiate.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_$_instantiate_@test/HQ/instantiate.ets"))), (() => { + return (() => { + return new C(); + }); + }))); + x = D.$_instantiate((() => { + return new D(); + })); + { + __memo_scope.recache(); + return; + } +}); + +class C { + @memo() public static $_instantiate(__memo_context: __memo_context_type, __memo_id: __memo_id_type, factory: (()=> C)): C { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_$_instantiate_@test/HQ/instantiate.ets"))), 1); + const __memo_parameter_factory = __memo_scope.param(0, factory); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(__memo_parameter_factory.value()); + } + + public constructor() {} + +} + +class D { + public static $_instantiate(factory: (()=> D), @memo() content?: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): D { + return factory(); + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internal-call.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internal-call.ets new file mode 100644 index 0000000000000000000000000000000000000000..6a4fa73bdd79ee978e75e3d232d09e6964dd74a6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internal-call.ets @@ -0,0 +1,41 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public void_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_@test/HQ/internal-call.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + @memo() public internal_call(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_internal_call_@test/HQ/internal-call.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_parameter_this.value.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/HQ/internal-call.ets")))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internals.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internals.ets new file mode 100644 index 0000000000000000000000000000000000000000..6740687c898c5550b77f52a95a6ff0c96fd5eb95 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/internals.ets @@ -0,0 +1,31 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +import { __context as __context, __id as __id } from "@koalaui/runtime"; + +function main(): void {} + + + +class Test { + @memo() public method_with_internals(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_internals_@test/HQ/internals.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_context; + __memo_id; + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic-call.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic-call.ets new file mode 100644 index 0000000000000000000000000000000000000000..06c2621c2dcd56185c6cf80bea3f6ec22a444cd0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic-call.ets @@ -0,0 +1,32 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo, memo_intrinsic as memo_intrinsic } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public void_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_@test/HQ/intrinsic-call.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + @memo_intrinsic() public intrinsic_method_with_this(__memo_context: __memo_context_type, __memo_id: __memo_id_type): int { + this.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/HQ/intrinsic-call.ets")))); + return 0; + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic.ets new file mode 100644 index 0000000000000000000000000000000000000000..e8bc75c341e6a16f86a6e8d72a5463c69d33a76a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/intrinsic.ets @@ -0,0 +1,18 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo_intrinsic as memo_intrinsic } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo_intrinsic() public intrinsic_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): int { + return 0; + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..81fd48b41be68e8a672deaba7bf280763f8684ac --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke-param.ets @@ -0,0 +1,37 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/invoke-param.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + B.$_invoke(((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/invoke-param.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + })); + { + __memo_scope.recache(); + return; + } +}); + +class B { + public static $_invoke(@memo() p?: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): void {} + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke.ets new file mode 100644 index 0000000000000000000000000000000000000000..ec7ef171220831097960950333ced3e38097b6b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/invoke.ets @@ -0,0 +1,37 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/invoke.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + A.$_invoke(__memo_context, ((__memo_id) + (__hash("id_$_invoke_@test/HQ/invoke.ets")))); + { + __memo_scope.recache(); + return; + } +}); + +class A { + @memo() public static $_invoke(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_$_invoke_@test/HQ/invoke.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..febda51c71a7d887f736edbfdb6acea15a3c74dc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-optional.ets @@ -0,0 +1,27 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/memo-interface-property-optional.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a: A = {}; + { + __memo_scope.recache(); + return; + } +}); + +interface A { + @memo() abstract set memo_optional_arg(memo_optional_arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined) + + @memo() get memo_optional_arg(): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..99c6f893bef53338b003878ab22b1ffd5f954cde --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-type.ets @@ -0,0 +1,29 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/memo-interface-property-type.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a: A = { + arg_memo_type: ((): void => {}), + }; + { + __memo_scope.recache(); + return; + } +}); + +interface A { + abstract set arg_memo_type(arg_memo_type: @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)) + + get arg_memo_type(): @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-union-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-union-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..e84b627a574f32fd5da4f693d1716bb32ee14397 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property-union-type.ets @@ -0,0 +1,29 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/memo-interface-property-union-type.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a: A = { + memo_union_arg: ((): void => {}), + }; + { + __memo_scope.recache(); + return; + } +}); + +interface A { + @memo() abstract set memo_union_arg(memo_union_arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined) + + @memo() get memo_union_arg(): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..0c4bd756a5732f68d0c0b35913c4648d09988de8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-interface-property.ets @@ -0,0 +1,29 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/memo-interface-property.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a: A = { + memo_arg: ((): void => {}), + }; + { + __memo_scope.recache(); + return; + } +}); + +interface A { + @memo() abstract set memo_arg(memo_arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)) + + @memo() get memo_arg(): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..ec69785422407d98f0d0e245e9d9b95fe99804c6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-optional.ets @@ -0,0 +1,16 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + @memo() public memo_optional_arg?: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined; + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..682fe766117201ac15990f717bc0243c82c8b626 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-type.ets @@ -0,0 +1,32 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + public arg_memo_type: @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void); + + public constructor() { + this.arg_memo_type = ((): void => {}); + } + + @memo() public build(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_build_@test/HQ/memo-property-type.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_parameter_this.value.arg_memo_type(); + { + __memo_scope.recache(); + return; + } + } + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-union-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-union-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..3ecbfc34e2ce56660bdccbbea9542896d131d840 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property-union-type.ets @@ -0,0 +1,26 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + @memo() public memo_union_arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined = ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/memo-property-union-type.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + }); + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..a5d635334a3adfb5b0220e635df7cfeb45fcd274 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/memo-property.ets @@ -0,0 +1,32 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + @memo() public memo_arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void); + + public constructor() { + this.memo_arg = ((): void => {}); + } + + @memo() public build(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_build_@test/HQ/memo-property.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_parameter_this.value.memo_arg(__memo_context, ((__memo_id) + (__hash("id_memo_arg_@test/HQ/memo-property.ets")))); + { + __memo_scope.recache(); + return; + } + } + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-interface-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-interface-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..94222d83d8f6c1a661ae0d5824c9782c086559d6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-interface-property.ets @@ -0,0 +1,29 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/non-memo-interface-property.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a: A = { + arg: ((): void => {}), + }; + { + __memo_scope.recache(); + return; + } +}); + +interface A { + set arg(arg: (()=> void)) + + get arg(): (()=> void) + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..69802b5efe6e17dd69048360aa2ef41c79959253 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/non-memo-property.ets @@ -0,0 +1,32 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + public arg: (()=> void); + + public constructor() { + this.arg = ((): void => {}); + } + + @memo() public build(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_build_@test/HQ/non-memo-property.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + __memo_parameter_this.value.arg(); + { + __memo_scope.recache(); + return; + } + } + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/object-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/object-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..c3b3c0b1c5ed82c8d10aa9ba03680bc7d708c8b7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/object-param.ets @@ -0,0 +1,61 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class A { + public x: int; + + public y: int; + + public constructor() {} + +} + +class Test { + @memo() public obj_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: A): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_obj_arg_@test/HQ/object-param.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/object-param.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.obj_arg(__memo_context, ((__memo_id) + (__hash("id_obj_arg_@test/HQ/object-param.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_obj_arg_@test/HQ/object-param.ets"))), ((): A => { + return ({ + x: 1, + y: 2, + } as A); + }))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..c3adeeb657be38828461159724dc73f99d5af16c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls-optional.ets @@ -0,0 +1,31 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public optional_args(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg1?: int, arg2?: (()=> int)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_optional_args_@test/HQ/param-calls-optional.ets"))), 3); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + console.log(__memo_parameter_arg1.value); + console.log(__memo_parameter_arg2.value); + console.log(({let gensym%%_273 = __memo_parameter_arg2.value; + (((gensym%%_273) == (null)) ? undefined : gensym%%_273())})); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls.ets new file mode 100644 index 0000000000000000000000000000000000000000..85e50ef03bdb2319cf423f840f45558713050d1e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/param-calls.ets @@ -0,0 +1,34 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public args_with_default_values(__memo_context: __memo_context_type, __memo_id: __memo_id_type, gensym%%_1?: int, gensym%%_2?: (()=> int), gensym%%_3?: int, arg4?: int): void { + let arg1: int = (((gensym%%_1) !== (undefined)) ? gensym%%_1 : (10 as int)); + let arg2: (()=> int) = (((gensym%%_2) !== (undefined)) ? gensym%%_2 : ((() => { + return 20; + }) as (()=> int))); + let arg3: int = (((gensym%%_3) !== (undefined)) ? gensym%%_3 : (arg1 as int)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_args_with_default_values_@test/HQ/param-calls.ets"))), 5); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2), __memo_parameter_arg3 = __memo_scope.param(3, arg3), __memo_parameter_arg4 = __memo_scope.param(4, arg4); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + console.log(__memo_parameter_arg1.value, __memo_parameter_arg2.value, __memo_parameter_arg3.value, __memo_parameter_arg4.value); + console.log(__memo_parameter_arg2.value()); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/property-constructor.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/property-constructor.ets new file mode 100644 index 0000000000000000000000000000000000000000..ac7856e96a57611debec9d01804b0ac498f8abf0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/property-constructor.ets @@ -0,0 +1,58 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/property-constructor.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + let a = new AA({ + a: ((): void => {}), + }); + { + __memo_scope.recache(); + return; + } +}); + +interface A { + @memo() abstract set a(a: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)) + + @memo() get a(): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) + +} + +class AA { + @memo() public a: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined; + + constructor() { + this(undefined); + } + + public constructor(arg: A | undefined) { + this.a = ({let gensym%%_273 = arg; + (((gensym%%_273) == (null)) ? undefined : gensym%%_273.a)}); + } + + @memo() public build(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_build_@test/HQ/property-constructor.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + ({let gensym%%_274 = __memo_parameter_this.value.a; + (((gensym%%_274) == (null)) ? undefined : gensym%%_274(__memo_context, ((__memo_id) + (__hash("id_a_@test/HQ/property-constructor.ets")))))}); + { + __memo_scope.recache(); + return; + } + } + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/static-void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/static-void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..8e4829e048c0120a2fc3cb7d12497f18ed437e5f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/static-void-method.ets @@ -0,0 +1,46 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public static static_method_with_type_parameter(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: T): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_static_method_with_type_parameter_@test/HQ/static-void-method.ets"))), 1); + const __memo_parameter_arg = __memo_scope.param(0, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/static-void-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + Test.static_method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_static_method_with_type_parameter_@test/HQ/static-void-method.ets"))), "I'm static"); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..b776933c36753f0aae9b285417efc324c749b77b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-compute.ets @@ -0,0 +1,56 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public lambda_arg_with_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string)=> string)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/HQ/string-compute.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/string-compute.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.lambda_arg_with_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/HQ/string-compute.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/HQ/string-compute.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string)=> string) => { + return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string): string => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/string-compute.ets"))), 1); + const __memo_parameter_value = __memo_scope.param(0, value); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(__memo_parameter_value.value); + }); + }))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..e02791d93c07a8d9b95f47147c26b7a5c7e821f6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/string-method.ets @@ -0,0 +1,43 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public string_method_with_return(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): string { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_string_method_with_return_@test/HQ/string-method.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(__memo_parameter_arg.value); + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/string-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.string_method_with_return(__memo_context, ((__memo_id) + (__hash("id_string_method_with_return_@test/HQ/string-method.ets"))), "a string"); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/type-param-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/type-param-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..e3bcc9daec45559e228ba11a23dc365d8450300f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/type-param-method.ets @@ -0,0 +1,43 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public method_with_type_parameter(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: T): T { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_type_parameter_@test/HQ/type-param-method.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(__memo_parameter_arg.value); + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/type-param-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_method_with_type_parameter_@test/HQ/type-param-method.ets"))), "I'm string"); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..877bac88b9d397c45f83c0c86af12a015353335f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-compute.ets @@ -0,0 +1,59 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public lambda_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_@test/HQ/void-compute.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/void-compute.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.lambda_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_@test/HQ/void-compute.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_@test/HQ/void-compute.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { + return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/HQ/void-compute.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + }); + }))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..b5d06e87156c89da560069609d20ae912392d3d9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-param.ets @@ -0,0 +1,47 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public void_method_with_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_arg_@test/HQ/void-method-with-param.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/void-method-with-param.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.void_method_with_arg(__memo_context, ((__memo_id) + (__hash("id_void_method_with_arg_@test/HQ/void-method-with-param.ets"))), "an arg"); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-return.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-return.ets new file mode 100644 index 0000000000000000000000000000000000000000..6ae0c500432e0194b7703513489bd58a4c52af76 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method-with-return.ets @@ -0,0 +1,47 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public void_method_with_return(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_return_@test/HQ/void-method-with-return.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/void-method-with-return.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.void_method_with_return(__memo_context, ((__memo_id) + (__hash("id_void_method_with_return_@test/HQ/void-method-with-return.ets"))), "a value"); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..c85b03fd12e679a237871a717ed22a93927d1171 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/HQ/void-method.ets @@ -0,0 +1,47 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class Test { + @memo() public void_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_@test/HQ/void-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + +class Use { + @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/HQ/void-method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const test = new Test(); + test.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/HQ/void-method.ets")))); + { + __memo_scope.recache(); + return; + } + } + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/arrow.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/arrow.ets new file mode 100644 index 0000000000000000000000000000000000000000..202cd6285217c0e7a701d957513e1389ae9e0872 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/arrow.ets @@ -0,0 +1,20 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + +@memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/basic/arrow.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } +}); +((): void => {}); + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/function.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/function.ets new file mode 100644 index 0000000000000000000000000000000000000000..5658b600f0ae3f7836dc58c5e6c2ed05b5e63d82 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/function.ets @@ -0,0 +1,23 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + +@memo() function memo_function(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_function_@test/basic/function.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } +} + +function non_memo_function(): void {} + + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/method.ets new file mode 100644 index 0000000000000000000000000000000000000000..e3ae8a1d332bb6ccb6e18df359a65966203a619d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/basic/method.ets @@ -0,0 +1,29 @@ + +import { __memo_context_type as __memo_context_type, __memo_id_type as __memo_id_type, __hash as __hash } from "@koalaui/runtime"; + +import { memo as memo } from "@koalaui/runtime/annotations"; + +function main(): void {} + + + +class C { + @memo() public memo_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_method_@test/basic/method.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + { + __memo_scope.recache(); + return; + } + } + + public non_memo_method(): void {} + + public constructor() {} + +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/test.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/test.ets index f1e1697f48f84044da46e860d7947ebd109f637d..60f941bdfa30d87c3532be612f933cd987a9093e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/test.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/golden/test.ets @@ -9,11 +9,11 @@ function main(): void {} @memo() function param_capturing(__memo_context: __memo_context_type, __memo_id: __memo_id_type, s: string): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_param_capturing_@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_param_capturing_@test/test.ets"))), 1); const __memo_parameter_s = __memo_scope.param(0, s); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } let x = ((): void => { console.log(__memo_parameter_s.value); @@ -29,19 +29,52 @@ function main(): void {} } } -@memo() @functions.OptionalParametersAnnotation({minArgCount:3}) function memo_arg_call(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg1: number, arg2: ((x: number)=> number), @memo() arg3: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number)=> number), arg4?: ((x: number)=> number), @memo() arg5?: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number)=> number)): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_arg_call_@test.test.ets"))), 5); +@memo() function memo_arg_call(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg1: number, arg2: ((x: number)=> number), @memo() arg3: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number)=> number), arg4?: ((x: number)=> number), @memo() arg5?: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number)=> number)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_arg_call_@test/test.ets"))), 5); const __memo_parameter_arg1 = __memo_scope.param(0, arg1), __memo_parameter_arg2 = __memo_scope.param(1, arg2), __memo_parameter_arg3 = __memo_scope.param(2, arg3), __memo_parameter_arg4 = __memo_scope.param(3, arg4), __memo_parameter_arg5 = __memo_scope.param(4, arg5); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } __memo_parameter_arg2.value(__memo_parameter_arg1.value); - __memo_parameter_arg3.value(__memo_context, ((__memo_id) + (__hash("id_arg3_@test.test.ets"))), __memo_parameter_arg1.value); - ({let gensym%%_265 = __memo_parameter_arg4.value; - (((gensym%%_265) == (null)) ? undefined : gensym%%_265(__memo_parameter_arg1.value))}); - ({let gensym%%_266 = __memo_parameter_arg5.value; - (((gensym%%_266) == (null)) ? undefined : gensym%%_266(__memo_context, ((__memo_id) + (__hash("id_arg5_@test.test.ets"))), __memo_parameter_arg1.value))}); + __memo_parameter_arg3.value(__memo_context, ((__memo_id) + (__hash("id_arg3_@test/test.ets"))), __memo_parameter_arg1.value); + ({let gensym_XXX = __memo_parameter_arg4.value; + (((gensym_XXX) == (null)) ? undefined : gensym_XXX(__memo_parameter_arg1.value))}); + ({let gensym_XXX = __memo_parameter_arg5.value; + (((gensym_XXX) == (null)) ? undefined : gensym_XXX(__memo_context, ((__memo_id) + (__hash("id_arg5_@test/test.ets"))), __memo_parameter_arg1.value))}); + { + __memo_scope.recache(); + return; + } +} + +@memo() function call_with_receiver(__memo_context: __memo_context_type, __memo_id: __memo_id_type, obj: A, @memo() v: ((this: A, __memo_context: __memo_context_type, __memo_id: __memo_id_type)=> int)): int { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_call_with_receiver_@test/test.ets"))), 2); + const __memo_parameter_obj = __memo_scope.param(0, obj), __memo_parameter_v = __memo_scope.param(1, v); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + const x = __memo_parameter_v.value(__memo_parameter_obj.value, __memo_context, ((__memo_id) + (__hash("id_v_@test/test.ets")))); + const y = __memo_parameter_v.value(__memo_parameter_obj.value, __memo_context, ((__memo_id) + (__hash("id_v_@test/test.ets")))); + return __memo_scope.recache(((x) + (y))); +} + +@memo() function test_call_with_receiver(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_call_with_receiver_@test/test.ets"))), 0); + if (__memo_scope.unchanged) { + __memo_scope.cached; + return; + } + const a = new A(); + const f = @memo() ((this: A, __memo_context: __memo_context_type, __memo_id: __memo_id_type): int => { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); + if (__memo_scope.unchanged) { + return __memo_scope.cached; + } + return __memo_scope.recache(11); + }); + call_with_receiver(__memo_context, ((__memo_id) + (__hash("id_call_with_receiver_@test/test.ets"))), a, f); { __memo_scope.recache(); return; @@ -66,11 +99,11 @@ class A { class Test { @memo() public void_method(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -79,11 +112,11 @@ class Test { } @memo() public a_method_with_implicit_return_type(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_a_method_with_implicit_return_type_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_a_method_with_implicit_return_type_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -92,11 +125,11 @@ class Test { } @memo() public void_method_with_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_arg_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_arg_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -105,11 +138,11 @@ class Test { } @memo() public void_method_with_return(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_return_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_void_method_with_return_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -118,8 +151,8 @@ class Test { } @memo() public string_method_with_return(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: string): string { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_string_method_with_return_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_string_method_with_return_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { return __memo_scope.cached; } @@ -127,8 +160,8 @@ class Test { } @memo() public method_with_type_parameter(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: T): T { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_type_parameter_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_type_parameter_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { return __memo_scope.cached; } @@ -136,11 +169,11 @@ class Test { } @memo() public static static_method_with_type_parameter(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: T): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_static_method_with_type_parameter_@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_static_method_with_type_parameter_@test/test.ets"))), 1); const __memo_parameter_arg = __memo_scope.param(0, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -149,13 +182,13 @@ class Test { } @memo() public internal_call(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_internal_call_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_internal_call_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } - __memo_parameter_this.value.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test.test.ets")))); + __memo_parameter_this.value.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/test.ets")))); { __memo_scope.recache(); return; @@ -163,11 +196,11 @@ class Test { } @memo() public lambda_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -176,11 +209,11 @@ class Test { } @memo() public lambda_arg_with_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string)=> string)): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -193,16 +226,16 @@ class Test { } @memo_intrinsic() public intrinsic_method_with_this(__memo_context: __memo_context_type, __memo_id: __memo_id_type): int { - (this).void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test.test.ets")))); + this.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/test.ets")))); return 0; } @memo() public method_with_internals(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_internals_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_method_with_internals_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } __memo_context; __memo_id; @@ -213,11 +246,11 @@ class Test { } @memo() public obj_arg(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: A): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_obj_arg_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_obj_arg_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -235,18 +268,18 @@ class Test { { const __memo_context = getContext(); const __memo_id = getId(); - return entry(__memo_context, ((__memo_id) + (__hash("id_entry_@test.test.ets")))); + return entry(__memo_context, ((__memo_id) + (__hash("id_entry_@test/test.ets")))); } } @memo() public memo_content(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() content: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void)): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_content_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_content_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } - content(__memo_context, ((__memo_id) + (__hash("id_content_@test.test.ets")))); + content(__memo_context, ((__memo_id) + (__hash("id_content_@test/test.ets")))); { __memo_scope.recache(); return; @@ -255,10 +288,10 @@ class Test { public memo_lambda(): void { @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 0); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 0); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -268,20 +301,20 @@ class Test { } @memo() public memo_variables(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_variables_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_memo_variables_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } @memo() const f = ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): number => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 0); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 0); if (__memo_scope.unchanged) { return __memo_scope.cached; } return __memo_scope.recache(123); }), g = ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: number): number => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 1); const __memo_parameter_x = __memo_scope.param(0, x); if (__memo_scope.unchanged) { return __memo_scope.cached; @@ -289,15 +322,15 @@ class Test { return __memo_scope.recache(((123) + (__memo_parameter_x.value))); }); const h = @memo() ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): number => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 0); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 0); if (__memo_scope.unchanged) { return __memo_scope.cached; } return __memo_scope.recache(1); }); - f(__memo_context, ((__memo_id) + (__hash("id_f_@test.test.ets")))); - g(__memo_context, ((__memo_id) + (__hash("id_g_@test.test.ets"))), 1); - h(__memo_context, ((__memo_id) + (__hash("id_h_@test.test.ets")))); + f(__memo_context, ((__memo_id) + (__hash("id_f_@test/test.ets")))); + g(__memo_context, ((__memo_id) + (__hash("id_g_@test/test.ets"))), 1); + h(__memo_context, ((__memo_id) + (__hash("id_h_@test/test.ets")))); { __memo_scope.recache(); return; @@ -305,11 +338,11 @@ class Test { } @memo() public compute_test(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo() arg1: ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) | undefined, arg2: (()=> void) | undefined, content: (()=> void) | undefined): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_compute_test_@test.test.ets"))), 3); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_compute_test_@test/test.ets"))), 3); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -317,17 +350,17 @@ class Test { } } - @memo() @functions.OptionalParametersAnnotation({minArgCount:0}) public args_with_default_values(__memo_context: __memo_context_type, __memo_id: __memo_id_type, gensym%%_1?: int, gensym%%_2?: (()=> int), gensym%%_3?: int, arg4?: int): void { - let arg1: int = (((gensym%%_1) !== (undefined)) ? gensym%%_1 : (10 as int)); - let arg2: (()=> int) = (((gensym%%_2) !== (undefined)) ? gensym%%_2 : ((() => { + @memo() public args_with_default_values(__memo_context: __memo_context_type, __memo_id: __memo_id_type, gensym_XXX?: int, gensym_XXX?: (()=> int), gensym_XXX?: int, arg4?: int): void { + let arg1: int = (((gensym_XXX) !== (undefined)) ? gensym_XXX : (10 as int)); + let arg2: (()=> int) = (((gensym_XXX) !== (undefined)) ? gensym_XXX : ((() => { return 20; }) as (()=> int))); - let arg3: int = (((gensym%%_3) !== (undefined)) ? gensym%%_3 : (arg1 as int)); - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_args_with_default_values_@test.test.ets"))), 5); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2), __memo_parameter_arg3 = __memo_scope.param(3, arg3), __memo_parameter_arg4 = __memo_scope.param(4, arg4); + let arg3: int = (((gensym_XXX) !== (undefined)) ? gensym_XXX : (arg1 as int)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_args_with_default_values_@test/test.ets"))), 5); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2), __memo_parameter_arg3 = __memo_scope.param(3, arg3), __memo_parameter_arg4 = __memo_scope.param(4, arg4); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } console.log(__memo_parameter_arg1.value, __memo_parameter_arg2.value, __memo_parameter_arg3.value, __memo_parameter_arg4.value); console.log(__memo_parameter_arg2.value()); @@ -337,17 +370,17 @@ class Test { } } - @memo() @functions.OptionalParametersAnnotation({minArgCount:0}) public optional_args(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg1?: int, arg2?: (()=> int)): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_optional_args_@test.test.ets"))), 3); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); + @memo() public optional_args(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg1?: int, arg2?: (()=> int)): void { + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_optional_args_@test/test.ets"))), 3); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg1 = __memo_scope.param(1, arg1), __memo_parameter_arg2 = __memo_scope.param(2, arg2); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } console.log(__memo_parameter_arg1.value); console.log(__memo_parameter_arg2.value); - console.log(({let gensym%%_264 = __memo_parameter_arg2.value; - (((gensym%%_264) == (null)) ? undefined : gensym%%_264())})); + console.log(({let gensym_XXX = __memo_parameter_arg2.value; + (((gensym_XXX) == (null)) ? undefined : gensym_XXX())})); { __memo_scope.recache(); return; @@ -355,13 +388,13 @@ class Test { } @memo() public type_alias(__memo_context: __memo_context_type, __memo_id: __memo_id_type, arg: MemoType): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_type_alias_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_arg = __memo_scope.param(1, arg); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_type_alias_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_arg = __memo_scope.param(1, arg); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } - __memo_parameter_arg.value(__memo_context, ((__memo_id) + (__hash("id_arg_@test.test.ets")))); + __memo_parameter_arg.value(__memo_context, ((__memo_id) + (__hash("id_arg_@test/test.ets")))); { __memo_scope.recache(); return; @@ -369,7 +402,7 @@ class Test { } @memo_intrinsic() public static intrinsicKeyAccessor(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - let key = __hash("id___key_@test.test.ets"); + let key = __hash("id___key_@test/test.ets"); } public constructor() {} @@ -385,7 +418,7 @@ declare class AbstractTest { @memo_stable() class MemoStableClass { @memo() public test1(__memo_context: __memo_context_type, __memo_id: __memo_id_type, x: string): string { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test1_@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test1_@test/test.ets"))), 1); const __memo_parameter_x = __memo_scope.param(0, x); if (__memo_scope.unchanged) { return __memo_scope.cached; @@ -394,16 +427,16 @@ declare class AbstractTest { } @memo() public test2(__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: int): this { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test2_@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test2_@test/test.ets"))), 1); const __memo_parameter_value = __memo_scope.param(0, value); if (__memo_scope.unchanged) { __memo_scope.cached; - return (this); + return this; } console.log(__memo_parameter_value.value); { __memo_scope.recache(); - return (this); + return this; } } @@ -413,18 +446,17 @@ declare class AbstractTest { class MemoUnstableClass { @memo() public test2(__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: int): this { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test2_@test.test.ets"))), 2); - const __memo_parameter_this = __memo_scope.param(0, (this)), __memo_parameter_value = __memo_scope.param(1, value); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test2_@test/test.ets"))), 2); + const __memo_parameter_this = __memo_scope.param(0, this), __memo_parameter_value = __memo_scope.param(1, value); if (__memo_scope.unchanged) { __memo_scope.cached; - return (this); + return this; } __memo_parameter_this.value; - console.log(__memo_parameter_value.value); { __memo_scope.recache(); - return (this); + return this; } } @@ -434,25 +466,25 @@ class MemoUnstableClass { class Use { @memo() public test(__memo_context: __memo_context_type, __memo_id: __memo_id_type): void { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test.test.ets"))), 1); - const __memo_parameter_this = __memo_scope.param(0, (this)); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id_test_@test/test.ets"))), 1); + const __memo_parameter_this = __memo_scope.param(0, this); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } const test = new Test(); - test.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test.test.ets")))); - test.void_method_with_arg(__memo_context, ((__memo_id) + (__hash("id_void_method_with_arg_@test.test.ets"))), "an arg"); - test.void_method_with_return(__memo_context, ((__memo_id) + (__hash("id_void_method_with_return_@test.test.ets"))), "a value"); - Test.static_method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_static_method_with_type_parameter_@test.test.ets"))), "I'm static"); - test.string_method_with_return(__memo_context, ((__memo_id) + (__hash("id_string_method_with_return_@test.test.ets"))), "a string"); - test.method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_method_with_type_parameter_@test.test.ets"))), "I'm string"); - test.lambda_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_@test.test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_@test.test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { + test.void_method(__memo_context, ((__memo_id) + (__hash("id_void_method_@test/test.ets")))); + test.void_method_with_arg(__memo_context, ((__memo_id) + (__hash("id_void_method_with_arg_@test/test.ets"))), "an arg"); + test.void_method_with_return(__memo_context, ((__memo_id) + (__hash("id_void_method_with_return_@test/test.ets"))), "a value"); + Test.static_method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_static_method_with_type_parameter_@test/test.ets"))), "I'm static"); + test.string_method_with_return(__memo_context, ((__memo_id) + (__hash("id_string_method_with_return_@test/test.ets"))), "a string"); + test.method_with_type_parameter(__memo_context, ((__memo_id) + (__hash("id_method_with_type_parameter_@test/test.ets"))), "I'm string"); + test.lambda_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_@test/test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_@test/test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 0); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 0); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); @@ -460,9 +492,9 @@ class Use { } }); }))); - test.lambda_arg_with_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_with_arg_@test.test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test.test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string)=> string) => { + test.lambda_arg_with_arg(__memo_context, ((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_lambda_arg_with_arg_@test/test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string)=> string) => { return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type, value: string): string => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 1); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 1); const __memo_parameter_value = __memo_scope.param(0, value); if (__memo_scope.unchanged) { return __memo_scope.cached; @@ -470,30 +502,30 @@ class Use { return __memo_scope.recache(__memo_parameter_value.value); }); }))); - test.obj_arg(__memo_context, ((__memo_id) + (__hash("id_obj_arg_@test.test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_obj_arg_@test.test.ets"))), ((): A => { + test.obj_arg(__memo_context, ((__memo_id) + (__hash("id_obj_arg_@test/test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_obj_arg_@test/test.ets"))), ((): A => { return ({ x: 1, y: 2, } as A); }))); - test.compute_test(__memo_context, ((__memo_id) + (__hash("id_compute_test_@test.test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test.test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { + test.compute_test(__memo_context, ((__memo_id) + (__hash("id_compute_test_@test/test.ets"))), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test/test.ets"))), ((): ((__memo_context: __memo_context_type, __memo_id: __memo_id_type)=> void) => { return ((__memo_context: __memo_context_type, __memo_id: __memo_id_type): void => { - const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test.test.ets"))), 0); + const __memo_scope = __memo_context.scope(((__memo_id) + (__hash("id__@test/test.ets"))), 0); if (__memo_scope.unchanged) { __memo_scope.cached; - return; + return; } { __memo_scope.recache(); return; } }); - })), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test.test.ets"))), ((): (()=> void) => { + })), __memo_context.compute(((__memo_id) + (__hash("id_compute_test_@test/test.ets"))), ((): (()=> void) => { return ((): void => {}); })), ((): void => {})); const MemoStableClass_instance = new MemoStableClass(); - MemoStableClass_instance.test1(__memo_context, ((__memo_id) + (__hash("id_test1_@test.test.ets"))), "a"); - MemoStableClass_instance.test2(__memo_context, ((__memo_id) + (__hash("id_test2_@test.test.ets"))), 5); + MemoStableClass_instance.test1(__memo_context, ((__memo_id) + (__hash("id_test1_@test/test.ets"))), "a"); + MemoStableClass_instance.test2(__memo_context, ((__memo_id) + (__hash("id_test2_@test/test.ets"))), 5); { __memo_scope.recache(); return; diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/abstract.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/abstract.ets new file mode 100644 index 0000000000000000000000000000000000000000..5336ae2a1c1334f384339f46718a2b17130cd895 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/abstract.ets @@ -0,0 +1,25 @@ +import { memo } from "@koalaui/runtime/annotations" + +declare abstract class A { + @memo + x(): void; + + test_signature( + @memo arg1: () => void, + @memo arg2: (() => void) | undefined, + @memo arg3: ((() => void) | undefined) | ((() => int) | undefined), + @memo x: (y: (z: @memo () => void) => void) => void, + ): @memo () => void; +} + +class AA extends A { + @memo x(): void {} +} + +@memo +() => { + new AA().x(); + + const a: A = new AA(); + a.x(); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow-assignment.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow-assignment.ets new file mode 100644 index 0000000000000000000000000000000000000000..19acbf53b3039db067e4d55b54c6b8dc2132e651 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow-assignment.ets @@ -0,0 +1,19 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo memo_variables() { + @memo const f = (): number => { + return 123 + }, g = (x: number): number => { + return 123 + x + } + + const h = @memo (): number => { + return 1 + } + + f() + g(1) + h() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow.ets new file mode 100644 index 0000000000000000000000000000000000000000..3e4b2dfc7227aa46729892afc475aa4bef3f3f29 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/arrow.ets @@ -0,0 +1,9 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + memo_lambda() { + @memo () => { + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/call-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/call-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..1abe32fe02f95b956f2bde0a0c1efc739e23ff1b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/call-type.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +type MemoType = @memo () => void + +class Test { + @memo type_alias( + arg: MemoType + ) { + arg() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..abe14500e844b7e41597ae5d6a6fadad6edd819f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/compute.ets @@ -0,0 +1,18 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo compute_test( + @memo arg1: (() => void) | undefined, + arg2: (() => void) | undefined, + content: (() => void) | undefined + ): void { + + } +} + +class Use { + @memo test() { + const test = new Test() + test.compute_test(() => {}, () => {}, () => {}) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/content-usage.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/content-usage.ets new file mode 100644 index 0000000000000000000000000000000000000000..004af9dd19b678709120508866b74ab20e1ea4a2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/content-usage.ets @@ -0,0 +1,7 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo memo_content(@memo content: () => void) { + content() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/entry.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/entry.ets new file mode 100644 index 0000000000000000000000000000000000000000..4f4763972b929a7827042def5291f6c060c32a22 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/entry.ets @@ -0,0 +1,18 @@ +import { memo, memo_entry } from "@koalaui/runtime/annotations" +import { __context, __id, __memo_context_type, __memo_id_type } from "@koalaui/runtime" + +class Test { + @memo_entry memoEntry(__memo_context: __memo_context_type, __memo_id: __memo_id_type, @memo entry: () => R): R { + const getContext = () => { + return __context() + } + const getId = () => { + return __id() + } + { + const __memo_context = getContext() + const __memo_id = getId() + return entry() + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implemented-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implemented-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..dc8d84cc9b2c776bbe4dc38304ea37cfbe51b1bd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implemented-property.ets @@ -0,0 +1,9 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + @memo prop: (() => void) | undefined +} + +class AA implements A { + @memo prop: (() => void) | undefined +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implicit-void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implicit-void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..9b6744dd7bbc39070cbd19511e1501fb66b50396 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/implicit-void-method.ets @@ -0,0 +1,6 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo a_method_with_implicit_return_type() { + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/instantiate.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/instantiate.ets new file mode 100644 index 0000000000000000000000000000000000000000..341205ae3551d5887ba2143bf4c8d508dfb745e2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/instantiate.ets @@ -0,0 +1,20 @@ +import { memo } from "@koalaui/runtime/annotations" + +class C { + @memo + static $_instantiate(factory: () => C): C { + return factory(); + } +} + +class D { + static $_instantiate(factory: () => D, @memo content?: () => void): D { + return factory(); + } +} + +@memo +() => { + let x: C | D = C(); + x = D(); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internal-call.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internal-call.ets new file mode 100644 index 0000000000000000000000000000000000000000..2afc40b1e2a96633a64d0a48da63d2033a8cf73b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internal-call.ets @@ -0,0 +1,10 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo void_method(): void { + } + + @memo internal_call() { + this.void_method() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internals.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internals.ets new file mode 100644 index 0000000000000000000000000000000000000000..ff4bbacfea946c70512c0ab42ee69a3740f8bcd1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/internals.ets @@ -0,0 +1,9 @@ +import { memo } from "@koalaui/runtime/annotations" +import { __context, __id } from "@koalaui/runtime" + +class Test { + @memo method_with_internals() { + __context() + __id() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic-call.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic-call.ets new file mode 100644 index 0000000000000000000000000000000000000000..771bbb618516f6d8adfab9e476d1ff5ac9fc2275 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic-call.ets @@ -0,0 +1,11 @@ +import { memo, memo_intrinsic } from "@koalaui/runtime/annotations" + +class Test { + @memo void_method(): void { + } + + @memo_intrinsic intrinsic_method_with_this(): int { + this.void_method() + return 0 + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic.ets new file mode 100644 index 0000000000000000000000000000000000000000..7b8235bebb568de280ae82676597d2f5fc7fc3a7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/intrinsic.ets @@ -0,0 +1,7 @@ +import { memo_intrinsic } from "@koalaui/runtime/annotations" + +class Test { + @memo_intrinsic intrinsic_method(): int { + return 0 + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..704b675e38a0896e9fdf20100d6beba6e689516c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke-param.ets @@ -0,0 +1,10 @@ +import { memo } from "@koalaui/runtime/annotations" + +class B { + static $_invoke(@memo p?: () => void): void {} +} + +@memo +() => { + B(() => {}); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke.ets new file mode 100644 index 0000000000000000000000000000000000000000..f9626626dedb314328a41469f36db8fa6b371ded --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/invoke.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + @memo + static $_invoke(): void {} +} + +@memo +() => { + A(); +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..17e4c965235ea448c755482af25af3d4b901a4a2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-optional.ets @@ -0,0 +1,10 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + @memo memo_optional_arg?: () => void +} + +@memo() (() => { + let a: A = { + }; +}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..4e6d7bb62fcbd2fe1a2b376965b7061c9ab7166f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-type.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + arg_memo_type: @memo () => void +} + +@memo() (() => { + let a: A = { + arg_memo_type: (() => {}), + }; +}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-union-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-union-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..544a230d19b43b1cb148db5c7181bca046ae056d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property-union-type.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + @memo memo_union_arg: (() => void) | undefined +} + +@memo() (() => { + let a: A = { + memo_union_arg: (() => {}) + }; +}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..9b5bd646041f0a23aaaf26fc5c1f51a2aee3f7bb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-interface-property.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + @memo memo_arg: () => void +} + +@memo() (() => { + let a: A = { + memo_arg: (() => {}) + }; +}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..28cbe949318e9cb46fd3f1f1ec8aca24418b59a3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-optional.ets @@ -0,0 +1,5 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + @memo memo_optional_arg?: () => void +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..2751c8add24ea314cb02afffd50c9329877f47dc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-type.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + arg_memo_type: @memo () => void + + constructor() { + this.arg_memo_type = () => {}; + } + + @memo + build() { + this.arg_memo_type(); + } + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-union-type.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-union-type.ets new file mode 100644 index 0000000000000000000000000000000000000000..545d3cad867f37c87234f2742184d357c5864a7c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property-union-type.ets @@ -0,0 +1,5 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + @memo memo_union_arg: (() => void) | undefined = () => {} +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..6ec74ea75ef8c241b3058c9108b7f4e65af93682 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/memo-property.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + @memo memo_arg: () => void + + constructor() { + this.memo_arg = () => {}; + } + + @memo + build() { + this.memo_arg(); + } + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-interface-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-interface-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..07ae0b2d1780fb2c57189d001354a9d18ad31877 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-interface-property.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + arg: () => void +} + +@memo() (() => { + let a: A = { + arg: (() => {}) + }; +}); diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-property.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-property.ets new file mode 100644 index 0000000000000000000000000000000000000000..851e8a42630dfa1ba8bff0a40a42e6906f09b2b8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/non-memo-property.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + arg: () => void + + constructor() { + this.arg = () => {}; + } + + @memo + build() { + this.arg(); + } + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/object-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/object-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..e839a2eb50bd5aa78fa15e9e2e30cdd5045ca116 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/object-param.ets @@ -0,0 +1,20 @@ +import { memo } from "@koalaui/runtime/annotations" + +class A { + x: int + y: int +} + +class Test { + @memo obj_arg(arg: A) { + + } +} + +class Use { + @memo test() { + const test = new Test() + + test.obj_arg({ x: 1, y: 2 }) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls-optional.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls-optional.ets new file mode 100644 index 0000000000000000000000000000000000000000..e5b89029073fc0674342b9d188845d7254c06fbc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls-optional.ets @@ -0,0 +1,12 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo optional_args( + arg1?: int, + arg2?: () => int + ) { + console.log(arg1) + console.log(arg2) + console.log(arg2?.()) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls.ets new file mode 100644 index 0000000000000000000000000000000000000000..41ec8b4781916e80fc780e572f808bb053370a9d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/param-calls.ets @@ -0,0 +1,13 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo args_with_default_values( + arg1: int = 10, + arg2: () => int = () => { return 20 }, + arg3: int = arg1, + arg4?: int + ): void { + console.log(arg1, arg2, arg3, arg4) + console.log(arg2()) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/property-constructor.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/property-constructor.ets new file mode 100644 index 0000000000000000000000000000000000000000..e9a5abc015fe3b4976a455c4989a20cc6fc62af5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/property-constructor.ets @@ -0,0 +1,24 @@ +import { memo } from "@koalaui/runtime/annotations" + +interface A { + @memo a: () => void +} + +class AA { + + @memo a: (() => void) | undefined + + constructor(arg?: A) { + this.a = arg?.a; + } + + @memo + build() { + this.a?.(); + } +} + +@memo +() => { + let a = new AA({ a: () => {} }) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/static-void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/static-void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..e2e3dfa1c53b91f34a01be356430305c8d6e069e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/static-void-method.ets @@ -0,0 +1,14 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo static static_method_with_type_parameter(arg: T): void { + return + } +} + +class Use { + @memo test() { + + Test.static_method_with_type_parameter("I'm static") + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..fb958aaa49ee8adf29f40e872b6ad6298eae2663 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-compute.ets @@ -0,0 +1,14 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo lambda_arg_with_arg(@memo arg: (value: string) => string) { + + } +} + +class Use { + @memo test() { + const test = new Test() + test.lambda_arg_with_arg((value: string): string => value) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..87c16fbcba168820a861bf4e04464094eddf16ac --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/string-method.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo string_method_with_return(arg: string): string { + return arg + } +} + +class Use { + @memo test() { + const test = new Test() + + test.string_method_with_return("a string") + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/type-param-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/type-param-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..5caa0dcf92888ce69318cfcd782351443eac38a1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/type-param-method.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo method_with_type_parameter(arg: T): T { + return arg + } +} + +class Use { + @memo test() { + const test = new Test() + + test.method_with_type_parameter("I'm string") + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-compute.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-compute.ets new file mode 100644 index 0000000000000000000000000000000000000000..bf0bc01eb26d1e299d1834001faad80d05dade92 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-compute.ets @@ -0,0 +1,14 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo lambda_arg(@memo arg: () => void) { + + } +} + +class Use { + @memo test() { + const test = new Test() + test.lambda_arg((): void => {}) + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-param.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-param.ets new file mode 100644 index 0000000000000000000000000000000000000000..861cd765da619ffd29e06c210a6e12e997b513b9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-param.ets @@ -0,0 +1,14 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo void_method_with_arg(arg: string) { + } +} + +class Use { + @memo test() { + const test = new Test() + + test.void_method_with_arg("an arg") + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-return.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-return.ets new file mode 100644 index 0000000000000000000000000000000000000000..548aea8a6a71201ae1ccab28d7b2fb6fbaed8a07 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method-with-return.ets @@ -0,0 +1,15 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo void_method_with_return(arg: string) { + return + } +} + +class Use { + @memo test() { + const test = new Test() + + test.void_method_with_return("a value") + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method.ets new file mode 100644 index 0000000000000000000000000000000000000000..eca677ee475e0d9b6e2ad0aa4fb677aae9c633ed --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/HQ/void-method.ets @@ -0,0 +1,14 @@ +import { memo } from "@koalaui/runtime/annotations" + +class Test { + @memo void_method(): void { + } +} + +class Use { + @memo test() { + const test = new Test() + + test.void_method() + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/arktsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/arktsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..6a76a2207c3b77d30f556b2681337ea668d9f9d1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/arktsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "package": "@test", + "outDir": "../../build/golden", + "baseUrl": ".", + "paths": { + "@koalaui/compat": [ "../../../../incremental/compat/src/arkts" ], + "#platform": [ "../../../../incremental/compat/src/arkts" ], + "@koalaui/common": [ "../../../../incremental/common/src" ], + "@koalaui/runtime": [ "../../../../incremental/runtime/ets" ], + "@koalaui/runtime/annotations": [ "../../../../incremental/runtime/annotations" ] + }, + "plugins": [ + { + "transform": "../../lib/ParserTransformer", + "stage": "parsed", + "stableForTests": true + }, + { + "transform": "../../lib/MemoTransformer", + "stage": "checked", + "keepTransformed": "../test/out", + "stableForTests": true + } + ] + }, + "include": ["./**/*.ets"] +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/arrow.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/arrow.ets new file mode 100644 index 0000000000000000000000000000000000000000..096fe3e24194366e3ae1599625517eb2551a7cda --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/arrow.ets @@ -0,0 +1,5 @@ +import { memo } from "@koalaui/runtime/annotations" + +@memo (): void => {} + +(): void => {} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/function.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/function.ets new file mode 100644 index 0000000000000000000000000000000000000000..5671531b16b37ec59d6fc2dd61a429f8d78ad220 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/function.ets @@ -0,0 +1,9 @@ +import { memo } from "@koalaui/runtime/annotations" + +@memo function memo_function(): void { + +} + +function non_memo_function(): void { + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/method.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/method.ets new file mode 100644 index 0000000000000000000000000000000000000000..81cff968aa06b1e20158305bb20444cf5112928f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/input/basic/method.ets @@ -0,0 +1,11 @@ +import { memo } from "@koalaui/runtime/annotations" + +class C { + @memo memo_method(): void { + + } + + non_memo_method(): void { + + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/rewrite.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/rewrite.test.ts index c98f62be85e61a0d11d03ed8836b1cc778a19ae2..cb19860531ad6882acc54e29ca9f2621e5d50eea 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/rewrite.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/rewrite.test.ts @@ -24,10 +24,14 @@ function makeFilesEqual(filePath: string) { fs.writeFileSync(`./golden/${filePath}.ets`, out) } +function filterGensym(value: string): string { + return value.replaceAll(/gensym%%_[0-9]*/g, "gensym_XXX") +} + function assertFilesEqual(filePath: string) { const golden = fs.readFileSync(`./golden/${filePath}.ets`, 'utf-8') const out = fs.readFileSync(`./out/${filePath}.ets`, 'utf-8') - Assert.equal(out, golden) + Assert.equal(filterGensym(out), filterGensym(golden)) } function testBody(path: string) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/test.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/test.ets index 64c8cca78652af76ca2b44d20d7c956d142f1b91..9df4421a17d682a40a4f13a9f1f46b6c8e2d535c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/test.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/test/test.ets @@ -45,22 +45,19 @@ type MemoType = @memo () => void arg5?.(arg1) } -// Disabled for now it breaks recheck - -// @memo function call_with_receiver(obj: A, @memo v: (this: A) => int): int { -// const x = obj.v() -// const y = v(obj) -// return x + y -// } - -// @memo function test_call_with_receiver() { -// const a = new A() -// const f = @memo (this: A): int => { -// return 11 -// } -// call_with_receiver(a, f) -// } +@memo function call_with_receiver(obj: A, @memo v: (this: A) => int): int { + const x = obj.v() + const y = v(obj) + return x + y +} +@memo function test_call_with_receiver() { + const a = new A() + const f = @memo (this: A): int => { + return 11 + } + call_with_receiver(a, f) +} class A { x: int y: int diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/tsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/tsconfig.json index 17834578ac916026996c6eb2bd37e96bcce032f3..a9b6345804a40b8ef2f71a89294e1f14b504db93 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/tsconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/memo-plugin/tsconfig.json @@ -4,10 +4,10 @@ "rootDir": ".", "baseUrl": ".", "outDir": "./lib", - "module": "ESNext", + "module": "ESNext" }, "include": [ - "./src/**/*.ts", + "./src/**/*.ts" ], "references": [ { "path": "../../incremental/compat" }, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/package.json index 3a56f179d7222095ec119fa09f4bbd503a0a5efc..26aafca2741c35afad0cad69377f55d3f8c02e72 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/package.json @@ -38,9 +38,10 @@ "commander": "^13.1.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", + "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 fast-arktsc && npm run compile --prefix libarkts && npm run compile:plugins --prefix libarkts && npm run compile --prefix memo-plugin && npm run runtime:prepare --prefix memo-plugin && npm run compile --prefix ui-plugins", - "test:all": "npm run build:harness --prefix ../incremental/harness && npm run test --prefix libarkts && npm run demo:run --prefix memo-plugin && npm run test:all --prefix memo-plugin", + "build:gn": "npm run compile --prefix fast-arktsc && npm run compile --prefix memo-plugin && npm run compile --prefix ui-plugins", + "test:all": "npm run build:harness --prefix ../incremental/harness && npm run test:light --prefix libarkts && npm run demo:run:light --prefix memo-plugin && npm run test:all:light --prefix memo-plugin", "all": "npm run clean:all && npm run build:all && npm run test:all" } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/.gitignore b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..3766050bedffb7f7da136b12814c6d3fdb47c5d9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/.gitignore @@ -0,0 +1 @@ +performance-results \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/package.json new file mode 100644 index 0000000000000000000000000000000000000000..41205602c14d2be7062a0f8e7870c44b31380bf4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/package.json @@ -0,0 +1,13 @@ +{ + "name": "@ui2abc/perf-tests", + "private": true, + "description": "ui2abc performance tests", + "scripts": { + "clean": "rimraf build", + "prepare": "npm run -C ../../ets-tests build:deps:m3", + "restart:inc": "node ../../ui2abc/fast-arktsc --config ./ui2abcconfig.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/out-restart.abc --restart-stages && time ninja ${NINJA_OPTIONS} -f build/build.ninja", + "restart": "npm run clean && npm run restart:inc", + "recheck:inc": "node ../../ui2abc/fast-arktsc --config ./ui2abcconfig.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/out-recheck.abc && time ninja ${NINJA_OPTIONS} -f build/build.ninja", + "recheck": "npm run clean && npm run recheck:inc" + } +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/builtinComponents.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/builtinComponents.ets new file mode 100644 index 0000000000000000000000000000000000000000..6cffa05f20ee025efdda9e66584a6072393ac69a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/builtinComponents.ets @@ -0,0 +1,22651 @@ + +/** + * 内置组件 builtinComponents.ets + */ + +@Entry +@Component +struct BuiltinComponents { + @State message: string = 'Hello ArkTS' + @State sliderValue: number = 50 + @State toggleValue: boolean = false + @State pickerValue: string = 'Option1' + @State dateValue: Date = new Date() + @State progressValue: number = 0.3 + @State textValue: string = '' + @State radioValue: string = 'Radio1' + @State checkboxValues: boolean[] = [false, false, false] + @State indexValue: number = 0 + + build() { + Column() { + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + +// 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.Normal) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + }) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + }) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + }) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } ) + } + + // 10. 列表组件 + List() { + ForEach([1, 2, 3, 4, 5], (item: number) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + } + } +} + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/customComponents.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/customComponents.ets new file mode 100644 index 0000000000000000000000000000000000000000..ec20f42df2d1e2c5be4950e40598de93c6e207da --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/customComponents.ets @@ -0,0 +1,36016 @@ + +/** + * 自定义组件 customComponents.ets + */ + +@Entry +@Component +struct CustomComponentsMain { + build() { + Column() { + Component0() + Component1() + Component2() + Component3() + Component4() + Component5() + Component6() + Component7() + Component8() + Component9() + Component10() + Component11() + Component12() + Component13() + Component14() + Component15() + Component16() + Component17() + Component18() + Component19() + Component20() + Component21() + Component22() + Component23() + Component24() + Component25() + Component26() + Component27() + Component28() + Component29() + Component30() + Component31() + Component32() + Component33() + Component34() + Component35() + Component36() + Component37() + Component38() + Component39() + Component40() + Component41() + Component42() + Component43() + Component44() + Component45() + Component46() + Component47() + Component48() + Component49() + Component50() + Component51() + Component52() + Component53() + Component54() + Component55() + Component56() + Component57() + Component58() + Component59() + Component60() + Component61() + Component62() + Component63() + Component64() + Component65() + Component66() + Component67() + Component68() + Component69() + Component70() + Component71() + Component72() + Component73() + Component74() + Component75() + Component76() + Component77() + Component78() + Component79() + Component80() + Component81() + Component82() + Component83() + Component84() + Component85() + Component86() + Component87() + Component88() + Component89() + Component90() + Component91() + Component92() + Component93() + Component94() + Component95() + Component96() + Component97() + Component98() + Component99() + Component100() + Component101() + Component102() + Component103() + Component104() + Component105() + Component106() + Component107() + Component108() + Component109() + Component110() + Component111() + Component112() + Component113() + Component114() + Component115() + Component116() + Component117() + Component118() + Component119() + Component120() + Component121() + Component122() + Component123() + Component124() + Component125() + Component126() + Component127() + Component128() + Component129() + Component130() + Component131() + Component132() + Component133() + Component134() + Component135() + Component136() + Component137() + Component138() + Component139() + Component140() + Component141() + Component142() + Component143() + Component144() + Component145() + Component146() + Component147() + Component148() + Component149() + Component150() + Component151() + Component152() + Component153() + Component154() + Component155() + Component156() + Component157() + Component158() + Component159() + Component160() + Component161() + Component162() + Component163() + Component164() + Component165() + Component166() + Component167() + Component168() + Component169() + Component170() + Component171() + Component172() + Component173() + Component174() + Component175() + Component176() + Component177() + Component178() + Component179() + Component180() + Component181() + Component182() + Component183() + Component184() + Component185() + Component186() + Component187() + Component188() + Component189() + Component190() + Component191() + Component192() + Component193() + Component194() + Component195() + Component196() + Component197() + Component198() + Component199() + Component200() + Component201() + Component202() + Component203() + Component204() + Component205() + Component206() + Component207() + Component208() + Component209() + Component210() + Component211() + Component212() + Component213() + Component214() + Component215() + Component216() + Component217() + Component218() + Component219() + Component220() + Component221() + Component222() + Component223() + Component224() + Component225() + Component226() + Component227() + Component228() + Component229() + Component230() + Component231() + Component232() + Component233() + Component234() + Component235() + Component236() + Component237() + Component238() + Component239() + Component240() + Component241() + Component242() + Component243() + Component244() + Component245() + Component246() + Component247() + Component248() + Component249() + Component250() + Component251() + Component252() + Component253() + Component254() + Component255() + Component256() + Component257() + Component258() + Component259() + Component260() + Component261() + Component262() + Component263() + Component264() + Component265() + Component266() + Component267() + Component268() + Component269() + Component270() + Component271() + Component272() + Component273() + Component274() + Component275() + Component276() + Component277() + Component278() + Component279() + Component280() + Component281() + Component282() + Component283() + Component284() + Component285() + Component286() + Component287() + Component288() + Component289() + Component290() + Component291() + Component292() + Component293() + Component294() + Component295() + Component296() + Component297() + Component298() + Component299() + Component300() + Component301() + Component302() + Component303() + Component304() + Component305() + Component306() + Component307() + Component308() + Component309() + Component310() + Component311() + Component312() + Component313() + Component314() + Component315() + Component316() + Component317() + Component318() + Component319() + Component320() + Component321() + Component322() + Component323() + Component324() + Component325() + Component326() + Component327() + Component328() + Component329() + Component330() + Component331() + Component332() + Component333() + Component334() + Component335() + Component336() + Component337() + Component338() + Component339() + Component340() + Component341() + Component342() + Component343() + Component344() + Component345() + Component346() + Component347() + Component348() + Component349() + Component350() + Component351() + Component352() + Component353() + Component354() + Component355() + Component356() + Component357() + Component358() + Component359() + Component360() + Component361() + Component362() + Component363() + Component364() + Component365() + Component366() + Component367() + Component368() + Component369() + Component370() + Component371() + Component372() + Component373() + Component374() + Component375() + Component376() + Component377() + Component378() + Component379() + Component380() + Component381() + Component382() + Component383() + Component384() + Component385() + Component386() + Component387() + Component388() + Component389() + Component390() + Component391() + Component392() + Component393() + Component394() + Component395() + Component396() + Component397() + Component398() + Component399() + Component400() + Component401() + Component402() + Component403() + Component404() + Component405() + Component406() + Component407() + Component408() + Component409() + Component410() + Component411() + Component412() + Component413() + Component414() + Component415() + Component416() + Component417() + Component418() + Component419() + Component420() + Component421() + Component422() + Component423() + Component424() + Component425() + Component426() + Component427() + Component428() + Component429() + Component430() + Component431() + Component432() + Component433() + Component434() + Component435() + Component436() + Component437() + Component438() + Component439() + Component440() + Component441() + Component442() + Component443() + Component444() + Component445() + Component446() + Component447() + Component448() + Component449() + Component450() + Component451() + Component452() + Component453() + Component454() + Component455() + Component456() + Component457() + Component458() + Component459() + Component460() + Component461() + Component462() + Component463() + Component464() + Component465() + Component466() + Component467() + Component468() + Component469() + Component470() + Component471() + Component472() + Component473() + Component474() + Component475() + Component476() + Component477() + Component478() + Component479() + Component480() + Component481() + Component482() + Component483() + Component484() + Component485() + Component486() + Component487() + Component488() + Component489() + Component490() + Component491() + Component492() + Component493() + Component494() + Component495() + Component496() + Component497() + Component498() + Component499() + Component500() + Component501() + Component502() + Component503() + Component504() + Component505() + Component506() + Component507() + Component508() + Component509() + Component510() + Component511() + Component512() + Component513() + Component514() + Component515() + Component516() + Component517() + Component518() + Component519() + Component520() + Component521() + Component522() + Component523() + Component524() + Component525() + Component526() + Component527() + Component528() + Component529() + Component530() + Component531() + Component532() + Component533() + Component534() + Component535() + Component536() + Component537() + Component538() + Component539() + Component540() + Component541() + Component542() + Component543() + Component544() + Component545() + Component546() + Component547() + Component548() + Component549() + Component550() + Component551() + Component552() + Component553() + Component554() + Component555() + Component556() + Component557() + Component558() + Component559() + Component560() + Component561() + Component562() + Component563() + Component564() + Component565() + Component566() + Component567() + Component568() + Component569() + Component570() + Component571() + Component572() + Component573() + Component574() + Component575() + Component576() + Component577() + Component578() + Component579() + Component580() + Component581() + Component582() + Component583() + Component584() + Component585() + Component586() + Component587() + Component588() + Component589() + Component590() + Component591() + Component592() + Component593() + Component594() + Component595() + Component596() + Component597() + Component598() + Component599() + Component600() + Component601() + Component602() + Component603() + Component604() + Component605() + Component606() + Component607() + Component608() + Component609() + Component610() + Component611() + Component612() + Component613() + Component614() + Component615() + Component616() + Component617() + Component618() + Component619() + Component620() + Component621() + Component622() + Component623() + Component624() + Component625() + Component626() + Component627() + Component628() + Component629() + Component630() + Component631() + Component632() + Component633() + Component634() + Component635() + Component636() + Component637() + Component638() + Component639() + Component640() + Component641() + Component642() + Component643() + Component644() + Component645() + Component646() + Component647() + Component648() + Component649() + Component650() + Component651() + Component652() + Component653() + Component654() + Component655() + Component656() + Component657() + Component658() + Component659() + Component660() + Component661() + Component662() + Component663() + Component664() + Component665() + Component666() + Component667() + Component668() + Component669() + Component670() + Component671() + Component672() + Component673() + Component674() + Component675() + Component676() + Component677() + Component678() + Component679() + Component680() + Component681() + Component682() + Component683() + Component684() + Component685() + Component686() + Component687() + Component688() + Component689() + Component690() + Component691() + Component692() + Component693() + Component694() + Component695() + Component696() + Component697() + Component698() + Component699() + Component700() + Component701() + Component702() + Component703() + Component704() + Component705() + Component706() + Component707() + Component708() + Component709() + Component710() + Component711() + Component712() + Component713() + Component714() + Component715() + Component716() + Component717() + Component718() + Component719() + Component720() + Component721() + Component722() + Component723() + Component724() + Component725() + Component726() + Component727() + Component728() + Component729() + Component730() + Component731() + Component732() + Component733() + Component734() + Component735() + Component736() + Component737() + Component738() + Component739() + Component740() + Component741() + Component742() + Component743() + Component744() + Component745() + Component746() + Component747() + Component748() + Component749() + Component750() + Component751() + Component752() + Component753() + Component754() + Component755() + Component756() + Component757() + Component758() + Component759() + Component760() + Component761() + Component762() + Component763() + Component764() + Component765() + Component766() + Component767() + Component768() + Component769() + Component770() + Component771() + Component772() + Component773() + Component774() + Component775() + Component776() + Component777() + Component778() + Component779() + Component780() + Component781() + Component782() + Component783() + Component784() + Component785() + Component786() + Component787() + Component788() + Component789() + Component790() + Component791() + Component792() + Component793() + Component794() + Component795() + Component796() + Component797() + Component798() + Component799() + Component800() + Component801() + Component802() + Component803() + Component804() + Component805() + Component806() + Component807() + Component808() + Component809() + Component810() + Component811() + Component812() + Component813() + Component814() + Component815() + Component816() + Component817() + Component818() + Component819() + Component820() + Component821() + Component822() + Component823() + Component824() + Component825() + Component826() + Component827() + Component828() + Component829() + Component830() + Component831() + Component832() + Component833() + Component834() + Component835() + Component836() + Component837() + Component838() + Component839() + Component840() + Component841() + Component842() + Component843() + Component844() + Component845() + Component846() + Component847() + Component848() + Component849() + Component850() + Component851() + Component852() + Component853() + Component854() + Component855() + Component856() + Component857() + Component858() + Component859() + Component860() + Component861() + Component862() + Component863() + Component864() + Component865() + Component866() + Component867() + Component868() + Component869() + Component870() + Component871() + Component872() + Component873() + Component874() + Component875() + Component876() + Component877() + Component878() + Component879() + Component880() + Component881() + Component882() + Component883() + Component884() + Component885() + Component886() + Component887() + Component888() + Component889() + Component890() + Component891() + Component892() + Component893() + Component894() + Component895() + Component896() + Component897() + Component898() + Component899() + Component900() + Component901() + Component902() + Component903() + Component904() + Component905() + Component906() + Component907() + Component908() + Component909() + Component910() + Component911() + Component912() + Component913() + Component914() + Component915() + Component916() + Component917() + Component918() + Component919() + Component920() + Component921() + Component922() + Component923() + Component924() + Component925() + Component926() + Component927() + Component928() + Component929() + Component930() + Component931() + Component932() + Component933() + Component934() + Component935() + Component936() + Component937() + Component938() + Component939() + Component940() + Component941() + Component942() + Component943() + Component944() + Component945() + Component946() + Component947() + Component948() + Component949() + Component950() + Component951() + Component952() + Component953() + Component954() + Component955() + Component956() + Component957() + Component958() + Component959() + Component960() + Component961() + Component962() + Component963() + Component964() + Component965() + Component966() + Component967() + Component968() + Component969() + Component970() + Component971() + Component972() + Component973() + Component974() + Component975() + Component976() + Component977() + Component978() + Component979() + Component980() + Component981() + Component982() + Component983() + Component984() + Component985() + Component986() + Component987() + Component988() + Component989() + Component990() + Component991() + Component992() + Component993() + Component994() + Component995() + Component996() + Component997() + Component998() + Component999() + Component1000() + Component1001() + Component1002() + Component1003() + Component1004() + Component1005() + Component1006() + Component1007() + Component1008() + Component1009() + Component1010() + Component1011() + Component1012() + Component1013() + Component1014() + Component1015() + Component1016() + Component1017() + Component1018() + Component1019() + Component1020() + Component1021() + Component1022() + Component1023() + Component1024() + Component1025() + Component1026() + Component1027() + Component1028() + Component1029() + Component1030() + Component1031() + Component1032() + Component1033() + Component1034() + Component1035() + Component1036() + Component1037() + Component1038() + Component1039() + Component1040() + Component1041() + Component1042() + Component1043() + Component1044() + Component1045() + Component1046() + Component1047() + Component1048() + Component1049() + Component1050() + Component1051() + Component1052() + Component1053() + Component1054() + Component1055() + Component1056() + Component1057() + Component1058() + Component1059() + Component1060() + Component1061() + Component1062() + Component1063() + Component1064() + Component1065() + Component1066() + Component1067() + Component1068() + Component1069() + Component1070() + Component1071() + Component1072() + Component1073() + Component1074() + Component1075() + Component1076() + Component1077() + Component1078() + Component1079() + Component1080() + Component1081() + Component1082() + Component1083() + Component1084() + Component1085() + Component1086() + Component1087() + Component1088() + Component1089() + Component1090() + Component1091() + Component1092() + Component1093() + Component1094() + Component1095() + Component1096() + Component1097() + Component1098() + Component1099() + Component1100() + Component1101() + Component1102() + Component1103() + Component1104() + Component1105() + Component1106() + Component1107() + Component1108() + Component1109() + Component1110() + Component1111() + Component1112() + Component1113() + Component1114() + Component1115() + Component1116() + Component1117() + Component1118() + Component1119() + Component1120() + Component1121() + Component1122() + Component1123() + Component1124() + Component1125() + Component1126() + Component1127() + Component1128() + Component1129() + Component1130() + Component1131() + Component1132() + Component1133() + Component1134() + Component1135() + Component1136() + Component1137() + Component1138() + Component1139() + Component1140() + Component1141() + Component1142() + Component1143() + Component1144() + Component1145() + Component1146() + Component1147() + Component1148() + Component1149() + Component1150() + Component1151() + Component1152() + Component1153() + Component1154() + Component1155() + Component1156() + Component1157() + Component1158() + Component1159() + Component1160() + Component1161() + Component1162() + Component1163() + Component1164() + Component1165() + Component1166() + Component1167() + Component1168() + Component1169() + Component1170() + Component1171() + Component1172() + Component1173() + Component1174() + Component1175() + Component1176() + Component1177() + Component1178() + Component1179() + Component1180() + Component1181() + Component1182() + Component1183() + Component1184() + Component1185() + Component1186() + Component1187() + Component1188() + Component1189() + Component1190() + Component1191() + Component1192() + Component1193() + Component1194() + Component1195() + Component1196() + Component1197() + Component1198() + Component1199() + Component1200() + Component1201() + Component1202() + Component1203() + Component1204() + Component1205() + Component1206() + Component1207() + Component1208() + Component1209() + Component1210() + Component1211() + Component1212() + Component1213() + Component1214() + Component1215() + Component1216() + Component1217() + Component1218() + Component1219() + Component1220() + Component1221() + Component1222() + Component1223() + Component1224() + Component1225() + Component1226() + Component1227() + Component1228() + Component1229() + Component1230() + Component1231() + Component1232() + Component1233() + Component1234() + Component1235() + Component1236() + Component1237() + Component1238() + Component1239() + Component1240() + Component1241() + Component1242() + Component1243() + Component1244() + Component1245() + Component1246() + Component1247() + Component1248() + Component1249() + Component1250() + Component1251() + Component1252() + Component1253() + Component1254() + Component1255() + Component1256() + Component1257() + Component1258() + Component1259() + Component1260() + Component1261() + Component1262() + Component1263() + Component1264() + Component1265() + Component1266() + Component1267() + Component1268() + Component1269() + Component1270() + Component1271() + Component1272() + Component1273() + Component1274() + Component1275() + Component1276() + Component1277() + Component1278() + Component1279() + Component1280() + Component1281() + Component1282() + Component1283() + Component1284() + Component1285() + Component1286() + Component1287() + Component1288() + Component1289() + Component1290() + Component1291() + Component1292() + Component1293() + Component1294() + Component1295() + Component1296() + Component1297() + Component1298() + Component1299() + Component1300() + Component1301() + Component1302() + Component1303() + Component1304() + Component1305() + Component1306() + Component1307() + Component1308() + Component1309() + Component1310() + Component1311() + Component1312() + Component1313() + Component1314() + Component1315() + Component1316() + Component1317() + Component1318() + Component1319() + Component1320() + Component1321() + Component1322() + Component1323() + Component1324() + Component1325() + Component1326() + Component1327() + Component1328() + Component1329() + Component1330() + Component1331() + Component1332() + Component1333() + Component1334() + Component1335() + Component1336() + Component1337() + Component1338() + Component1339() + Component1340() + Component1341() + Component1342() + Component1343() + Component1344() + Component1345() + Component1346() + Component1347() + Component1348() + Component1349() + Component1350() + Component1351() + Component1352() + Component1353() + Component1354() + Component1355() + Component1356() + Component1357() + Component1358() + Component1359() + Component1360() + Component1361() + Component1362() + Component1363() + Component1364() + Component1365() + Component1366() + Component1367() + Component1368() + Component1369() + Component1370() + Component1371() + Component1372() + Component1373() + Component1374() + Component1375() + Component1376() + Component1377() + Component1378() + Component1379() + Component1380() + Component1381() + Component1382() + Component1383() + Component1384() + Component1385() + Component1386() + Component1387() + Component1388() + Component1389() + Component1390() + Component1391() + Component1392() + Component1393() + Component1394() + Component1395() + Component1396() + Component1397() + Component1398() + Component1399() + Component1400() + Component1401() + Component1402() + Component1403() + Component1404() + Component1405() + Component1406() + Component1407() + Component1408() + Component1409() + Component1410() + Component1411() + Component1412() + Component1413() + Component1414() + Component1415() + Component1416() + Component1417() + Component1418() + Component1419() + Component1420() + Component1421() + Component1422() + Component1423() + Component1424() + Component1425() + Component1426() + Component1427() + Component1428() + Component1429() + Component1430() + Component1431() + Component1432() + Component1433() + Component1434() + Component1435() + Component1436() + Component1437() + Component1438() + Component1439() + Component1440() + Component1441() + Component1442() + Component1443() + Component1444() + Component1445() + Component1446() + Component1447() + Component1448() + Component1449() + Component1450() + Component1451() + Component1452() + Component1453() + Component1454() + Component1455() + Component1456() + Component1457() + Component1458() + Component1459() + Component1460() + Component1461() + Component1462() + Component1463() + Component1464() + Component1465() + Component1466() + Component1467() + Component1468() + Component1469() + Component1470() + Component1471() + Component1472() + Component1473() + Component1474() + Component1475() + Component1476() + Component1477() + Component1478() + Component1479() + Component1480() + Component1481() + Component1482() + Component1483() + Component1484() + Component1485() + Component1486() + Component1487() + Component1488() + Component1489() + Component1490() + Component1491() + Component1492() + Component1493() + Component1494() + Component1495() + Component1496() + Component1497() + Component1498() + Component1499() + Component1500() + Component1501() + Component1502() + Component1503() + Component1504() + Component1505() + Component1506() + Component1507() + Component1508() + Component1509() + Component1510() + Component1511() + Component1512() + Component1513() + Component1514() + Component1515() + Component1516() + Component1517() + Component1518() + Component1519() + Component1520() + Component1521() + Component1522() + Component1523() + Component1524() + Component1525() + Component1526() + Component1527() + Component1528() + Component1529() + Component1530() + Component1531() + Component1532() + Component1533() + Component1534() + Component1535() + Component1536() + Component1537() + Component1538() + Component1539() + Component1540() + Component1541() + Component1542() + Component1543() + Component1544() + Component1545() + Component1546() + Component1547() + Component1548() + Component1549() + Component1550() + Component1551() + Component1552() + Component1553() + Component1554() + Component1555() + Component1556() + Component1557() + Component1558() + Component1559() + Component1560() + Component1561() + Component1562() + Component1563() + Component1564() + Component1565() + Component1566() + Component1567() + Component1568() + Component1569() + Component1570() + Component1571() + Component1572() + Component1573() + Component1574() + Component1575() + Component1576() + Component1577() + Component1578() + Component1579() + Component1580() + Component1581() + Component1582() + Component1583() + Component1584() + Component1585() + Component1586() + Component1587() + Component1588() + Component1589() + Component1590() + Component1591() + Component1592() + Component1593() + Component1594() + Component1595() + Component1596() + Component1597() + Component1598() + Component1599() + Component1600() + Component1601() + Component1602() + Component1603() + Component1604() + Component1605() + Component1606() + Component1607() + Component1608() + Component1609() + Component1610() + Component1611() + Component1612() + Component1613() + Component1614() + Component1615() + Component1616() + Component1617() + Component1618() + Component1619() + Component1620() + Component1621() + Component1622() + Component1623() + Component1624() + Component1625() + Component1626() + Component1627() + Component1628() + Component1629() + Component1630() + Component1631() + Component1632() + Component1633() + Component1634() + Component1635() + Component1636() + Component1637() + Component1638() + Component1639() + Component1640() + Component1641() + Component1642() + Component1643() + Component1644() + Component1645() + Component1646() + Component1647() + Component1648() + Component1649() + Component1650() + Component1651() + Component1652() + Component1653() + Component1654() + Component1655() + Component1656() + Component1657() + Component1658() + Component1659() + Component1660() + Component1661() + Component1662() + Component1663() + Component1664() + Component1665() + Component1666() + Component1667() + Component1668() + Component1669() + Component1670() + Component1671() + Component1672() + Component1673() + Component1674() + Component1675() + Component1676() + Component1677() + Component1678() + Component1679() + Component1680() + Component1681() + Component1682() + Component1683() + Component1684() + Component1685() + Component1686() + Component1687() + Component1688() + Component1689() + Component1690() + Component1691() + Component1692() + Component1693() + Component1694() + Component1695() + Component1696() + Component1697() + Component1698() + Component1699() + Component1700() + Component1701() + Component1702() + Component1703() + Component1704() + Component1705() + Component1706() + Component1707() + Component1708() + Component1709() + Component1710() + Component1711() + Component1712() + Component1713() + Component1714() + Component1715() + Component1716() + Component1717() + Component1718() + Component1719() + Component1720() + Component1721() + Component1722() + Component1723() + Component1724() + Component1725() + Component1726() + Component1727() + Component1728() + Component1729() + Component1730() + Component1731() + Component1732() + Component1733() + Component1734() + Component1735() + Component1736() + Component1737() + Component1738() + Component1739() + Component1740() + Component1741() + Component1742() + Component1743() + Component1744() + Component1745() + Component1746() + Component1747() + Component1748() + Component1749() + Component1750() + Component1751() + Component1752() + Component1753() + Component1754() + Component1755() + Component1756() + Component1757() + Component1758() + Component1759() + Component1760() + Component1761() + Component1762() + Component1763() + Component1764() + Component1765() + Component1766() + Component1767() + Component1768() + Component1769() + Component1770() + Component1771() + Component1772() + Component1773() + Component1774() + Component1775() + Component1776() + Component1777() + Component1778() + Component1779() + Component1780() + Component1781() + Component1782() + Component1783() + Component1784() + Component1785() + Component1786() + Component1787() + Component1788() + Component1789() + Component1790() + Component1791() + Component1792() + Component1793() + Component1794() + Component1795() + Component1796() + Component1797() + Component1798() + Component1799() + Component1800() + Component1801() + Component1802() + Component1803() + Component1804() + Component1805() + Component1806() + Component1807() + Component1808() + Component1809() + Component1810() + Component1811() + Component1812() + Component1813() + Component1814() + Component1815() + Component1816() + Component1817() + Component1818() + Component1819() + Component1820() + Component1821() + Component1822() + Component1823() + Component1824() + Component1825() + Component1826() + Component1827() + Component1828() + Component1829() + Component1830() + Component1831() + Component1832() + Component1833() + Component1834() + Component1835() + Component1836() + Component1837() + Component1838() + Component1839() + Component1840() + Component1841() + Component1842() + Component1843() + Component1844() + Component1845() + Component1846() + Component1847() + Component1848() + Component1849() + Component1850() + Component1851() + Component1852() + Component1853() + Component1854() + Component1855() + Component1856() + Component1857() + Component1858() + Component1859() + Component1860() + Component1861() + Component1862() + Component1863() + Component1864() + Component1865() + Component1866() + Component1867() + Component1868() + Component1869() + Component1870() + Component1871() + Component1872() + Component1873() + Component1874() + Component1875() + Component1876() + Component1877() + Component1878() + Component1879() + Component1880() + Component1881() + Component1882() + Component1883() + Component1884() + Component1885() + Component1886() + Component1887() + Component1888() + Component1889() + Component1890() + Component1891() + Component1892() + Component1893() + Component1894() + Component1895() + Component1896() + Component1897() + Component1898() + Component1899() + Component1900() + Component1901() + Component1902() + Component1903() + Component1904() + Component1905() + Component1906() + Component1907() + Component1908() + Component1909() + Component1910() + Component1911() + Component1912() + Component1913() + Component1914() + Component1915() + Component1916() + Component1917() + Component1918() + Component1919() + Component1920() + Component1921() + Component1922() + Component1923() + Component1924() + Component1925() + Component1926() + Component1927() + Component1928() + Component1929() + Component1930() + Component1931() + Component1932() + Component1933() + Component1934() + Component1935() + Component1936() + Component1937() + Component1938() + Component1939() + Component1940() + Component1941() + Component1942() + Component1943() + Component1944() + Component1945() + Component1946() + Component1947() + Component1948() + Component1949() + Component1950() + Component1951() + Component1952() + Component1953() + Component1954() + Component1955() + Component1956() + Component1957() + Component1958() + Component1959() + Component1960() + Component1961() + Component1962() + Component1963() + Component1964() + Component1965() + Component1966() + Component1967() + Component1968() + Component1969() + Component1970() + Component1971() + Component1972() + Component1973() + Component1974() + Component1975() + Component1976() + Component1977() + Component1978() + Component1979() + Component1980() + Component1981() + Component1982() + Component1983() + Component1984() + Component1985() + Component1986() + Component1987() + Component1988() + Component1989() + Component1990() + Component1991() + Component1992() + Component1993() + Component1994() + Component1995() + Component1996() + Component1997() + Component1998() + Component1999() + + } + } +} + + +@Component +struct Component0 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component2 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component3 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component4 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component5 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component6 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component7 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component8 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component9 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component10 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component11 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component12 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component13 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component14 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component15 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component16 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component17 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component18 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component19 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component20 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component21 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component22 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component23 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component24 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component25 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component26 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component27 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component28 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component29 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component30 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component31 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component32 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component33 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component34 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component35 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component36 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component37 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component38 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component39 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component40 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component41 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component42 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component43 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component44 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component45 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component46 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component47 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component48 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component49 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component50 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component51 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component52 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component53 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component54 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component55 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component56 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component57 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component58 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component59 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component60 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component61 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component62 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component63 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component64 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component65 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component66 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component67 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component68 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component69 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component70 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component71 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component72 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component73 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component74 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component75 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component76 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component77 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component78 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component79 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component80 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component81 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component82 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component83 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component84 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component85 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component86 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component87 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component88 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component89 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component90 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component91 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component92 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component93 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component94 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component95 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component96 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component97 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component98 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component99 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component100 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component101 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component102 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component103 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component104 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component105 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component106 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component107 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component108 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component109 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component110 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component111 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component112 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component113 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component114 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component115 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component116 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component117 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component118 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component119 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component120 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component121 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component122 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component123 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component124 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component125 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component126 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component127 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component128 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component129 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component130 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component131 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component132 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component133 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component134 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component135 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component136 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component137 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component138 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component139 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component140 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component141 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component142 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component143 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component144 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component145 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component146 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component147 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component148 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component149 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component150 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component151 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component152 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component153 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component154 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component155 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component156 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component157 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component158 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component159 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component160 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component161 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component162 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component163 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component164 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component165 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component166 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component167 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component168 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component169 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component170 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component171 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component172 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component173 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component174 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component175 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component176 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component177 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component178 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component179 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component180 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component181 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component182 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component183 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component184 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component185 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component186 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component187 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component188 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component189 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component190 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component191 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component192 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component193 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component194 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component195 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component196 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component197 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component198 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component199 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component200 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component201 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component202 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component203 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component204 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component205 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component206 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component207 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component208 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component209 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component210 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component211 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component212 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component213 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component214 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component215 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component216 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component217 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component218 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component219 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component220 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component221 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component222 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component223 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component224 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component225 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component226 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component227 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component228 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component229 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component230 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component231 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component232 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component233 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component234 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component235 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component236 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component237 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component238 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component239 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component240 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component241 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component242 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component243 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component244 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component245 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component246 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component247 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component248 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component249 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component250 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component251 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component252 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component253 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component254 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component255 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component256 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component257 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component258 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component259 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component260 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component261 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component262 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component263 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component264 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component265 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component266 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component267 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component268 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component269 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component270 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component271 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component272 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component273 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component274 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component275 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component276 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component277 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component278 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component279 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component280 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component281 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component282 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component283 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component284 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component285 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component286 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component287 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component288 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component289 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component290 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component291 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component292 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component293 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component294 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component295 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component296 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component297 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component298 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component299 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component300 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component301 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component302 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component303 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component304 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component305 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component306 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component307 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component308 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component309 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component310 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component311 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component312 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component313 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component314 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component315 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component316 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component317 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component318 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component319 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component320 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component321 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component322 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component323 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component324 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component325 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component326 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component327 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component328 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component329 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component330 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component331 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component332 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component333 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component334 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component335 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component336 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component337 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component338 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component339 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component340 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component341 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component342 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component343 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component344 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component345 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component346 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component347 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component348 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component349 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component350 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component351 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component352 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component353 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component354 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component355 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component356 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component357 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component358 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component359 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component360 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component361 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component362 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component363 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component364 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component365 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component366 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component367 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component368 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component369 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component370 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component371 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component372 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component373 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component374 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component375 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component376 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component377 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component378 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component379 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component380 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component381 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component382 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component383 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component384 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component385 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component386 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component387 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component388 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component389 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component390 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component391 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component392 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component393 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component394 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component395 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component396 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component397 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component398 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component399 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component400 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component401 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component402 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component403 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component404 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component405 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component406 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component407 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component408 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component409 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component410 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component411 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component412 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component413 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component414 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component415 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component416 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component417 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component418 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component419 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component420 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component421 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component422 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component423 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component424 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component425 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component426 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component427 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component428 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component429 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component430 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component431 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component432 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component433 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component434 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component435 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component436 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component437 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component438 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component439 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component440 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component441 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component442 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component443 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component444 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component445 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component446 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component447 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component448 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component449 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component450 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component451 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component452 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component453 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component454 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component455 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component456 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component457 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component458 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component459 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component460 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component461 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component462 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component463 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component464 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component465 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component466 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component467 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component468 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component469 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component470 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component471 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component472 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component473 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component474 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component475 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component476 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component477 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component478 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component479 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component480 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component481 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component482 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component483 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component484 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component485 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component486 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component487 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component488 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component489 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component490 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component491 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component492 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component493 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component494 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component495 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component496 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component497 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component498 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component499 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component500 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component501 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component502 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component503 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component504 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component505 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component506 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component507 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component508 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component509 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component510 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component511 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component512 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component513 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component514 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component515 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component516 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component517 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component518 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component519 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component520 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component521 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component522 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component523 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component524 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component525 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component526 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component527 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component528 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component529 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component530 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component531 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component532 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component533 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component534 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component535 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component536 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component537 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component538 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component539 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component540 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component541 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component542 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component543 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component544 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component545 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component546 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component547 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component548 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component549 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component550 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component551 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component552 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component553 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component554 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component555 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component556 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component557 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component558 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component559 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component560 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component561 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component562 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component563 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component564 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component565 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component566 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component567 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component568 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component569 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component570 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component571 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component572 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component573 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component574 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component575 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component576 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component577 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component578 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component579 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component580 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component581 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component582 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component583 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component584 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component585 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component586 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component587 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component588 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component589 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component590 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component591 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component592 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component593 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component594 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component595 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component596 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component597 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component598 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component599 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component600 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component601 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component602 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component603 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component604 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component605 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component606 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component607 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component608 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component609 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component610 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component611 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component612 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component613 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component614 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component615 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component616 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component617 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component618 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component619 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component620 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component621 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component622 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component623 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component624 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component625 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component626 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component627 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component628 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component629 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component630 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component631 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component632 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component633 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component634 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component635 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component636 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component637 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component638 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component639 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component640 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component641 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component642 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component643 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component644 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component645 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component646 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component647 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component648 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component649 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component650 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component651 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component652 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component653 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component654 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component655 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component656 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component657 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component658 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component659 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component660 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component661 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component662 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component663 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component664 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component665 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component666 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component667 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component668 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component669 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component670 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component671 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component672 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component673 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component674 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component675 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component676 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component677 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component678 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component679 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component680 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component681 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component682 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component683 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component684 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component685 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component686 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component687 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component688 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component689 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component690 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component691 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component692 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component693 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component694 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component695 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component696 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component697 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component698 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component699 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component700 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component701 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component702 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component703 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component704 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component705 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component706 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component707 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component708 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component709 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component710 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component711 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component712 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component713 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component714 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component715 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component716 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component717 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component718 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component719 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component720 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component721 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component722 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component723 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component724 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component725 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component726 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component727 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component728 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component729 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component730 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component731 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component732 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component733 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component734 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component735 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component736 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component737 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component738 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component739 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component740 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component741 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component742 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component743 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component744 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component745 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component746 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component747 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component748 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component749 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component750 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component751 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component752 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component753 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component754 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component755 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component756 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component757 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component758 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component759 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component760 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component761 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component762 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component763 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component764 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component765 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component766 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component767 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component768 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component769 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component770 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component771 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component772 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component773 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component774 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component775 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component776 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component777 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component778 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component779 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component780 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component781 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component782 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component783 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component784 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component785 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component786 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component787 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component788 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component789 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component790 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component791 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component792 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component793 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component794 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component795 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component796 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component797 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component798 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component799 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component800 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component801 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component802 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component803 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component804 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component805 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component806 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component807 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component808 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component809 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component810 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component811 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component812 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component813 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component814 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component815 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component816 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component817 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component818 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component819 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component820 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component821 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component822 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component823 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component824 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component825 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component826 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component827 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component828 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component829 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component830 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component831 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component832 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component833 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component834 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component835 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component836 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component837 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component838 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component839 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component840 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component841 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component842 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component843 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component844 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component845 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component846 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component847 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component848 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component849 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component850 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component851 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component852 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component853 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component854 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component855 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component856 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component857 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component858 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component859 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component860 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component861 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component862 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component863 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component864 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component865 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component866 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component867 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component868 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component869 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component870 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component871 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component872 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component873 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component874 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component875 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component876 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component877 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component878 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component879 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component880 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component881 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component882 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component883 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component884 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component885 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component886 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component887 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component888 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component889 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component890 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component891 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component892 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component893 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component894 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component895 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component896 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component897 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component898 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component899 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component900 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component901 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component902 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component903 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component904 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component905 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component906 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component907 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component908 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component909 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component910 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component911 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component912 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component913 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component914 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component915 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component916 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component917 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component918 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component919 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component920 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component921 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component922 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component923 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component924 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component925 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component926 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component927 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component928 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component929 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component930 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component931 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component932 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component933 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component934 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component935 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component936 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component937 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component938 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component939 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component940 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component941 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component942 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component943 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component944 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component945 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component946 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component947 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component948 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component949 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component950 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component951 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component952 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component953 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component954 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component955 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component956 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component957 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component958 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component959 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component960 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component961 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component962 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component963 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component964 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component965 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component966 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component967 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component968 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component969 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component970 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component971 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component972 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component973 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component974 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component975 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component976 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component977 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component978 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component979 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component980 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component981 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component982 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component983 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component984 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component985 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component986 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component987 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component988 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component989 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component990 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component991 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component992 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component993 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component994 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component995 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component996 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component997 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component998 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component999 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1000 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1001 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1002 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1003 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1004 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1005 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1006 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1007 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1008 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1009 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1010 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1011 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1012 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1013 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1014 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1015 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1016 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1017 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1018 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1019 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1020 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1021 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1022 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1023 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1024 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1025 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1026 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1027 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1028 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1029 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1030 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1031 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1032 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1033 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1034 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1035 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1036 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1037 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1038 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1039 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1040 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1041 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1042 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1043 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1044 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1045 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1046 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1047 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1048 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1049 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1050 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1051 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1052 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1053 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1054 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1055 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1056 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1057 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1058 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1059 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1060 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1061 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1062 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1063 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1064 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1065 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1066 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1067 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1068 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1069 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1070 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1071 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1072 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1073 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1074 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1075 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1076 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1077 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1078 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1079 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1080 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1081 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1082 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1083 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1084 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1085 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1086 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1087 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1088 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1089 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1090 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1091 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1092 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1093 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1094 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1095 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1096 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1097 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1098 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1099 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1100 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1101 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1102 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1103 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1104 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1105 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1106 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1107 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1108 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1109 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1110 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1111 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1112 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1113 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1114 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1115 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1116 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1117 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1118 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1119 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1120 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1121 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1122 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1123 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1124 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1125 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1126 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1127 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1128 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1129 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1130 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1131 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1132 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1133 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1134 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1135 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1136 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1137 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1138 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1139 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1140 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1141 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1142 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1143 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1144 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1145 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1146 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1147 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1148 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1149 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1150 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1151 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1152 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1153 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1154 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1155 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1156 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1157 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1158 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1159 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1160 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1161 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1162 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1163 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1164 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1165 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1166 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1167 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1168 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1169 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1170 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1171 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1172 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1173 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1174 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1175 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1176 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1177 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1178 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1179 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1180 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1181 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1182 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1183 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1184 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1185 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1186 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1187 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1188 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1189 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1190 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1191 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1192 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1193 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1194 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1195 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1196 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1197 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1198 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1199 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1200 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1201 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1202 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1203 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1204 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1205 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1206 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1207 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1208 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1209 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1210 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1211 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1212 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1213 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1214 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1215 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1216 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1217 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1218 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1219 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1220 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1221 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1222 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1223 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1224 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1225 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1226 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1227 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1228 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1229 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1230 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1231 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1232 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1233 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1234 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1235 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1236 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1237 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1238 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1239 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1240 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1241 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1242 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1243 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1244 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1245 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1246 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1247 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1248 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1249 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1250 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1251 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1252 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1253 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1254 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1255 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1256 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1257 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1258 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1259 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1260 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1261 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1262 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1263 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1264 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1265 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1266 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1267 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1268 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1269 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1270 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1271 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1272 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1273 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1274 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1275 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1276 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1277 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1278 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1279 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1280 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1281 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1282 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1283 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1284 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1285 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1286 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1287 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1288 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1289 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1290 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1291 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1292 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1293 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1294 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1295 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1296 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1297 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1298 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1299 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1300 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1301 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1302 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1303 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1304 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1305 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1306 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1307 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1308 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1309 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1310 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1311 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1312 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1313 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1314 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1315 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1316 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1317 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1318 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1319 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1320 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1321 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1322 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1323 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1324 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1325 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1326 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1327 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1328 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1329 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1330 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1331 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1332 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1333 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1334 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1335 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1336 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1337 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1338 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1339 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1340 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1341 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1342 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1343 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1344 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1345 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1346 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1347 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1348 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1349 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1350 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1351 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1352 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1353 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1354 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1355 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1356 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1357 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1358 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1359 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1360 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1361 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1362 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1363 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1364 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1365 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1366 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1367 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1368 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1369 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1370 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1371 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1372 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1373 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1374 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1375 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1376 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1377 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1378 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1379 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1380 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1381 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1382 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1383 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1384 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1385 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1386 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1387 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1388 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1389 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1390 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1391 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1392 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1393 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1394 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1395 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1396 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1397 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1398 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1399 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1400 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1401 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1402 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1403 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1404 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1405 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1406 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1407 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1408 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1409 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1410 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1411 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1412 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1413 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1414 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1415 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1416 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1417 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1418 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1419 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1420 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1421 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1422 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1423 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1424 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1425 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1426 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1427 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1428 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1429 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1430 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1431 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1432 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1433 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1434 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1435 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1436 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1437 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1438 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1439 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1440 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1441 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1442 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1443 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1444 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1445 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1446 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1447 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1448 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1449 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1450 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1451 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1452 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1453 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1454 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1455 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1456 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1457 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1458 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1459 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1460 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1461 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1462 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1463 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1464 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1465 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1466 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1467 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1468 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1469 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1470 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1471 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1472 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1473 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1474 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1475 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1476 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1477 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1478 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1479 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1480 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1481 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1482 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1483 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1484 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1485 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1486 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1487 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1488 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1489 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1490 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1491 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1492 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1493 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1494 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1495 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1496 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1497 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1498 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1499 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1500 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1501 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1502 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1503 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1504 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1505 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1506 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1507 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1508 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1509 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1510 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1511 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1512 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1513 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1514 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1515 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1516 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1517 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1518 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1519 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1520 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1521 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1522 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1523 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1524 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1525 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1526 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1527 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1528 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1529 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1530 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1531 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1532 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1533 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1534 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1535 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1536 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1537 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1538 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1539 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1540 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1541 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1542 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1543 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1544 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1545 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1546 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1547 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1548 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1549 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1550 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1551 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1552 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1553 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1554 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1555 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1556 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1557 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1558 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1559 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1560 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1561 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1562 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1563 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1564 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1565 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1566 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1567 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1568 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1569 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1570 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1571 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1572 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1573 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1574 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1575 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1576 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1577 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1578 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1579 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1580 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1581 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1582 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1583 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1584 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1585 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1586 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1587 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1588 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1589 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1590 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1591 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1592 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1593 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1594 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1595 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1596 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1597 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1598 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1599 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1600 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1601 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1602 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1603 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1604 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1605 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1606 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1607 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1608 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1609 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1610 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1611 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1612 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1613 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1614 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1615 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1616 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1617 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1618 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1619 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1620 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1621 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1622 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1623 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1624 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1625 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1626 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1627 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1628 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1629 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1630 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1631 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1632 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1633 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1634 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1635 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1636 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1637 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1638 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1639 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1640 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1641 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1642 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1643 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1644 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1645 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1646 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1647 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1648 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1649 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1650 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1651 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1652 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1653 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1654 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1655 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1656 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1657 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1658 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1659 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1660 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1661 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1662 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1663 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1664 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1665 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1666 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1667 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1668 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1669 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1670 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1671 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1672 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1673 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1674 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1675 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1676 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1677 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1678 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1679 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1680 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1681 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1682 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1683 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1684 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1685 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1686 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1687 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1688 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1689 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1690 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1691 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1692 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1693 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1694 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1695 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1696 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1697 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1698 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1699 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1700 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1701 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1702 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1703 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1704 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1705 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1706 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1707 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1708 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1709 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1710 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1711 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1712 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1713 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1714 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1715 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1716 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1717 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1718 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1719 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1720 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1721 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1722 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1723 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1724 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1725 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1726 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1727 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1728 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1729 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1730 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1731 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1732 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1733 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1734 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1735 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1736 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1737 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1738 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1739 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1740 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1741 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1742 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1743 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1744 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1745 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1746 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1747 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1748 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1749 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1750 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1751 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1752 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1753 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1754 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1755 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1756 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1757 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1758 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1759 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1760 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1761 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1762 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1763 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1764 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1765 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1766 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1767 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1768 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1769 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1770 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1771 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1772 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1773 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1774 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1775 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1776 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1777 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1778 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1779 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1780 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1781 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1782 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1783 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1784 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1785 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1786 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1787 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1788 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1789 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1790 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1791 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1792 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1793 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1794 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1795 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1796 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1797 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1798 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1799 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1800 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1801 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1802 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1803 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1804 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1805 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1806 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1807 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1808 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1809 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1810 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1811 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1812 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1813 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1814 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1815 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1816 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1817 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1818 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1819 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1820 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1821 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1822 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1823 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1824 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1825 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1826 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1827 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1828 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1829 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1830 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1831 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1832 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1833 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1834 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1835 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1836 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1837 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1838 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1839 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1840 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1841 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1842 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1843 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1844 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1845 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1846 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1847 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1848 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1849 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1850 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1851 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1852 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1853 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1854 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1855 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1856 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1857 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1858 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1859 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1860 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1861 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1862 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1863 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1864 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1865 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1866 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1867 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1868 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1869 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1870 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1871 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1872 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1873 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1874 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1875 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1876 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1877 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1878 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1879 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1880 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1881 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1882 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1883 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1884 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1885 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1886 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1887 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1888 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1889 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1890 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1891 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1892 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1893 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1894 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1895 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1896 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1897 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1898 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1899 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1900 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1901 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1902 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1903 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1904 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1905 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1906 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1907 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1908 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1909 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1910 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1911 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1912 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1913 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1914 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1915 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1916 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1917 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1918 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1919 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1920 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1921 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1922 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1923 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1924 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1925 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1926 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1927 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1928 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1929 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1930 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1931 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1932 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1933 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1934 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1935 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1936 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1937 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1938 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1939 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1940 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1941 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1942 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1943 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1944 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1945 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1946 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1947 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1948 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1949 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1950 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1951 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1952 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1953 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1954 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1955 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1956 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1957 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1958 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1959 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1960 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1961 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1962 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1963 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1964 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1965 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1966 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1967 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1968 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1969 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1970 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1971 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1972 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1973 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1974 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1975 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1976 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1977 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1978 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1979 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1980 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1981 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1982 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1983 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1984 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1985 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1986 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1987 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1988 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1989 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1990 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1991 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1992 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1993 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1994 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1995 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1996 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1997 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1998 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1999 { + @State message: string = "hello world" + + build() { + Column() { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile1.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile1.ets new file mode 100644 index 0000000000000000000000000000000000000000..d6fd7dde09b847b021cd2140e75ad1b557d5d5cd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile1.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent2 } from "./manyImportFile2" +import { ManyImportComponent3 } from "./manyImportFile3" + + +@Component +export struct ManyImportComponent1 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent2() + ManyImportComponent3() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile10.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile10.ets new file mode 100644 index 0000000000000000000000000000000000000000..92dbe9aa1138a6c8ec841da73388ea2fcc324b17 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile10.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent20 } from "./manyImportFile20" +import { ManyImportComponent21 } from "./manyImportFile21" + + +@Component +export struct ManyImportComponent10 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent20() + ManyImportComponent21() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile100.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile100.ets new file mode 100644 index 0000000000000000000000000000000000000000..8bb9fccd0b43598bad962190d75850e882572450 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile100.ets @@ -0,0 +1,16 @@ + +import { ManyImportComponent200 } from "./manyImportFile200" + + +@Component +export struct ManyImportComponent100 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent200() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile101.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile101.ets new file mode 100644 index 0000000000000000000000000000000000000000..de18ab67ae28ffc9bb39f1b58523b5ac75d15211 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile101.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent101 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile102.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile102.ets new file mode 100644 index 0000000000000000000000000000000000000000..2e24c9b0173129a95c94b297dec4cd12bfc3a32c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile102.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent102 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile103.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile103.ets new file mode 100644 index 0000000000000000000000000000000000000000..cc4215dc50b5b83908b73c5095100fcaae4505f4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile103.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent103 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile104.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile104.ets new file mode 100644 index 0000000000000000000000000000000000000000..2f009d1566fbb6cfe7f6c44380cc4f7f072767e1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile104.ets @@ -0,0 +1,11 @@ +@Component +export struct ManyImportComponent104 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile105.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile105.ets new file mode 100644 index 0000000000000000000000000000000000000000..4dc0083241361df50f99c1a614a9865cc7a4c5cf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile105.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent105 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile106.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile106.ets new file mode 100644 index 0000000000000000000000000000000000000000..087fa980c93cc6d53b45e3402bd4d55eeecf2a33 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile106.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent106 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile107.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile107.ets new file mode 100644 index 0000000000000000000000000000000000000000..2e1f63c0108fb60d56a4b404fb7933e4dccc0400 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile107.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent107 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile108.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile108.ets new file mode 100644 index 0000000000000000000000000000000000000000..876d4f42ca3f292fff97054caa1ec0084086adc4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile108.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent108 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile109.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile109.ets new file mode 100644 index 0000000000000000000000000000000000000000..355c9e088298d6b5b8e4a4f0d91ca9c7cfa540b4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile109.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent109 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile11.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile11.ets new file mode 100644 index 0000000000000000000000000000000000000000..3bc310e1ee90fe239b5a4fac6f5c2ff3e259c6bb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile11.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent22 } from "./manyImportFile22" +import { ManyImportComponent23 } from "./manyImportFile23" + + +@Component +export struct ManyImportComponent11 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent22() + ManyImportComponent23() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile110.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile110.ets new file mode 100644 index 0000000000000000000000000000000000000000..9257311d7a053861d746b18ddc25c6bc4a43554a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile110.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent110 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile111.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile111.ets new file mode 100644 index 0000000000000000000000000000000000000000..f93b765cd2a2e0eda7c601a596d8745f542104d8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile111.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent111 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile112.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile112.ets new file mode 100644 index 0000000000000000000000000000000000000000..b0a0f79a15630646d68fab14e2c774c99de08d61 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile112.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent112 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile113.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile113.ets new file mode 100644 index 0000000000000000000000000000000000000000..3b87b736dbb6046b952ebed0391460de5d548067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile113.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent113 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile114.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile114.ets new file mode 100644 index 0000000000000000000000000000000000000000..94730b3c077c742feb1419c12d9f23fea64263c4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile114.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent114 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile115.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile115.ets new file mode 100644 index 0000000000000000000000000000000000000000..b550a8df8fe06aa7bbc2cdae9b2672000371f1d1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile115.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent115 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile116.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile116.ets new file mode 100644 index 0000000000000000000000000000000000000000..1458a54b9d50b07256c48cefdf5d72d6842a0d55 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile116.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent116 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile117.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile117.ets new file mode 100644 index 0000000000000000000000000000000000000000..f20b90d3514909bfec3129dad762ad97fe308d4f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile117.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent117 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile118.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile118.ets new file mode 100644 index 0000000000000000000000000000000000000000..c31f9fab181921fe582f87c7a86ae8b2cff3874f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile118.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent118 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile119.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile119.ets new file mode 100644 index 0000000000000000000000000000000000000000..e9e1cbacef32204e5ff25509e215e4e0a01b88e5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile119.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent119 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile12.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile12.ets new file mode 100644 index 0000000000000000000000000000000000000000..0e7563bd431d157e88f9c1e64985c199e5287dbe --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile12.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent24 } from "./manyImportFile24" +import { ManyImportComponent25 } from "./manyImportFile25" + + +@Component +export struct ManyImportComponent12 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent24() + ManyImportComponent25() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile120.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile120.ets new file mode 100644 index 0000000000000000000000000000000000000000..9e17af5bbb9b7d736a05cefdea0463f3fe2848a6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile120.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent120 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile121.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile121.ets new file mode 100644 index 0000000000000000000000000000000000000000..43c5234f2fd29fe498907cf7b84f1905cca2338d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile121.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent121 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile122.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile122.ets new file mode 100644 index 0000000000000000000000000000000000000000..3fb7895355d007ea364c1cd5d05d90a9734b3956 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile122.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent122 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile123.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile123.ets new file mode 100644 index 0000000000000000000000000000000000000000..4a8f00c809a11769948ea28b0b6ee5afcccbf6c6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile123.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent123 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile124.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile124.ets new file mode 100644 index 0000000000000000000000000000000000000000..b4dfa5eba4a5ff4ce5ae7a2158f42fd5ecc28f01 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile124.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent124 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile125.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile125.ets new file mode 100644 index 0000000000000000000000000000000000000000..97c77600912ceee44b424be2d8fd3ec3a6f95317 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile125.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent125 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile126.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile126.ets new file mode 100644 index 0000000000000000000000000000000000000000..ab77b899d971002cbcbb6a4d876a119cd10b6af0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile126.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent126 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile127.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile127.ets new file mode 100644 index 0000000000000000000000000000000000000000..23b816b63eeca298d7b3b66c9c75d2a114641e56 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile127.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent127 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile128.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile128.ets new file mode 100644 index 0000000000000000000000000000000000000000..ba89fe08d95b965697289e119224388623188e5d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile128.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent128 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile129.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile129.ets new file mode 100644 index 0000000000000000000000000000000000000000..96ed3cfd8918b2b9f348ee4b60aec0c7cecf6c5a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile129.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent129 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile13.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile13.ets new file mode 100644 index 0000000000000000000000000000000000000000..ece41a91ed00aa3e21cebf21b9080d00999586a8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile13.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent26 } from "./manyImportFile26" +import { ManyImportComponent27 } from "./manyImportFile27" + + +@Component +export struct ManyImportComponent13 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent26() + ManyImportComponent27() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile130.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile130.ets new file mode 100644 index 0000000000000000000000000000000000000000..edb8bf3b737d57d56a9a9b1d3839e07cb9c78775 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile130.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent130 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile131.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile131.ets new file mode 100644 index 0000000000000000000000000000000000000000..f8826d67771383e30fd4bf72e7d3b7215c0e0c06 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile131.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent131 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile132.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile132.ets new file mode 100644 index 0000000000000000000000000000000000000000..dcc727af61a1fe8f2ce4686625e9d4acf616be36 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile132.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent132 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile133.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile133.ets new file mode 100644 index 0000000000000000000000000000000000000000..bed4122da6cf36ec47f89fc3ea42bd7887f8d7c7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile133.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent133 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile134.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile134.ets new file mode 100644 index 0000000000000000000000000000000000000000..4e49e63246fed396f25ba827376421d7c13d515d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile134.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent134 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile135.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile135.ets new file mode 100644 index 0000000000000000000000000000000000000000..d31c52af123a3c3b2e6a65daab873f7f0b204b13 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile135.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent135 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile136.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile136.ets new file mode 100644 index 0000000000000000000000000000000000000000..f35868d67eb6c23293f500f461bf4f37a46b3ca9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile136.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent136 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile137.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile137.ets new file mode 100644 index 0000000000000000000000000000000000000000..ace336a2b5a0dc18b578d89428bfaef83dec4be7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile137.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent137 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile138.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile138.ets new file mode 100644 index 0000000000000000000000000000000000000000..7b1217e5095cd33d75a940cfcfe4e535c3e8c718 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile138.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent138 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile139.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile139.ets new file mode 100644 index 0000000000000000000000000000000000000000..6d9f3e7125c5b11c86d220c203de4dc2a8e31107 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile139.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent139 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile14.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile14.ets new file mode 100644 index 0000000000000000000000000000000000000000..e24bd163a97a1ed4664167244cddaf2d779eeee0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile14.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent28 } from "./manyImportFile28" +import { ManyImportComponent29 } from "./manyImportFile29" + + +@Component +export struct ManyImportComponent14 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent28() + ManyImportComponent29() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile140.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile140.ets new file mode 100644 index 0000000000000000000000000000000000000000..13f93329f767e1f54bba62fd732d87b813af9539 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile140.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent140 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile141.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile141.ets new file mode 100644 index 0000000000000000000000000000000000000000..feb98020eb7a54e84f57903f045fcebe42edf067 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile141.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent141 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile142.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile142.ets new file mode 100644 index 0000000000000000000000000000000000000000..ce7fab8c3b44e80c71d735deae09bfb85345d58a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile142.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent142 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile143.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile143.ets new file mode 100644 index 0000000000000000000000000000000000000000..557aa5110dad0a6d0e48b9762a3be5e74add80aa --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile143.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent143 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile144.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile144.ets new file mode 100644 index 0000000000000000000000000000000000000000..ec19b264dfd72e31c66ab0c2ec4b52fcbb57b698 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile144.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent144 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile145.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile145.ets new file mode 100644 index 0000000000000000000000000000000000000000..f885321142b89f9942e4a3b5ca96ba61c2c5484f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile145.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent145 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile146.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile146.ets new file mode 100644 index 0000000000000000000000000000000000000000..5e6e537178183612eee6bfdce5da84544dcffbbf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile146.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent146 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile147.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile147.ets new file mode 100644 index 0000000000000000000000000000000000000000..a952da05ce0d37befb2cf65417ab747cdd1214ec --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile147.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent147 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile148.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile148.ets new file mode 100644 index 0000000000000000000000000000000000000000..fbcc2e84e816699972c79b45a30ddeb04063d568 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile148.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent148 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile149.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile149.ets new file mode 100644 index 0000000000000000000000000000000000000000..a49f82c69667deb84bf1c2019a1ae021d75c6cb1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile149.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent149 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile15.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile15.ets new file mode 100644 index 0000000000000000000000000000000000000000..8ef8629fa8096752a64dfc3d7742ee083768dbde --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile15.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent30 } from "./manyImportFile30" +import { ManyImportComponent31 } from "./manyImportFile31" + + +@Component +export struct ManyImportComponent15 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent30() + ManyImportComponent31() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile150.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile150.ets new file mode 100644 index 0000000000000000000000000000000000000000..99c25dd1ce995f5c9a3f66e78eaf49a5818a78b9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile150.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent150 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile151.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile151.ets new file mode 100644 index 0000000000000000000000000000000000000000..90455dedda329055ce93894e9a287c3c3ef078ef --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile151.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent151 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile152.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile152.ets new file mode 100644 index 0000000000000000000000000000000000000000..465cb60302928cc8bbd0e29a789b57e586a2661a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile152.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent152 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile153.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile153.ets new file mode 100644 index 0000000000000000000000000000000000000000..2466f1a675e514e29ce84b7dc0427f2f9fc822cc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile153.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent153 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile154.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile154.ets new file mode 100644 index 0000000000000000000000000000000000000000..23c3a9caba8aeab4f8d94cde0ed6a5f0435bfd51 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile154.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent154 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile155.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile155.ets new file mode 100644 index 0000000000000000000000000000000000000000..3bdb289448a5e4f36f18f67715038cb7dd727608 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile155.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent155 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile156.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile156.ets new file mode 100644 index 0000000000000000000000000000000000000000..aff1aa35d5c090a5adb2b47460282057332922c0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile156.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent156 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile157.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile157.ets new file mode 100644 index 0000000000000000000000000000000000000000..1b8766792266241080009fd1709d159576e95c6a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile157.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent157 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile158.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile158.ets new file mode 100644 index 0000000000000000000000000000000000000000..53f67c550d4cb08bc16b68ad438783102705c282 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile158.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent158 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile159.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile159.ets new file mode 100644 index 0000000000000000000000000000000000000000..f863f12e3baeceb4824661df3864c3740bbd4d9f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile159.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent159 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile16.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile16.ets new file mode 100644 index 0000000000000000000000000000000000000000..a61647ab720c7ead7f1e3851c218865af18575c6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile16.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent32 } from "./manyImportFile32" +import { ManyImportComponent33 } from "./manyImportFile33" + + +@Component +export struct ManyImportComponent16 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent32() + ManyImportComponent33() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile160.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile160.ets new file mode 100644 index 0000000000000000000000000000000000000000..5a8146baf5b246e2a4c8b0a65853cc84fb7c64e3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile160.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent160 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile161.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile161.ets new file mode 100644 index 0000000000000000000000000000000000000000..af565397d3ac573221e0d4c537cd9727a48d60cc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile161.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent161 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile162.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile162.ets new file mode 100644 index 0000000000000000000000000000000000000000..a19b69003f4dd074edff78c51ba30e54560daf54 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile162.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent162 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile163.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile163.ets new file mode 100644 index 0000000000000000000000000000000000000000..d88f3711ba5bb038f9e4354e30475d5e3788309c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile163.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent163 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile164.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile164.ets new file mode 100644 index 0000000000000000000000000000000000000000..c2c8ef9ae75838f8381256e642d8c58900dac80b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile164.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent164 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile165.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile165.ets new file mode 100644 index 0000000000000000000000000000000000000000..9a93490b2cec7f53e8261ec4837675c7ef8837d8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile165.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent165 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile166.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile166.ets new file mode 100644 index 0000000000000000000000000000000000000000..64ffbe6b0c072406299034a52833aaa570764667 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile166.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent166 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile167.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile167.ets new file mode 100644 index 0000000000000000000000000000000000000000..a11448798371b2af701efc076e2379f2c7f73ec7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile167.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent167 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile168.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile168.ets new file mode 100644 index 0000000000000000000000000000000000000000..6bea62b5faa85cf1aa6555cf34fc99eae9256e0e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile168.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent168 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile169.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile169.ets new file mode 100644 index 0000000000000000000000000000000000000000..9d3b7a2f0354f3c8f2153796a98b971d156bd2b3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile169.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent169 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile17.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile17.ets new file mode 100644 index 0000000000000000000000000000000000000000..659cf1007827531af3c9d36a276ead1dd1e22c53 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile17.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent34 } from "./manyImportFile34" +import { ManyImportComponent35 } from "./manyImportFile35" + + +@Component +export struct ManyImportComponent17 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent34() + ManyImportComponent35() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile170.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile170.ets new file mode 100644 index 0000000000000000000000000000000000000000..5eb11f0c1196fd92945a0733ce0412f2af0da3dd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile170.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent170 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile171.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile171.ets new file mode 100644 index 0000000000000000000000000000000000000000..5513947c3b4dbe64917b35982c48a424f7819291 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile171.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent171 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile172.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile172.ets new file mode 100644 index 0000000000000000000000000000000000000000..a6aee59f42b5a4d30669106743510c5a1a437966 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile172.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent172 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile173.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile173.ets new file mode 100644 index 0000000000000000000000000000000000000000..cddf98415fbb52011ad65ee0b90ccb9d09a9fe5c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile173.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent173 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile174.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile174.ets new file mode 100644 index 0000000000000000000000000000000000000000..f7d8bbee452e47c78ecf829790fa6c13add7de1d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile174.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent174 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile175.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile175.ets new file mode 100644 index 0000000000000000000000000000000000000000..f004308a8523fd177b843b77dae96dea05668598 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile175.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent175 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile176.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile176.ets new file mode 100644 index 0000000000000000000000000000000000000000..874fcb77183d3f58cb0ed627948fa02d41b44755 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile176.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent176 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile177.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile177.ets new file mode 100644 index 0000000000000000000000000000000000000000..bfd79ccf9665d43d4d3c2e5b7fd7afaa1b9b634c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile177.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent177 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile178.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile178.ets new file mode 100644 index 0000000000000000000000000000000000000000..e5de54638a233c059d3595a8a793f4d837ba1970 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile178.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent178 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile179.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile179.ets new file mode 100644 index 0000000000000000000000000000000000000000..2b7b38aba68ba5a1c5cd9a91095a758685b7d68d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile179.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent179 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile18.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile18.ets new file mode 100644 index 0000000000000000000000000000000000000000..8bf28fa7a4ee64aaf5dc4e4a88142be40d66b2dd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile18.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent36 } from "./manyImportFile36" +import { ManyImportComponent37 } from "./manyImportFile37" + + +@Component +export struct ManyImportComponent18 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent36() + ManyImportComponent37() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile180.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile180.ets new file mode 100644 index 0000000000000000000000000000000000000000..fa918ad6f368621c69c79461284690fa363e5a3c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile180.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent180 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile181.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile181.ets new file mode 100644 index 0000000000000000000000000000000000000000..2ee73104cdbad1a01f29469ab702126134b6ef9d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile181.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent181 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile182.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile182.ets new file mode 100644 index 0000000000000000000000000000000000000000..6b8f1b00de409dabc4696728aacaef6e03e1b747 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile182.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent182 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile183.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile183.ets new file mode 100644 index 0000000000000000000000000000000000000000..5893b377134fe7d2aeff3f0b312701baecca3626 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile183.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent183 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile184.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile184.ets new file mode 100644 index 0000000000000000000000000000000000000000..19e1e4c51af34345df0a6ea03d0aafdf21fb1925 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile184.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent184 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile185.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile185.ets new file mode 100644 index 0000000000000000000000000000000000000000..11cceee04bd6e3c786ad3b93a7aa3fa031fbc5bd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile185.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent185 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile186.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile186.ets new file mode 100644 index 0000000000000000000000000000000000000000..c2d2dbb97c0d44f2bc6c74c9b167149b7c2319de --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile186.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent186 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile187.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile187.ets new file mode 100644 index 0000000000000000000000000000000000000000..41b1320decfd545563054a0773d420513987afd3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile187.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent187 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile188.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile188.ets new file mode 100644 index 0000000000000000000000000000000000000000..8505db61aae0787fbf5f79bdfcf0fbf18884ac70 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile188.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent188 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile189.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile189.ets new file mode 100644 index 0000000000000000000000000000000000000000..0aca9a32ad234e64b577e01c8e969b004084d079 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile189.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent189 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile19.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile19.ets new file mode 100644 index 0000000000000000000000000000000000000000..128644499bc4f152cd0673ddd8f57b99abf3d8d2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile19.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent38 } from "./manyImportFile38" +import { ManyImportComponent39 } from "./manyImportFile39" + + +@Component +export struct ManyImportComponent19 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent38() + ManyImportComponent39() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile190.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile190.ets new file mode 100644 index 0000000000000000000000000000000000000000..b5b9be0790bcc3461f2889b7e0f920f1dc258900 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile190.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent190 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile191.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile191.ets new file mode 100644 index 0000000000000000000000000000000000000000..998fcb3373ce21ad31b8937ce1168634bf5ef6cc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile191.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent191 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile192.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile192.ets new file mode 100644 index 0000000000000000000000000000000000000000..92b8577950c82d6696cd5e1a9ab4619cd72114fb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile192.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent192 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile193.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile193.ets new file mode 100644 index 0000000000000000000000000000000000000000..29b3aa84030df62aa6260e03a821118aa455b88f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile193.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent193 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile194.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile194.ets new file mode 100644 index 0000000000000000000000000000000000000000..a2374a5d9872ca7131777f86bfac8b284eac5be9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile194.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent194 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile195.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile195.ets new file mode 100644 index 0000000000000000000000000000000000000000..ce7ac3103e87a4be9f50a86e6a1aff8412b9087c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile195.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent195 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile196.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile196.ets new file mode 100644 index 0000000000000000000000000000000000000000..a62de3c6cf5d73aac81b5a34630f07760e973814 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile196.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent196 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile197.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile197.ets new file mode 100644 index 0000000000000000000000000000000000000000..4fcc8df346111c37a0b1a1eefafec5a5e69cda26 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile197.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent197 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile198.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile198.ets new file mode 100644 index 0000000000000000000000000000000000000000..9b4c54b15ea864b343fcf8a17316d23499262de5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile198.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent198 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile199.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile199.ets new file mode 100644 index 0000000000000000000000000000000000000000..0835e2beed42a5f6954cb219ac4e19e3506eca64 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile199.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent199 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile2.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile2.ets new file mode 100644 index 0000000000000000000000000000000000000000..3317cd9d19521c044e772fb160f630329eb05ee9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile2.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent4 } from "./manyImportFile4" +import { ManyImportComponent5 } from "./manyImportFile5" + + +@Component +export struct ManyImportComponent2 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent4() + ManyImportComponent5() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile20.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile20.ets new file mode 100644 index 0000000000000000000000000000000000000000..3e03c1fd59c3586a9106a3ec0c731fdb550aa90d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile20.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent40 } from "./manyImportFile40" +import { ManyImportComponent41 } from "./manyImportFile41" + + +@Component +export struct ManyImportComponent20 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent40() + ManyImportComponent41() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile200.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile200.ets new file mode 100644 index 0000000000000000000000000000000000000000..2ada6f1d613a20a6d3422160d3d2e7c1588782c3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile200.ets @@ -0,0 +1,14 @@ + + + +@Component +export struct ManyImportComponent200 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile21.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile21.ets new file mode 100644 index 0000000000000000000000000000000000000000..12c7b4329a41406f1f61b9f8d9b6f0be90ca3eb4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile21.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent42 } from "./manyImportFile42" +import { ManyImportComponent43 } from "./manyImportFile43" + + +@Component +export struct ManyImportComponent21 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent42() + ManyImportComponent43() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile22.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile22.ets new file mode 100644 index 0000000000000000000000000000000000000000..12a06d87b65e5e40586a87018e390e946c1b9ac0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile22.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent44 } from "./manyImportFile44" +import { ManyImportComponent45 } from "./manyImportFile45" + + +@Component +export struct ManyImportComponent22 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent44() + ManyImportComponent45() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile23.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile23.ets new file mode 100644 index 0000000000000000000000000000000000000000..7ddc2ce70671868cc76ef3452a67c4efbec67ca7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile23.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent46 } from "./manyImportFile46" +import { ManyImportComponent47 } from "./manyImportFile47" + + +@Component +export struct ManyImportComponent23 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent46() + ManyImportComponent47() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile24.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile24.ets new file mode 100644 index 0000000000000000000000000000000000000000..bf04efbdca52e626a713d5faff4c048a2a23b8a1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile24.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent48 } from "./manyImportFile48" +import { ManyImportComponent49 } from "./manyImportFile49" + + +@Component +export struct ManyImportComponent24 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent48() + ManyImportComponent49() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile25.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile25.ets new file mode 100644 index 0000000000000000000000000000000000000000..6fae7d53d6f6a3b5430c5b61973d48b8a8f3a239 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile25.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent50 } from "./manyImportFile50" +import { ManyImportComponent51 } from "./manyImportFile51" + + +@Component +export struct ManyImportComponent25 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent50() + ManyImportComponent51() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile26.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile26.ets new file mode 100644 index 0000000000000000000000000000000000000000..9287a4e10551f3213d64b7e57e8225c3d81d2a04 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile26.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent52 } from "./manyImportFile52" +import { ManyImportComponent53 } from "./manyImportFile53" + + +@Component +export struct ManyImportComponent26 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent52() + ManyImportComponent53() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile27.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile27.ets new file mode 100644 index 0000000000000000000000000000000000000000..b6a21c7b8448698b3399535f448d03aa43881ef5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile27.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent54 } from "./manyImportFile54" +import { ManyImportComponent55 } from "./manyImportFile55" + + +@Component +export struct ManyImportComponent27 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent54() + ManyImportComponent55() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile28.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile28.ets new file mode 100644 index 0000000000000000000000000000000000000000..2e8627fb614592a28c5d671382595bd9e97a95ea --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile28.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent56 } from "./manyImportFile56" +import { ManyImportComponent57 } from "./manyImportFile57" + + +@Component +export struct ManyImportComponent28 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent56() + ManyImportComponent57() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile29.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile29.ets new file mode 100644 index 0000000000000000000000000000000000000000..551fdb30c05a48d412515beded16c3cb72e54f06 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile29.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent58 } from "./manyImportFile58" +import { ManyImportComponent59 } from "./manyImportFile59" + + +@Component +export struct ManyImportComponent29 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent58() + ManyImportComponent59() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile3.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile3.ets new file mode 100644 index 0000000000000000000000000000000000000000..52d11541e3a2ecff747cfdfd54919d701b11f408 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile3.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent6 } from "./manyImportFile6" +import { ManyImportComponent7 } from "./manyImportFile7" + + +@Component +export struct ManyImportComponent3 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent6() + ManyImportComponent7() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile30.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile30.ets new file mode 100644 index 0000000000000000000000000000000000000000..c80a7dd3e6ded7efe4193f1054e695032a929c80 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile30.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent60 } from "./manyImportFile60" +import { ManyImportComponent61 } from "./manyImportFile61" + + +@Component +export struct ManyImportComponent30 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent60() + ManyImportComponent61() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile31.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile31.ets new file mode 100644 index 0000000000000000000000000000000000000000..e115c27a1f20fefb2b6282b3f71c0f57a679b691 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile31.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent62 } from "./manyImportFile62" +import { ManyImportComponent63 } from "./manyImportFile63" + + +@Component +export struct ManyImportComponent31 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent62() + ManyImportComponent63() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile32.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile32.ets new file mode 100644 index 0000000000000000000000000000000000000000..f54bd42778fbf0a519ccb150e2bfbcaa08cb9fed --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile32.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent64 } from "./manyImportFile64" +import { ManyImportComponent65 } from "./manyImportFile65" + + +@Component +export struct ManyImportComponent32 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent64() + ManyImportComponent65() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile33.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile33.ets new file mode 100644 index 0000000000000000000000000000000000000000..8ee164b4687d2cc01185f4cf1bb5d669bc30efb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile33.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent66 } from "./manyImportFile66" +import { ManyImportComponent67 } from "./manyImportFile67" + + +@Component +export struct ManyImportComponent33 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent66() + ManyImportComponent67() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile34.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile34.ets new file mode 100644 index 0000000000000000000000000000000000000000..49b14dc9d6b00961ba012b8eb6345eb74f8d710c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile34.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent68 } from "./manyImportFile68" +import { ManyImportComponent69 } from "./manyImportFile69" + + +@Component +export struct ManyImportComponent34 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent68() + ManyImportComponent69() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile35.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile35.ets new file mode 100644 index 0000000000000000000000000000000000000000..5b047350b4534040f3775becfb7bb8b8bb30c4f6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile35.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent70 } from "./manyImportFile70" +import { ManyImportComponent71 } from "./manyImportFile71" + + +@Component +export struct ManyImportComponent35 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent70() + ManyImportComponent71() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile36.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile36.ets new file mode 100644 index 0000000000000000000000000000000000000000..8c1afdd46c4c2323c583c2e0da92a8d21e4f3403 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile36.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent72 } from "./manyImportFile72" +import { ManyImportComponent73 } from "./manyImportFile73" + + +@Component +export struct ManyImportComponent36 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent72() + ManyImportComponent73() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile37.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile37.ets new file mode 100644 index 0000000000000000000000000000000000000000..63303acfdee8dda5556c62e4bdf8917f04af3d92 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile37.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent74 } from "./manyImportFile74" +import { ManyImportComponent75 } from "./manyImportFile75" + + +@Component +export struct ManyImportComponent37 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent74() + ManyImportComponent75() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile38.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile38.ets new file mode 100644 index 0000000000000000000000000000000000000000..4a6db3b8d978d826df046a8a17e39a2e3e54ca47 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile38.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent76 } from "./manyImportFile76" +import { ManyImportComponent77 } from "./manyImportFile77" + + +@Component +export struct ManyImportComponent38 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent76() + ManyImportComponent77() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile39.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile39.ets new file mode 100644 index 0000000000000000000000000000000000000000..d89fd9ef933751ff93d40d7e986ef407ce8b56e3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile39.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent78 } from "./manyImportFile78" +import { ManyImportComponent79 } from "./manyImportFile79" + + +@Component +export struct ManyImportComponent39 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent78() + ManyImportComponent79() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile4.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile4.ets new file mode 100644 index 0000000000000000000000000000000000000000..ee478f6874751a5823dbde800b1e5aa34cb871f5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile4.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent8 } from "./manyImportFile8" +import { ManyImportComponent9 } from "./manyImportFile9" + + +@Component +export struct ManyImportComponent4 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent8() + ManyImportComponent9() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile40.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile40.ets new file mode 100644 index 0000000000000000000000000000000000000000..47d4e716314507584b3f7f9ba6c2fc6d4679694d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile40.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent80 } from "./manyImportFile80" +import { ManyImportComponent81 } from "./manyImportFile81" + + +@Component +export struct ManyImportComponent40 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent80() + ManyImportComponent81() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile41.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile41.ets new file mode 100644 index 0000000000000000000000000000000000000000..e5d1ce6e749cda068360ab77e87bf42189fab9ff --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile41.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent82 } from "./manyImportFile82" +import { ManyImportComponent83 } from "./manyImportFile83" + + +@Component +export struct ManyImportComponent41 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent82() + ManyImportComponent83() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile42.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile42.ets new file mode 100644 index 0000000000000000000000000000000000000000..4e6a24432adb544744363a9b73f3989d9fedf392 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile42.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent84 } from "./manyImportFile84" +import { ManyImportComponent85 } from "./manyImportFile85" + + +@Component +export struct ManyImportComponent42 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent84() + ManyImportComponent85() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile43.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile43.ets new file mode 100644 index 0000000000000000000000000000000000000000..52afe1881ebb7059894957d1721b52f6faac4bd0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile43.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent86 } from "./manyImportFile86" +import { ManyImportComponent87 } from "./manyImportFile87" + + +@Component +export struct ManyImportComponent43 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent86() + ManyImportComponent87() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile44.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile44.ets new file mode 100644 index 0000000000000000000000000000000000000000..2aec45b73ddc2c5918f01ee746aa7e502c128a4b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile44.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent88 } from "./manyImportFile88" +import { ManyImportComponent89 } from "./manyImportFile89" + + +@Component +export struct ManyImportComponent44 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent88() + ManyImportComponent89() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile45.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile45.ets new file mode 100644 index 0000000000000000000000000000000000000000..cd2219c4e990a833348276ae96fb3617b859b285 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile45.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent90 } from "./manyImportFile90" +import { ManyImportComponent91 } from "./manyImportFile91" + + +@Component +export struct ManyImportComponent45 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent90() + ManyImportComponent91() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile46.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile46.ets new file mode 100644 index 0000000000000000000000000000000000000000..92cd16c7feb99cc04b5b02be7bf88ca1e44d6a23 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile46.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent92 } from "./manyImportFile92" +import { ManyImportComponent93 } from "./manyImportFile93" + + +@Component +export struct ManyImportComponent46 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent92() + ManyImportComponent93() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile47.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile47.ets new file mode 100644 index 0000000000000000000000000000000000000000..d9d7290c13efadc2527cdae30eb1dd157bfd62cb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile47.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent94 } from "./manyImportFile94" +import { ManyImportComponent95 } from "./manyImportFile95" + + +@Component +export struct ManyImportComponent47 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent94() + ManyImportComponent95() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile48.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile48.ets new file mode 100644 index 0000000000000000000000000000000000000000..59c2d56c83e4af8c21eead62e49bb1977ef44838 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile48.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent96 } from "./manyImportFile96" +import { ManyImportComponent97 } from "./manyImportFile97" + + +@Component +export struct ManyImportComponent48 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent96() + ManyImportComponent97() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile49.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile49.ets new file mode 100644 index 0000000000000000000000000000000000000000..60a67ec361b12f697df9c2019b8013d14da8dc67 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile49.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent98 } from "./manyImportFile98" +import { ManyImportComponent99 } from "./manyImportFile99" + + +@Component +export struct ManyImportComponent49 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent98() + ManyImportComponent99() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile5.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile5.ets new file mode 100644 index 0000000000000000000000000000000000000000..ef95a3e0aa120ebc41cbf4c9cb8fec67bc862c27 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile5.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent10 } from "./manyImportFile10" +import { ManyImportComponent11 } from "./manyImportFile11" + + +@Component +export struct ManyImportComponent5 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent10() + ManyImportComponent11() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile50.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile50.ets new file mode 100644 index 0000000000000000000000000000000000000000..dc74e1398208bc213bc0eb9feab0c5dee4161e38 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile50.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent100 } from "./manyImportFile100" +import { ManyImportComponent101 } from "./manyImportFile101" + + +@Component +export struct ManyImportComponent50 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent100() + ManyImportComponent101() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile51.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile51.ets new file mode 100644 index 0000000000000000000000000000000000000000..53c586db7850252adbf159d787ea33dd0aa7dea6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile51.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent102 } from "./manyImportFile102" +import { ManyImportComponent103 } from "./manyImportFile103" + + +@Component +export struct ManyImportComponent51 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent102() + ManyImportComponent103() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile52.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile52.ets new file mode 100644 index 0000000000000000000000000000000000000000..da820a8a404496389f16148c12d86ab28c338271 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile52.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent104 } from "./manyImportFile104" +import { ManyImportComponent105 } from "./manyImportFile105" + + +@Component +export struct ManyImportComponent52 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent104() + ManyImportComponent105() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile53.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile53.ets new file mode 100644 index 0000000000000000000000000000000000000000..d9b1ea943e110e5ca426f86ed440d94562a892d5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile53.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent106 } from "./manyImportFile106" +import { ManyImportComponent107 } from "./manyImportFile107" + + +@Component +export struct ManyImportComponent53 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent106() + ManyImportComponent107() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile54.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile54.ets new file mode 100644 index 0000000000000000000000000000000000000000..e79fcc03e9f36d5fb8f48acdfd2ffc51d3198210 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile54.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent108 } from "./manyImportFile108" +import { ManyImportComponent109 } from "./manyImportFile109" + + +@Component +export struct ManyImportComponent54 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent108() + ManyImportComponent109() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile55.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile55.ets new file mode 100644 index 0000000000000000000000000000000000000000..04b310697f28b05b9aeb98bb4d3dcd5e4c62cee1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile55.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent110 } from "./manyImportFile110" +import { ManyImportComponent111 } from "./manyImportFile111" + + +@Component +export struct ManyImportComponent55 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent110() + ManyImportComponent111() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile56.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile56.ets new file mode 100644 index 0000000000000000000000000000000000000000..d53d57d44cb771b32172a8bac849ab55b66501bc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile56.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent112 } from "./manyImportFile112" +import { ManyImportComponent113 } from "./manyImportFile113" + + +@Component +export struct ManyImportComponent56 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent112() + ManyImportComponent113() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile57.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile57.ets new file mode 100644 index 0000000000000000000000000000000000000000..d56d498d6ca5723965f28222a0a3fb548908de18 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile57.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent114 } from "./manyImportFile114" +import { ManyImportComponent115 } from "./manyImportFile115" + + +@Component +export struct ManyImportComponent57 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent114() + ManyImportComponent115() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile58.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile58.ets new file mode 100644 index 0000000000000000000000000000000000000000..46d8caefde651fe05171ec9225fcc9adc196ca46 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile58.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent116 } from "./manyImportFile116" +import { ManyImportComponent117 } from "./manyImportFile117" + + +@Component +export struct ManyImportComponent58 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent116() + ManyImportComponent117() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile59.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile59.ets new file mode 100644 index 0000000000000000000000000000000000000000..10bd0c29033b2f3d24dd766b61f3bdc131335726 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile59.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent118 } from "./manyImportFile118" +import { ManyImportComponent119 } from "./manyImportFile119" + + +@Component +export struct ManyImportComponent59 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent118() + ManyImportComponent119() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile6.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile6.ets new file mode 100644 index 0000000000000000000000000000000000000000..4eb6e065d01cd36bf92d2b426e1696784d516ce3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile6.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent12 } from "./manyImportFile12" +import { ManyImportComponent13 } from "./manyImportFile13" + + +@Component +export struct ManyImportComponent6 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent12() + ManyImportComponent13() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile60.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile60.ets new file mode 100644 index 0000000000000000000000000000000000000000..33723a237ce93bb0e30f3dc9dd82730d1a30c3b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile60.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent120 } from "./manyImportFile120" +import { ManyImportComponent121 } from "./manyImportFile121" + + +@Component +export struct ManyImportComponent60 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent120() + ManyImportComponent121() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile61.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile61.ets new file mode 100644 index 0000000000000000000000000000000000000000..d04efc15c0ba4970c2ee642f252e3ca39c37c9bd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile61.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent122 } from "./manyImportFile122" +import { ManyImportComponent123 } from "./manyImportFile123" + + +@Component +export struct ManyImportComponent61 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent122() + ManyImportComponent123() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile62.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile62.ets new file mode 100644 index 0000000000000000000000000000000000000000..86e414eb4eeae368fc4a7ad00b70f390f3c924a3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile62.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent124 } from "./manyImportFile124" +import { ManyImportComponent125 } from "./manyImportFile125" + + +@Component +export struct ManyImportComponent62 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent124() + ManyImportComponent125() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile63.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile63.ets new file mode 100644 index 0000000000000000000000000000000000000000..b24ea801a17b107c8fd1d0080bccdcaa1ce63980 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile63.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent126 } from "./manyImportFile126" +import { ManyImportComponent127 } from "./manyImportFile127" + + +@Component +export struct ManyImportComponent63 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent126() + ManyImportComponent127() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile64.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile64.ets new file mode 100644 index 0000000000000000000000000000000000000000..f90b8ca8b4f0e4ce70ce77592d0ca7d293065ada --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile64.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent128 } from "./manyImportFile128" +import { ManyImportComponent129 } from "./manyImportFile129" + + +@Component +export struct ManyImportComponent64 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent128() + ManyImportComponent129() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile65.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile65.ets new file mode 100644 index 0000000000000000000000000000000000000000..56e843cf7659c6aac2fc20c1fb9a5cf9d9d823d1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile65.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent130 } from "./manyImportFile130" +import { ManyImportComponent131 } from "./manyImportFile131" + + +@Component +export struct ManyImportComponent65 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent130() + ManyImportComponent131() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile66.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile66.ets new file mode 100644 index 0000000000000000000000000000000000000000..cb16f5756bf571231e0ad2290c97001867fc68d2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile66.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent132 } from "./manyImportFile132" +import { ManyImportComponent133 } from "./manyImportFile133" + + +@Component +export struct ManyImportComponent66 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent132() + ManyImportComponent133() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile67.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile67.ets new file mode 100644 index 0000000000000000000000000000000000000000..ebd669a91190fe8ce8314222c507b24846d97287 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile67.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent134 } from "./manyImportFile134" +import { ManyImportComponent135 } from "./manyImportFile135" + + +@Component +export struct ManyImportComponent67 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent134() + ManyImportComponent135() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile68.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile68.ets new file mode 100644 index 0000000000000000000000000000000000000000..e44d72f2140f22a5b2c264a7e594ef9ac6008236 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile68.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent136 } from "./manyImportFile136" +import { ManyImportComponent137 } from "./manyImportFile137" + + +@Component +export struct ManyImportComponent68 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent136() + ManyImportComponent137() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile69.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile69.ets new file mode 100644 index 0000000000000000000000000000000000000000..6d6af1a12ba977625d3c63d63a2d936ea94d1cc0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile69.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent138 } from "./manyImportFile138" +import { ManyImportComponent139 } from "./manyImportFile139" + + +@Component +export struct ManyImportComponent69 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent138() + ManyImportComponent139() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile7.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile7.ets new file mode 100644 index 0000000000000000000000000000000000000000..fd7ecf4ff646d4467d8cb7aac8c5183556ea29ef --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile7.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent14 } from "./manyImportFile14" +import { ManyImportComponent15 } from "./manyImportFile15" + + +@Component +export struct ManyImportComponent7 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent14() + ManyImportComponent15() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile70.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile70.ets new file mode 100644 index 0000000000000000000000000000000000000000..4c7ed165f7c36aa9cde22a9bc0c625171a6eb818 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile70.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent140 } from "./manyImportFile140" +import { ManyImportComponent141 } from "./manyImportFile141" + + +@Component +export struct ManyImportComponent70 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent140() + ManyImportComponent141() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile71.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile71.ets new file mode 100644 index 0000000000000000000000000000000000000000..8441b01a3323fef558240ca5bcaaf1b6f07e4d3e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile71.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent142 } from "./manyImportFile142" +import { ManyImportComponent143 } from "./manyImportFile143" + + +@Component +export struct ManyImportComponent71 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent142() + ManyImportComponent143() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile72.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile72.ets new file mode 100644 index 0000000000000000000000000000000000000000..9c53b2f7b46c41fabd9c7dd827457ea0ab30b1fc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile72.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent144 } from "./manyImportFile144" +import { ManyImportComponent145 } from "./manyImportFile145" + + +@Component +export struct ManyImportComponent72 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent144() + ManyImportComponent145() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile73.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile73.ets new file mode 100644 index 0000000000000000000000000000000000000000..5e577264d9515f60a4d57006cd2e9c2f3344948c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile73.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent146 } from "./manyImportFile146" +import { ManyImportComponent147 } from "./manyImportFile147" + + +@Component +export struct ManyImportComponent73 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent146() + ManyImportComponent147() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile74.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile74.ets new file mode 100644 index 0000000000000000000000000000000000000000..700c394cabba056960138688f0bf517731a366ff --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile74.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent148 } from "./manyImportFile148" +import { ManyImportComponent149 } from "./manyImportFile149" + + +@Component +export struct ManyImportComponent74 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent148() + ManyImportComponent149() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile75.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile75.ets new file mode 100644 index 0000000000000000000000000000000000000000..bd4c2f8dfd4f66b8400132901d9c282d9c56fb18 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile75.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent150 } from "./manyImportFile150" +import { ManyImportComponent151 } from "./manyImportFile151" + + +@Component +export struct ManyImportComponent75 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent150() + ManyImportComponent151() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile76.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile76.ets new file mode 100644 index 0000000000000000000000000000000000000000..1cf4d67ef277a8728f14f06b59b25a374258d90f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile76.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent152 } from "./manyImportFile152" +import { ManyImportComponent153 } from "./manyImportFile153" + + +@Component +export struct ManyImportComponent76 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent152() + ManyImportComponent153() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile77.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile77.ets new file mode 100644 index 0000000000000000000000000000000000000000..7141b4b93fc6da1947b8c52116ba94d63ac9db95 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile77.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent154 } from "./manyImportFile154" +import { ManyImportComponent155 } from "./manyImportFile155" + + +@Component +export struct ManyImportComponent77 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent154() + ManyImportComponent155() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile78.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile78.ets new file mode 100644 index 0000000000000000000000000000000000000000..e921d29b56fb5e068ab00f5ee2c8b920b73b253d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile78.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent156 } from "./manyImportFile156" +import { ManyImportComponent157 } from "./manyImportFile157" + + +@Component +export struct ManyImportComponent78 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent156() + ManyImportComponent157() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile79.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile79.ets new file mode 100644 index 0000000000000000000000000000000000000000..9082b42f96de1e236edb90918656bff6afbd0c9a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile79.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent158 } from "./manyImportFile158" +import { ManyImportComponent159 } from "./manyImportFile159" + + +@Component +export struct ManyImportComponent79 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent158() + ManyImportComponent159() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile8.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile8.ets new file mode 100644 index 0000000000000000000000000000000000000000..cab88fe9b33a1b5adac60606236e7d93bfb91b97 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile8.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent16 } from "./manyImportFile16" +import { ManyImportComponent17 } from "./manyImportFile17" + + +@Component +export struct ManyImportComponent8 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent16() + ManyImportComponent17() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile80.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile80.ets new file mode 100644 index 0000000000000000000000000000000000000000..0c0df4d2666aeb1f6aea0a54526a61c59ff4a840 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile80.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent160 } from "./manyImportFile160" +import { ManyImportComponent161 } from "./manyImportFile161" + + +@Component +export struct ManyImportComponent80 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent160() + ManyImportComponent161() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile81.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile81.ets new file mode 100644 index 0000000000000000000000000000000000000000..9692e7178c4f30d188924b8d8cf436ea44456b53 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile81.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent162 } from "./manyImportFile162" +import { ManyImportComponent163 } from "./manyImportFile163" + + +@Component +export struct ManyImportComponent81 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent162() + ManyImportComponent163() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile82.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile82.ets new file mode 100644 index 0000000000000000000000000000000000000000..db2359828217747c60ece0fd5e7623fc6dfe7c14 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile82.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent164 } from "./manyImportFile164" +import { ManyImportComponent165 } from "./manyImportFile165" + + +@Component +export struct ManyImportComponent82 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent164() + ManyImportComponent165() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile83.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile83.ets new file mode 100644 index 0000000000000000000000000000000000000000..cc9289c38c38f011ebe2088e928127e6b7427e72 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile83.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent166 } from "./manyImportFile166" +import { ManyImportComponent167 } from "./manyImportFile167" + + +@Component +export struct ManyImportComponent83 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent166() + ManyImportComponent167() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile84.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile84.ets new file mode 100644 index 0000000000000000000000000000000000000000..ed10dfae216a83ea2ffcf8ddd46309f36584c668 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile84.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent168 } from "./manyImportFile168" +import { ManyImportComponent169 } from "./manyImportFile169" + + +@Component +export struct ManyImportComponent84 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent168() + ManyImportComponent169() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile85.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile85.ets new file mode 100644 index 0000000000000000000000000000000000000000..df620c24980c6808e82c315a701c3ddec0ad6e74 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile85.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent170 } from "./manyImportFile170" +import { ManyImportComponent171 } from "./manyImportFile171" + + +@Component +export struct ManyImportComponent85 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent170() + ManyImportComponent171() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile86.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile86.ets new file mode 100644 index 0000000000000000000000000000000000000000..9cdb9ef0f8665ab27d91b84f9f9f7cf463698359 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile86.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent172 } from "./manyImportFile172" +import { ManyImportComponent173 } from "./manyImportFile173" + + +@Component +export struct ManyImportComponent86 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent172() + ManyImportComponent173() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile87.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile87.ets new file mode 100644 index 0000000000000000000000000000000000000000..3944b524bc8c2b572435da5981711eba3d11aff7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile87.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent174 } from "./manyImportFile174" +import { ManyImportComponent175 } from "./manyImportFile175" + + +@Component +export struct ManyImportComponent87 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent174() + ManyImportComponent175() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile88.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile88.ets new file mode 100644 index 0000000000000000000000000000000000000000..d353a0da2addcc6e66b2e7b2f956f98868384297 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile88.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent176 } from "./manyImportFile176" +import { ManyImportComponent177 } from "./manyImportFile177" + + +@Component +export struct ManyImportComponent88 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent176() + ManyImportComponent177() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile89.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile89.ets new file mode 100644 index 0000000000000000000000000000000000000000..73a2dc1393cac2a8a8a7995e65723c0dd1881519 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile89.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent178 } from "./manyImportFile178" +import { ManyImportComponent179 } from "./manyImportFile179" + + +@Component +export struct ManyImportComponent89 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent178() + ManyImportComponent179() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile9.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile9.ets new file mode 100644 index 0000000000000000000000000000000000000000..24cc9f7ccb801f851a476e0fee5908382de7f8e6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile9.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent18 } from "./manyImportFile18" +import { ManyImportComponent19 } from "./manyImportFile19" + + +@Component +export struct ManyImportComponent9 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent18() + ManyImportComponent19() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile90.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile90.ets new file mode 100644 index 0000000000000000000000000000000000000000..c5b0533ffa206dfe7c90a418ada9bdef3de4265f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile90.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent180 } from "./manyImportFile180" +import { ManyImportComponent181 } from "./manyImportFile181" + + +@Component +export struct ManyImportComponent90 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent180() + ManyImportComponent181() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile91.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile91.ets new file mode 100644 index 0000000000000000000000000000000000000000..4691bb188c8ce6e52450acc13f4ec00cb7e73c58 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile91.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent182 } from "./manyImportFile182" +import { ManyImportComponent183 } from "./manyImportFile183" + + +@Component +export struct ManyImportComponent91 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent182() + ManyImportComponent183() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile92.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile92.ets new file mode 100644 index 0000000000000000000000000000000000000000..de85365f71e1c8561bd880a59aa0167492f04aca --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile92.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent184 } from "./manyImportFile184" +import { ManyImportComponent185 } from "./manyImportFile185" + + +@Component +export struct ManyImportComponent92 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent184() + ManyImportComponent185() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile93.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile93.ets new file mode 100644 index 0000000000000000000000000000000000000000..03d00170def455869cde953acff39d0fc3b8d1e1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile93.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent186 } from "./manyImportFile186" +import { ManyImportComponent187 } from "./manyImportFile187" + + +@Component +export struct ManyImportComponent93 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent186() + ManyImportComponent187() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile94.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile94.ets new file mode 100644 index 0000000000000000000000000000000000000000..e01974aa86d6fdd273966d21adbf954d2a41d7df --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile94.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent188 } from "./manyImportFile188" +import { ManyImportComponent189 } from "./manyImportFile189" + + +@Component +export struct ManyImportComponent94 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent188() + ManyImportComponent189() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile95.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile95.ets new file mode 100644 index 0000000000000000000000000000000000000000..23b3565b2a87abba4b19510aaf5db11239b62153 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile95.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent190 } from "./manyImportFile190" +import { ManyImportComponent191 } from "./manyImportFile191" + + +@Component +export struct ManyImportComponent95 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent190() + ManyImportComponent191() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile96.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile96.ets new file mode 100644 index 0000000000000000000000000000000000000000..fe95aa5c97e9eb5c40318cc1a002f7439eea9ccb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile96.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent192 } from "./manyImportFile192" +import { ManyImportComponent193 } from "./manyImportFile193" + + +@Component +export struct ManyImportComponent96 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent192() + ManyImportComponent193() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile97.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile97.ets new file mode 100644 index 0000000000000000000000000000000000000000..8575a5a0e07b957a6082c304b1a2e4e35ccd3aae --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile97.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent194 } from "./manyImportFile194" +import { ManyImportComponent195 } from "./manyImportFile195" + + +@Component +export struct ManyImportComponent97 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent194() + ManyImportComponent195() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile98.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile98.ets new file mode 100644 index 0000000000000000000000000000000000000000..00322c08966045832592f5515b2f1afd54cd4d76 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile98.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent196 } from "./manyImportFile196" +import { ManyImportComponent197 } from "./manyImportFile197" + + +@Component +export struct ManyImportComponent98 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent196() + ManyImportComponent197() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile99.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile99.ets new file mode 100644 index 0000000000000000000000000000000000000000..1aa85be2c93b5bba1f353829d4032742f89e7b0b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportFiles/manyImportFile99.ets @@ -0,0 +1,18 @@ + +import { ManyImportComponent198 } from "./manyImportFile198" +import { ManyImportComponent199 } from "./manyImportFile199" + + +@Component +export struct ManyImportComponent99 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent198() + ManyImportComponent199() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportMain.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportMain.ets new file mode 100644 index 0000000000000000000000000000000000000000..598b381e1f0e06f2f6cfa6347c424d864ccf1e2d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/manyImportMain.ets @@ -0,0 +1,14 @@ + +/** + * 多级import manyImportMain.ets + */ + +@Entry +@Component +struct ManyImportMain { + build() { + Column() { + ManyImportComponent1() + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/resourceReference.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/resourceReference.ets new file mode 100644 index 0000000000000000000000000000000000000000..6878c52797aec5fb8ec345a7c1c347e146dcd628 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/resourceReference.ets @@ -0,0 +1,16014 @@ + +/** + * $r resourceReference.ets + */ + +@Entry +@Component +struct ResourceReferenceMain { + build() { + Column() { + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/stateVariables.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/stateVariables.ets new file mode 100644 index 0000000000000000000000000000000000000000..228d8ab30835713802f0ee56ee9c3e28dff60478 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/1.1/stateVariables.ets @@ -0,0 +1,3748 @@ + +/** + * 状态变量 stateVariables1_1.ets + */ + +@Entry +@Component +struct StateVariablesMain { + //============================================================================= + @State prop_num0: number = 0; + @State prop_num1: number = 0; + @State prop_num2: number = 0; + @State prop_num3: number = 0; + @State prop_num4: number = 0; + @State prop_num5: number = 0; + @State prop_num6: number = 0; + @State prop_num7: number = 0; + @State prop_num8: number = 0; + @State prop_num9: number = 0; + @State prop_num10: number = 0; + @State prop_num11: number = 0; + @State prop_num12: number = 0; + @State prop_num13: number = 0; + @State prop_num14: number = 0; + @State prop_num15: number = 0; + @State prop_num16: number = 0; + @State prop_num17: number = 0; + @State prop_num18: number = 0; + @State prop_num19: number = 0; + @State prop_num20: number = 0; + @State prop_num21: number = 0; + @State prop_num22: number = 0; + @State prop_num23: number = 0; + @State prop_num24: number = 0; + @State prop_num25: number = 0; + @State prop_num26: number = 0; + @State prop_num27: number = 0; + @State prop_num28: number = 0; + @State prop_num29: number = 0; + @State prop_num30: number = 0; + @State prop_num31: number = 0; + @State prop_num32: number = 0; + @State prop_num33: number = 0; + @State prop_num34: number = 0; + @State prop_num35: number = 0; + @State prop_num36: number = 0; + @State prop_num37: number = 0; + @State prop_num38: number = 0; + @State prop_num39: number = 0; + @State prop_num40: number = 0; + @State prop_num41: number = 0; + @State prop_num42: number = 0; + @State prop_num43: number = 0; + @State prop_num44: number = 0; + @State prop_num45: number = 0; + @State prop_num46: number = 0; + @State prop_num47: number = 0; + @State prop_num48: number = 0; + @State prop_num49: number = 0; + @State prop_num50: number = 0; + @State prop_num51: number = 0; + @State prop_num52: number = 0; + @State prop_num53: number = 0; + @State prop_num54: number = 0; + @State prop_num55: number = 0; + @State prop_num56: number = 0; + @State prop_num57: number = 0; + @State prop_num58: number = 0; + @State prop_num59: number = 0; + @State prop_num60: number = 0; + @State prop_num61: number = 0; + @State prop_num62: number = 0; + @State prop_num63: number = 0; + @State prop_num64: number = 0; + @State prop_num65: number = 0; + @State prop_num66: number = 0; + @State prop_num67: number = 0; + @State prop_num68: number = 0; + @State prop_num69: number = 0; + @State prop_num70: number = 0; + @State prop_num71: number = 0; + @State prop_num72: number = 0; + @State prop_num73: number = 0; + @State prop_num74: number = 0; + @State prop_num75: number = 0; + @State prop_num76: number = 0; + @State prop_num77: number = 0; + @State prop_num78: number = 0; + @State prop_num79: number = 0; + @State prop_num80: number = 0; + @State prop_num81: number = 0; + @State prop_num82: number = 0; + @State prop_num83: number = 0; + @State prop_num84: number = 0; + @State prop_num85: number = 0; + @State prop_num86: number = 0; + @State prop_num87: number = 0; + @State prop_num88: number = 0; + @State prop_num89: number = 0; + @State prop_num90: number = 0; + @State prop_num91: number = 0; + @State prop_num92: number = 0; + @State prop_num93: number = 0; + @State prop_num94: number = 0; + @State prop_num95: number = 0; + @State prop_num96: number = 0; + @State prop_num97: number = 0; + @State prop_num98: number = 0; + @State prop_num99: number = 0; + @State prop_num100: number = 0; + @State prop_num101: number = 0; + @State prop_num102: number = 0; + @State prop_num103: number = 0; + @State prop_num104: number = 0; + @State prop_num105: number = 0; + @State prop_num106: number = 0; + @State prop_num107: number = 0; + @State prop_num108: number = 0; + @State prop_num109: number = 0; + @State prop_num110: number = 0; + @State prop_num111: number = 0; + @State prop_num112: number = 0; + @State prop_num113: number = 0; + @State prop_num114: number = 0; + @State prop_num115: number = 0; + @State prop_num116: number = 0; + @State prop_num117: number = 0; + @State prop_num118: number = 0; + @State prop_num119: number = 0; + @State prop_num120: number = 0; + @State prop_num121: number = 0; + @State prop_num122: number = 0; + @State prop_num123: number = 0; + @State prop_num124: number = 0; + @State prop_num125: number = 0; + @State prop_num126: number = 0; + @State prop_num127: number = 0; + @State prop_num128: number = 0; + @State prop_num129: number = 0; + @State prop_num130: number = 0; + @State prop_num131: number = 0; + @State prop_num132: number = 0; + @State prop_num133: number = 0; + @State prop_num134: number = 0; + @State prop_num135: number = 0; + @State prop_num136: number = 0; + @State prop_num137: number = 0; + @State prop_num138: number = 0; + @State prop_num139: number = 0; + @State prop_num140: number = 0; + @State prop_num141: number = 0; + @State prop_num142: number = 0; + @State prop_num143: number = 0; + @State prop_num144: number = 0; + @State prop_num145: number = 0; + @State prop_num146: number = 0; + @State prop_num147: number = 0; + @State prop_num148: number = 0; + @State prop_num149: number = 0; + @State prop_num150: number = 0; + @State prop_num151: number = 0; + @State prop_num152: number = 0; + @State prop_num153: number = 0; + @State prop_num154: number = 0; + @State prop_num155: number = 0; + @State prop_num156: number = 0; + @State prop_num157: number = 0; + @State prop_num158: number = 0; + @State prop_num159: number = 0; + @State prop_num160: number = 0; + @State prop_num161: number = 0; + @State prop_num162: number = 0; + @State prop_num163: number = 0; + @State prop_num164: number = 0; + @State prop_num165: number = 0; + @State prop_num166: number = 0; + @State prop_num167: number = 0; + @State prop_num168: number = 0; + @State prop_num169: number = 0; + @State prop_num170: number = 0; + @State prop_num171: number = 0; + @State prop_num172: number = 0; + @State prop_num173: number = 0; + @State prop_num174: number = 0; + @State prop_num175: number = 0; + @State prop_num176: number = 0; + @State prop_num177: number = 0; + @State prop_num178: number = 0; + @State prop_num179: number = 0; + @State prop_num180: number = 0; + @State prop_num181: number = 0; + @State prop_num182: number = 0; + @State prop_num183: number = 0; + @State prop_num184: number = 0; + @State prop_num185: number = 0; + @State prop_num186: number = 0; + @State prop_num187: number = 0; + @State prop_num188: number = 0; + @State prop_num189: number = 0; + @State prop_num190: number = 0; + @State prop_num191: number = 0; + @State prop_num192: number = 0; + @State prop_num193: number = 0; + @State prop_num194: number = 0; + @State prop_num195: number = 0; + @State prop_num196: number = 0; + @State prop_num197: number = 0; + @State prop_num198: number = 0; + @State prop_num199: number = 0; + @State prop_num200: number = 0; + @State prop_num201: number = 0; + @State prop_num202: number = 0; + @State prop_num203: number = 0; + @State prop_num204: number = 0; + @State prop_num205: number = 0; + @State prop_num206: number = 0; + @State prop_num207: number = 0; + @State prop_num208: number = 0; + @State prop_num209: number = 0; + @State prop_num210: number = 0; + @State prop_num211: number = 0; + @State prop_num212: number = 0; + @State prop_num213: number = 0; + @State prop_num214: number = 0; + @State prop_num215: number = 0; + @State prop_num216: number = 0; + @State prop_num217: number = 0; + @State prop_num218: number = 0; + @State prop_num219: number = 0; + @State prop_num220: number = 0; + @State prop_num221: number = 0; + @State prop_num222: number = 0; + @State prop_num223: number = 0; + @State prop_num224: number = 0; + @State prop_num225: number = 0; + @State prop_num226: number = 0; + @State prop_num227: number = 0; + @State prop_num228: number = 0; + @State prop_num229: number = 0; + @State prop_num230: number = 0; + @State prop_num231: number = 0; + @State prop_num232: number = 0; + @State prop_num233: number = 0; + @State prop_num234: number = 0; + @State prop_num235: number = 0; + @State prop_num236: number = 0; + @State prop_num237: number = 0; + @State prop_num238: number = 0; + @State prop_num239: number = 0; + @State prop_num240: number = 0; + @State prop_num241: number = 0; + @State prop_num242: number = 0; + @State prop_num243: number = 0; + @State prop_num244: number = 0; + @State prop_num245: number = 0; + @State prop_num246: number = 0; + @State prop_num247: number = 0; + @State prop_num248: number = 0; + @State prop_num249: number = 0; + @State prop_num250: number = 0; + @State prop_num251: number = 0; + @State prop_num252: number = 0; + @State prop_num253: number = 0; + @State prop_num254: number = 0; + @State prop_num255: number = 0; + @State prop_num256: number = 0; + @State prop_num257: number = 0; + @State prop_num258: number = 0; + @State prop_num259: number = 0; + @State prop_num260: number = 0; + @State prop_num261: number = 0; + @State prop_num262: number = 0; + @State prop_num263: number = 0; + @State prop_num264: number = 0; + @State prop_num265: number = 0; + @State prop_num266: number = 0; + @State prop_num267: number = 0; + @State prop_num268: number = 0; + @State prop_num269: number = 0; + @State prop_num270: number = 0; + @State prop_num271: number = 0; + @State prop_num272: number = 0; + @State prop_num273: number = 0; + @State prop_num274: number = 0; + @State prop_num275: number = 0; + @State prop_num276: number = 0; + @State prop_num277: number = 0; + @State prop_num278: number = 0; + @State prop_num279: number = 0; + @State prop_num280: number = 0; + @State prop_num281: number = 0; + @State prop_num282: number = 0; + @State prop_num283: number = 0; + @State prop_num284: number = 0; + @State prop_num285: number = 0; + @State prop_num286: number = 0; + @State prop_num287: number = 0; + @State prop_num288: number = 0; + @State prop_num289: number = 0; + @State prop_num290: number = 0; + @State prop_num291: number = 0; + @State prop_num292: number = 0; + @State prop_num293: number = 0; + @State prop_num294: number = 0; + @State prop_num295: number = 0; + @State prop_num296: number = 0; + @State prop_num297: number = 0; + @State prop_num298: number = 0; + @State prop_num299: number = 0; + @State prop_num300: number = 0; + @State prop_num301: number = 0; + @State prop_num302: number = 0; + @State prop_num303: number = 0; + @State prop_num304: number = 0; + @State prop_num305: number = 0; + @State prop_num306: number = 0; + @State prop_num307: number = 0; + @State prop_num308: number = 0; + @State prop_num309: number = 0; + @State prop_num310: number = 0; + @State prop_num311: number = 0; + @State prop_num312: number = 0; + @State prop_num313: number = 0; + @State prop_num314: number = 0; + @State prop_num315: number = 0; + @State prop_num316: number = 0; + @State prop_num317: number = 0; + @State prop_num318: number = 0; + @State prop_num319: number = 0; + @State prop_num320: number = 0; + @State prop_num321: number = 0; + @State prop_num322: number = 0; + @State prop_num323: number = 0; + @State prop_num324: number = 0; + @State prop_num325: number = 0; + @State prop_num326: number = 0; + @State prop_num327: number = 0; + @State prop_num328: number = 0; + @State prop_num329: number = 0; + @State prop_num330: number = 0; + @State prop_num331: number = 0; + @State prop_num332: number = 0; + + + //============================================================================= + @State link_num0: number = 0; + @State link_num1: number = 0; + @State link_num2: number = 0; + @State link_num3: number = 0; + @State link_num4: number = 0; + @State link_num5: number = 0; + @State link_num6: number = 0; + @State link_num7: number = 0; + @State link_num8: number = 0; + @State link_num9: number = 0; + @State link_num10: number = 0; + @State link_num11: number = 0; + @State link_num12: number = 0; + @State link_num13: number = 0; + @State link_num14: number = 0; + @State link_num15: number = 0; + @State link_num16: number = 0; + @State link_num17: number = 0; + @State link_num18: number = 0; + @State link_num19: number = 0; + @State link_num20: number = 0; + @State link_num21: number = 0; + @State link_num22: number = 0; + @State link_num23: number = 0; + @State link_num24: number = 0; + @State link_num25: number = 0; + @State link_num26: number = 0; + @State link_num27: number = 0; + @State link_num28: number = 0; + @State link_num29: number = 0; + @State link_num30: number = 0; + @State link_num31: number = 0; + @State link_num32: number = 0; + @State link_num33: number = 0; + @State link_num34: number = 0; + @State link_num35: number = 0; + @State link_num36: number = 0; + @State link_num37: number = 0; + @State link_num38: number = 0; + @State link_num39: number = 0; + @State link_num40: number = 0; + @State link_num41: number = 0; + @State link_num42: number = 0; + @State link_num43: number = 0; + @State link_num44: number = 0; + @State link_num45: number = 0; + @State link_num46: number = 0; + @State link_num47: number = 0; + @State link_num48: number = 0; + @State link_num49: number = 0; + @State link_num50: number = 0; + @State link_num51: number = 0; + @State link_num52: number = 0; + @State link_num53: number = 0; + @State link_num54: number = 0; + @State link_num55: number = 0; + @State link_num56: number = 0; + @State link_num57: number = 0; + @State link_num58: number = 0; + @State link_num59: number = 0; + @State link_num60: number = 0; + @State link_num61: number = 0; + @State link_num62: number = 0; + @State link_num63: number = 0; + @State link_num64: number = 0; + @State link_num65: number = 0; + @State link_num66: number = 0; + @State link_num67: number = 0; + @State link_num68: number = 0; + @State link_num69: number = 0; + @State link_num70: number = 0; + @State link_num71: number = 0; + @State link_num72: number = 0; + @State link_num73: number = 0; + @State link_num74: number = 0; + @State link_num75: number = 0; + @State link_num76: number = 0; + @State link_num77: number = 0; + @State link_num78: number = 0; + @State link_num79: number = 0; + @State link_num80: number = 0; + @State link_num81: number = 0; + @State link_num82: number = 0; + @State link_num83: number = 0; + @State link_num84: number = 0; + @State link_num85: number = 0; + @State link_num86: number = 0; + @State link_num87: number = 0; + @State link_num88: number = 0; + @State link_num89: number = 0; + @State link_num90: number = 0; + @State link_num91: number = 0; + @State link_num92: number = 0; + @State link_num93: number = 0; + @State link_num94: number = 0; + @State link_num95: number = 0; + @State link_num96: number = 0; + @State link_num97: number = 0; + @State link_num98: number = 0; + @State link_num99: number = 0; + @State link_num100: number = 0; + @State link_num101: number = 0; + @State link_num102: number = 0; + @State link_num103: number = 0; + @State link_num104: number = 0; + @State link_num105: number = 0; + @State link_num106: number = 0; + @State link_num107: number = 0; + @State link_num108: number = 0; + @State link_num109: number = 0; + @State link_num110: number = 0; + @State link_num111: number = 0; + @State link_num112: number = 0; + @State link_num113: number = 0; + @State link_num114: number = 0; + @State link_num115: number = 0; + @State link_num116: number = 0; + @State link_num117: number = 0; + @State link_num118: number = 0; + @State link_num119: number = 0; + @State link_num120: number = 0; + @State link_num121: number = 0; + @State link_num122: number = 0; + @State link_num123: number = 0; + @State link_num124: number = 0; + @State link_num125: number = 0; + @State link_num126: number = 0; + @State link_num127: number = 0; + @State link_num128: number = 0; + @State link_num129: number = 0; + @State link_num130: number = 0; + @State link_num131: number = 0; + @State link_num132: number = 0; + @State link_num133: number = 0; + @State link_num134: number = 0; + @State link_num135: number = 0; + @State link_num136: number = 0; + @State link_num137: number = 0; + @State link_num138: number = 0; + @State link_num139: number = 0; + @State link_num140: number = 0; + @State link_num141: number = 0; + @State link_num142: number = 0; + @State link_num143: number = 0; + @State link_num144: number = 0; + @State link_num145: number = 0; + @State link_num146: number = 0; + @State link_num147: number = 0; + @State link_num148: number = 0; + @State link_num149: number = 0; + @State link_num150: number = 0; + @State link_num151: number = 0; + @State link_num152: number = 0; + @State link_num153: number = 0; + @State link_num154: number = 0; + @State link_num155: number = 0; + @State link_num156: number = 0; + @State link_num157: number = 0; + @State link_num158: number = 0; + @State link_num159: number = 0; + @State link_num160: number = 0; + @State link_num161: number = 0; + @State link_num162: number = 0; + @State link_num163: number = 0; + @State link_num164: number = 0; + @State link_num165: number = 0; + @State link_num166: number = 0; + @State link_num167: number = 0; + @State link_num168: number = 0; + @State link_num169: number = 0; + @State link_num170: number = 0; + @State link_num171: number = 0; + @State link_num172: number = 0; + @State link_num173: number = 0; + @State link_num174: number = 0; + @State link_num175: number = 0; + @State link_num176: number = 0; + @State link_num177: number = 0; + @State link_num178: number = 0; + @State link_num179: number = 0; + @State link_num180: number = 0; + @State link_num181: number = 0; + @State link_num182: number = 0; + @State link_num183: number = 0; + @State link_num184: number = 0; + @State link_num185: number = 0; + @State link_num186: number = 0; + @State link_num187: number = 0; + @State link_num188: number = 0; + @State link_num189: number = 0; + @State link_num190: number = 0; + @State link_num191: number = 0; + @State link_num192: number = 0; + @State link_num193: number = 0; + @State link_num194: number = 0; + @State link_num195: number = 0; + @State link_num196: number = 0; + @State link_num197: number = 0; + @State link_num198: number = 0; + @State link_num199: number = 0; + @State link_num200: number = 0; + @State link_num201: number = 0; + @State link_num202: number = 0; + @State link_num203: number = 0; + @State link_num204: number = 0; + @State link_num205: number = 0; + @State link_num206: number = 0; + @State link_num207: number = 0; + @State link_num208: number = 0; + @State link_num209: number = 0; + @State link_num210: number = 0; + @State link_num211: number = 0; + @State link_num212: number = 0; + @State link_num213: number = 0; + @State link_num214: number = 0; + @State link_num215: number = 0; + @State link_num216: number = 0; + @State link_num217: number = 0; + @State link_num218: number = 0; + @State link_num219: number = 0; + @State link_num220: number = 0; + @State link_num221: number = 0; + @State link_num222: number = 0; + @State link_num223: number = 0; + @State link_num224: number = 0; + @State link_num225: number = 0; + @State link_num226: number = 0; + @State link_num227: number = 0; + @State link_num228: number = 0; + @State link_num229: number = 0; + @State link_num230: number = 0; + @State link_num231: number = 0; + @State link_num232: number = 0; + @State link_num233: number = 0; + @State link_num234: number = 0; + @State link_num235: number = 0; + @State link_num236: number = 0; + @State link_num237: number = 0; + @State link_num238: number = 0; + @State link_num239: number = 0; + @State link_num240: number = 0; + @State link_num241: number = 0; + @State link_num242: number = 0; + @State link_num243: number = 0; + @State link_num244: number = 0; + @State link_num245: number = 0; + @State link_num246: number = 0; + @State link_num247: number = 0; + @State link_num248: number = 0; + @State link_num249: number = 0; + @State link_num250: number = 0; + @State link_num251: number = 0; + @State link_num252: number = 0; + @State link_num253: number = 0; + @State link_num254: number = 0; + @State link_num255: number = 0; + @State link_num256: number = 0; + @State link_num257: number = 0; + @State link_num258: number = 0; + @State link_num259: number = 0; + @State link_num260: number = 0; + @State link_num261: number = 0; + @State link_num262: number = 0; + @State link_num263: number = 0; + @State link_num264: number = 0; + @State link_num265: number = 0; + @State link_num266: number = 0; + @State link_num267: number = 0; + @State link_num268: number = 0; + @State link_num269: number = 0; + @State link_num270: number = 0; + @State link_num271: number = 0; + @State link_num272: number = 0; + @State link_num273: number = 0; + @State link_num274: number = 0; + @State link_num275: number = 0; + @State link_num276: number = 0; + @State link_num277: number = 0; + @State link_num278: number = 0; + @State link_num279: number = 0; + @State link_num280: number = 0; + @State link_num281: number = 0; + @State link_num282: number = 0; + @State link_num283: number = 0; + @State link_num284: number = 0; + @State link_num285: number = 0; + @State link_num286: number = 0; + @State link_num287: number = 0; + @State link_num288: number = 0; + @State link_num289: number = 0; + @State link_num290: number = 0; + @State link_num291: number = 0; + @State link_num292: number = 0; + @State link_num293: number = 0; + @State link_num294: number = 0; + @State link_num295: number = 0; + @State link_num296: number = 0; + @State link_num297: number = 0; + @State link_num298: number = 0; + @State link_num299: number = 0; + @State link_num300: number = 0; + @State link_num301: number = 0; + @State link_num302: number = 0; + @State link_num303: number = 0; + @State link_num304: number = 0; + @State link_num305: number = 0; + @State link_num306: number = 0; + @State link_num307: number = 0; + @State link_num308: number = 0; + @State link_num309: number = 0; + @State link_num310: number = 0; + @State link_num311: number = 0; + @State link_num312: number = 0; + @State link_num313: number = 0; + @State link_num314: number = 0; + @State link_num315: number = 0; + @State link_num316: number = 0; + @State link_num317: number = 0; + @State link_num318: number = 0; + @State link_num319: number = 0; + @State link_num320: number = 0; + @State link_num321: number = 0; + @State link_num322: number = 0; + @State link_num323: number = 0; + @State link_num324: number = 0; + @State link_num325: number = 0; + @State link_num326: number = 0; + @State link_num327: number = 0; + @State link_num328: number = 0; + @State link_num329: number = 0; + @State link_num330: number = 0; + @State link_num331: number = 0; + @State link_num332: number = 0; + + + //============================================================================= + @Provide consume_num0: number = 0; + @Provide consume_num1: number = 0; + @Provide consume_num2: number = 0; + @Provide consume_num3: number = 0; + @Provide consume_num4: number = 0; + @Provide consume_num5: number = 0; + @Provide consume_num6: number = 0; + @Provide consume_num7: number = 0; + @Provide consume_num8: number = 0; + @Provide consume_num9: number = 0; + @Provide consume_num10: number = 0; + @Provide consume_num11: number = 0; + @Provide consume_num12: number = 0; + @Provide consume_num13: number = 0; + @Provide consume_num14: number = 0; + @Provide consume_num15: number = 0; + @Provide consume_num16: number = 0; + @Provide consume_num17: number = 0; + @Provide consume_num18: number = 0; + @Provide consume_num19: number = 0; + @Provide consume_num20: number = 0; + @Provide consume_num21: number = 0; + @Provide consume_num22: number = 0; + @Provide consume_num23: number = 0; + @Provide consume_num24: number = 0; + @Provide consume_num25: number = 0; + @Provide consume_num26: number = 0; + @Provide consume_num27: number = 0; + @Provide consume_num28: number = 0; + @Provide consume_num29: number = 0; + @Provide consume_num30: number = 0; + @Provide consume_num31: number = 0; + @Provide consume_num32: number = 0; + @Provide consume_num33: number = 0; + @Provide consume_num34: number = 0; + @Provide consume_num35: number = 0; + @Provide consume_num36: number = 0; + @Provide consume_num37: number = 0; + @Provide consume_num38: number = 0; + @Provide consume_num39: number = 0; + @Provide consume_num40: number = 0; + @Provide consume_num41: number = 0; + @Provide consume_num42: number = 0; + @Provide consume_num43: number = 0; + @Provide consume_num44: number = 0; + @Provide consume_num45: number = 0; + @Provide consume_num46: number = 0; + @Provide consume_num47: number = 0; + @Provide consume_num48: number = 0; + @Provide consume_num49: number = 0; + @Provide consume_num50: number = 0; + @Provide consume_num51: number = 0; + @Provide consume_num52: number = 0; + @Provide consume_num53: number = 0; + @Provide consume_num54: number = 0; + @Provide consume_num55: number = 0; + @Provide consume_num56: number = 0; + @Provide consume_num57: number = 0; + @Provide consume_num58: number = 0; + @Provide consume_num59: number = 0; + @Provide consume_num60: number = 0; + @Provide consume_num61: number = 0; + @Provide consume_num62: number = 0; + @Provide consume_num63: number = 0; + @Provide consume_num64: number = 0; + @Provide consume_num65: number = 0; + @Provide consume_num66: number = 0; + @Provide consume_num67: number = 0; + @Provide consume_num68: number = 0; + @Provide consume_num69: number = 0; + @Provide consume_num70: number = 0; + @Provide consume_num71: number = 0; + @Provide consume_num72: number = 0; + @Provide consume_num73: number = 0; + @Provide consume_num74: number = 0; + @Provide consume_num75: number = 0; + @Provide consume_num76: number = 0; + @Provide consume_num77: number = 0; + @Provide consume_num78: number = 0; + @Provide consume_num79: number = 0; + @Provide consume_num80: number = 0; + @Provide consume_num81: number = 0; + @Provide consume_num82: number = 0; + @Provide consume_num83: number = 0; + @Provide consume_num84: number = 0; + @Provide consume_num85: number = 0; + @Provide consume_num86: number = 0; + @Provide consume_num87: number = 0; + @Provide consume_num88: number = 0; + @Provide consume_num89: number = 0; + @Provide consume_num90: number = 0; + @Provide consume_num91: number = 0; + @Provide consume_num92: number = 0; + @Provide consume_num93: number = 0; + @Provide consume_num94: number = 0; + @Provide consume_num95: number = 0; + @Provide consume_num96: number = 0; + @Provide consume_num97: number = 0; + @Provide consume_num98: number = 0; + @Provide consume_num99: number = 0; + @Provide consume_num100: number = 0; + @Provide consume_num101: number = 0; + @Provide consume_num102: number = 0; + @Provide consume_num103: number = 0; + @Provide consume_num104: number = 0; + @Provide consume_num105: number = 0; + @Provide consume_num106: number = 0; + @Provide consume_num107: number = 0; + @Provide consume_num108: number = 0; + @Provide consume_num109: number = 0; + @Provide consume_num110: number = 0; + @Provide consume_num111: number = 0; + @Provide consume_num112: number = 0; + @Provide consume_num113: number = 0; + @Provide consume_num114: number = 0; + @Provide consume_num115: number = 0; + @Provide consume_num116: number = 0; + @Provide consume_num117: number = 0; + @Provide consume_num118: number = 0; + @Provide consume_num119: number = 0; + @Provide consume_num120: number = 0; + @Provide consume_num121: number = 0; + @Provide consume_num122: number = 0; + @Provide consume_num123: number = 0; + @Provide consume_num124: number = 0; + @Provide consume_num125: number = 0; + @Provide consume_num126: number = 0; + @Provide consume_num127: number = 0; + @Provide consume_num128: number = 0; + @Provide consume_num129: number = 0; + @Provide consume_num130: number = 0; + @Provide consume_num131: number = 0; + @Provide consume_num132: number = 0; + @Provide consume_num133: number = 0; + @Provide consume_num134: number = 0; + @Provide consume_num135: number = 0; + @Provide consume_num136: number = 0; + @Provide consume_num137: number = 0; + @Provide consume_num138: number = 0; + @Provide consume_num139: number = 0; + @Provide consume_num140: number = 0; + @Provide consume_num141: number = 0; + @Provide consume_num142: number = 0; + @Provide consume_num143: number = 0; + @Provide consume_num144: number = 0; + @Provide consume_num145: number = 0; + @Provide consume_num146: number = 0; + @Provide consume_num147: number = 0; + @Provide consume_num148: number = 0; + @Provide consume_num149: number = 0; + @Provide consume_num150: number = 0; + @Provide consume_num151: number = 0; + @Provide consume_num152: number = 0; + @Provide consume_num153: number = 0; + @Provide consume_num154: number = 0; + @Provide consume_num155: number = 0; + @Provide consume_num156: number = 0; + @Provide consume_num157: number = 0; + @Provide consume_num158: number = 0; + @Provide consume_num159: number = 0; + @Provide consume_num160: number = 0; + @Provide consume_num161: number = 0; + @Provide consume_num162: number = 0; + @Provide consume_num163: number = 0; + @Provide consume_num164: number = 0; + @Provide consume_num165: number = 0; + @Provide consume_num166: number = 0; + @Provide consume_num167: number = 0; + @Provide consume_num168: number = 0; + @Provide consume_num169: number = 0; + @Provide consume_num170: number = 0; + @Provide consume_num171: number = 0; + @Provide consume_num172: number = 0; + @Provide consume_num173: number = 0; + @Provide consume_num174: number = 0; + @Provide consume_num175: number = 0; + @Provide consume_num176: number = 0; + @Provide consume_num177: number = 0; + @Provide consume_num178: number = 0; + @Provide consume_num179: number = 0; + @Provide consume_num180: number = 0; + @Provide consume_num181: number = 0; + @Provide consume_num182: number = 0; + @Provide consume_num183: number = 0; + @Provide consume_num184: number = 0; + @Provide consume_num185: number = 0; + @Provide consume_num186: number = 0; + @Provide consume_num187: number = 0; + @Provide consume_num188: number = 0; + @Provide consume_num189: number = 0; + @Provide consume_num190: number = 0; + @Provide consume_num191: number = 0; + @Provide consume_num192: number = 0; + @Provide consume_num193: number = 0; + @Provide consume_num194: number = 0; + @Provide consume_num195: number = 0; + @Provide consume_num196: number = 0; + @Provide consume_num197: number = 0; + @Provide consume_num198: number = 0; + @Provide consume_num199: number = 0; + @Provide consume_num200: number = 0; + @Provide consume_num201: number = 0; + @Provide consume_num202: number = 0; + @Provide consume_num203: number = 0; + @Provide consume_num204: number = 0; + @Provide consume_num205: number = 0; + @Provide consume_num206: number = 0; + @Provide consume_num207: number = 0; + @Provide consume_num208: number = 0; + @Provide consume_num209: number = 0; + @Provide consume_num210: number = 0; + @Provide consume_num211: number = 0; + @Provide consume_num212: number = 0; + @Provide consume_num213: number = 0; + @Provide consume_num214: number = 0; + @Provide consume_num215: number = 0; + @Provide consume_num216: number = 0; + @Provide consume_num217: number = 0; + @Provide consume_num218: number = 0; + @Provide consume_num219: number = 0; + @Provide consume_num220: number = 0; + @Provide consume_num221: number = 0; + @Provide consume_num222: number = 0; + @Provide consume_num223: number = 0; + @Provide consume_num224: number = 0; + @Provide consume_num225: number = 0; + @Provide consume_num226: number = 0; + @Provide consume_num227: number = 0; + @Provide consume_num228: number = 0; + @Provide consume_num229: number = 0; + @Provide consume_num230: number = 0; + @Provide consume_num231: number = 0; + @Provide consume_num232: number = 0; + @Provide consume_num233: number = 0; + @Provide consume_num234: number = 0; + @Provide consume_num235: number = 0; + @Provide consume_num236: number = 0; + @Provide consume_num237: number = 0; + @Provide consume_num238: number = 0; + @Provide consume_num239: number = 0; + @Provide consume_num240: number = 0; + @Provide consume_num241: number = 0; + @Provide consume_num242: number = 0; + @Provide consume_num243: number = 0; + @Provide consume_num244: number = 0; + @Provide consume_num245: number = 0; + @Provide consume_num246: number = 0; + @Provide consume_num247: number = 0; + @Provide consume_num248: number = 0; + @Provide consume_num249: number = 0; + @Provide consume_num250: number = 0; + @Provide consume_num251: number = 0; + @Provide consume_num252: number = 0; + @Provide consume_num253: number = 0; + @Provide consume_num254: number = 0; + @Provide consume_num255: number = 0; + @Provide consume_num256: number = 0; + @Provide consume_num257: number = 0; + @Provide consume_num258: number = 0; + @Provide consume_num259: number = 0; + @Provide consume_num260: number = 0; + @Provide consume_num261: number = 0; + @Provide consume_num262: number = 0; + @Provide consume_num263: number = 0; + @Provide consume_num264: number = 0; + @Provide consume_num265: number = 0; + @Provide consume_num266: number = 0; + @Provide consume_num267: number = 0; + @Provide consume_num268: number = 0; + @Provide consume_num269: number = 0; + @Provide consume_num270: number = 0; + @Provide consume_num271: number = 0; + @Provide consume_num272: number = 0; + @Provide consume_num273: number = 0; + @Provide consume_num274: number = 0; + @Provide consume_num275: number = 0; + @Provide consume_num276: number = 0; + @Provide consume_num277: number = 0; + @Provide consume_num278: number = 0; + @Provide consume_num279: number = 0; + @Provide consume_num280: number = 0; + @Provide consume_num281: number = 0; + @Provide consume_num282: number = 0; + @Provide consume_num283: number = 0; + @Provide consume_num284: number = 0; + @Provide consume_num285: number = 0; + @Provide consume_num286: number = 0; + @Provide consume_num287: number = 0; + @Provide consume_num288: number = 0; + @Provide consume_num289: number = 0; + @Provide consume_num290: number = 0; + @Provide consume_num291: number = 0; + @Provide consume_num292: number = 0; + @Provide consume_num293: number = 0; + @Provide consume_num294: number = 0; + @Provide consume_num295: number = 0; + @Provide consume_num296: number = 0; + @Provide consume_num297: number = 0; + @Provide consume_num298: number = 0; + @Provide consume_num299: number = 0; + @Provide consume_num300: number = 0; + @Provide consume_num301: number = 0; + @Provide consume_num302: number = 0; + @Provide consume_num303: number = 0; + @Provide consume_num304: number = 0; + @Provide consume_num305: number = 0; + @Provide consume_num306: number = 0; + @Provide consume_num307: number = 0; + @Provide consume_num308: number = 0; + @Provide consume_num309: number = 0; + @Provide consume_num310: number = 0; + @Provide consume_num311: number = 0; + @Provide consume_num312: number = 0; + @Provide consume_num313: number = 0; + @Provide consume_num314: number = 0; + @Provide consume_num315: number = 0; + @Provide consume_num316: number = 0; + @Provide consume_num317: number = 0; + @Provide consume_num318: number = 0; + @Provide consume_num319: number = 0; + @Provide consume_num320: number = 0; + @Provide consume_num321: number = 0; + @Provide consume_num322: number = 0; + @Provide consume_num323: number = 0; + @Provide consume_num324: number = 0; + @Provide consume_num325: number = 0; + @Provide consume_num326: number = 0; + @Provide consume_num327: number = 0; + @Provide consume_num328: number = 0; + @Provide consume_num329: number = 0; + @Provide consume_num330: number = 0; + @Provide consume_num331: number = 0; + @Provide consume_num332: number = 0; + + + build() { + Column() { + //============================================================================= + PropVariables( + { + prop_num0: this.prop_num0, + prop_num1: this.prop_num1, + prop_num2: this.prop_num2, + prop_num3: this.prop_num3, + prop_num4: this.prop_num4, + prop_num5: this.prop_num5, + prop_num6: this.prop_num6, + prop_num7: this.prop_num7, + prop_num8: this.prop_num8, + prop_num9: this.prop_num9, + prop_num10: this.prop_num10, + prop_num11: this.prop_num11, + prop_num12: this.prop_num12, + prop_num13: this.prop_num13, + prop_num14: this.prop_num14, + prop_num15: this.prop_num15, + prop_num16: this.prop_num16, + prop_num17: this.prop_num17, + prop_num18: this.prop_num18, + prop_num19: this.prop_num19, + prop_num20: this.prop_num20, + prop_num21: this.prop_num21, + prop_num22: this.prop_num22, + prop_num23: this.prop_num23, + prop_num24: this.prop_num24, + prop_num25: this.prop_num25, + prop_num26: this.prop_num26, + prop_num27: this.prop_num27, + prop_num28: this.prop_num28, + prop_num29: this.prop_num29, + prop_num30: this.prop_num30, + prop_num31: this.prop_num31, + prop_num32: this.prop_num32, + prop_num33: this.prop_num33, + prop_num34: this.prop_num34, + prop_num35: this.prop_num35, + prop_num36: this.prop_num36, + prop_num37: this.prop_num37, + prop_num38: this.prop_num38, + prop_num39: this.prop_num39, + prop_num40: this.prop_num40, + prop_num41: this.prop_num41, + prop_num42: this.prop_num42, + prop_num43: this.prop_num43, + prop_num44: this.prop_num44, + prop_num45: this.prop_num45, + prop_num46: this.prop_num46, + prop_num47: this.prop_num47, + prop_num48: this.prop_num48, + prop_num49: this.prop_num49, + prop_num50: this.prop_num50, + prop_num51: this.prop_num51, + prop_num52: this.prop_num52, + prop_num53: this.prop_num53, + prop_num54: this.prop_num54, + prop_num55: this.prop_num55, + prop_num56: this.prop_num56, + prop_num57: this.prop_num57, + prop_num58: this.prop_num58, + prop_num59: this.prop_num59, + prop_num60: this.prop_num60, + prop_num61: this.prop_num61, + prop_num62: this.prop_num62, + prop_num63: this.prop_num63, + prop_num64: this.prop_num64, + prop_num65: this.prop_num65, + prop_num66: this.prop_num66, + prop_num67: this.prop_num67, + prop_num68: this.prop_num68, + prop_num69: this.prop_num69, + prop_num70: this.prop_num70, + prop_num71: this.prop_num71, + prop_num72: this.prop_num72, + prop_num73: this.prop_num73, + prop_num74: this.prop_num74, + prop_num75: this.prop_num75, + prop_num76: this.prop_num76, + prop_num77: this.prop_num77, + prop_num78: this.prop_num78, + prop_num79: this.prop_num79, + prop_num80: this.prop_num80, + prop_num81: this.prop_num81, + prop_num82: this.prop_num82, + prop_num83: this.prop_num83, + prop_num84: this.prop_num84, + prop_num85: this.prop_num85, + prop_num86: this.prop_num86, + prop_num87: this.prop_num87, + prop_num88: this.prop_num88, + prop_num89: this.prop_num89, + prop_num90: this.prop_num90, + prop_num91: this.prop_num91, + prop_num92: this.prop_num92, + prop_num93: this.prop_num93, + prop_num94: this.prop_num94, + prop_num95: this.prop_num95, + prop_num96: this.prop_num96, + prop_num97: this.prop_num97, + prop_num98: this.prop_num98, + prop_num99: this.prop_num99, + prop_num100: this.prop_num100, + prop_num101: this.prop_num101, + prop_num102: this.prop_num102, + prop_num103: this.prop_num103, + prop_num104: this.prop_num104, + prop_num105: this.prop_num105, + prop_num106: this.prop_num106, + prop_num107: this.prop_num107, + prop_num108: this.prop_num108, + prop_num109: this.prop_num109, + prop_num110: this.prop_num110, + prop_num111: this.prop_num111, + prop_num112: this.prop_num112, + prop_num113: this.prop_num113, + prop_num114: this.prop_num114, + prop_num115: this.prop_num115, + prop_num116: this.prop_num116, + prop_num117: this.prop_num117, + prop_num118: this.prop_num118, + prop_num119: this.prop_num119, + prop_num120: this.prop_num120, + prop_num121: this.prop_num121, + prop_num122: this.prop_num122, + prop_num123: this.prop_num123, + prop_num124: this.prop_num124, + prop_num125: this.prop_num125, + prop_num126: this.prop_num126, + prop_num127: this.prop_num127, + prop_num128: this.prop_num128, + prop_num129: this.prop_num129, + prop_num130: this.prop_num130, + prop_num131: this.prop_num131, + prop_num132: this.prop_num132, + prop_num133: this.prop_num133, + prop_num134: this.prop_num134, + prop_num135: this.prop_num135, + prop_num136: this.prop_num136, + prop_num137: this.prop_num137, + prop_num138: this.prop_num138, + prop_num139: this.prop_num139, + prop_num140: this.prop_num140, + prop_num141: this.prop_num141, + prop_num142: this.prop_num142, + prop_num143: this.prop_num143, + prop_num144: this.prop_num144, + prop_num145: this.prop_num145, + prop_num146: this.prop_num146, + prop_num147: this.prop_num147, + prop_num148: this.prop_num148, + prop_num149: this.prop_num149, + prop_num150: this.prop_num150, + prop_num151: this.prop_num151, + prop_num152: this.prop_num152, + prop_num153: this.prop_num153, + prop_num154: this.prop_num154, + prop_num155: this.prop_num155, + prop_num156: this.prop_num156, + prop_num157: this.prop_num157, + prop_num158: this.prop_num158, + prop_num159: this.prop_num159, + prop_num160: this.prop_num160, + prop_num161: this.prop_num161, + prop_num162: this.prop_num162, + prop_num163: this.prop_num163, + prop_num164: this.prop_num164, + prop_num165: this.prop_num165, + prop_num166: this.prop_num166, + prop_num167: this.prop_num167, + prop_num168: this.prop_num168, + prop_num169: this.prop_num169, + prop_num170: this.prop_num170, + prop_num171: this.prop_num171, + prop_num172: this.prop_num172, + prop_num173: this.prop_num173, + prop_num174: this.prop_num174, + prop_num175: this.prop_num175, + prop_num176: this.prop_num176, + prop_num177: this.prop_num177, + prop_num178: this.prop_num178, + prop_num179: this.prop_num179, + prop_num180: this.prop_num180, + prop_num181: this.prop_num181, + prop_num182: this.prop_num182, + prop_num183: this.prop_num183, + prop_num184: this.prop_num184, + prop_num185: this.prop_num185, + prop_num186: this.prop_num186, + prop_num187: this.prop_num187, + prop_num188: this.prop_num188, + prop_num189: this.prop_num189, + prop_num190: this.prop_num190, + prop_num191: this.prop_num191, + prop_num192: this.prop_num192, + prop_num193: this.prop_num193, + prop_num194: this.prop_num194, + prop_num195: this.prop_num195, + prop_num196: this.prop_num196, + prop_num197: this.prop_num197, + prop_num198: this.prop_num198, + prop_num199: this.prop_num199, + prop_num200: this.prop_num200, + prop_num201: this.prop_num201, + prop_num202: this.prop_num202, + prop_num203: this.prop_num203, + prop_num204: this.prop_num204, + prop_num205: this.prop_num205, + prop_num206: this.prop_num206, + prop_num207: this.prop_num207, + prop_num208: this.prop_num208, + prop_num209: this.prop_num209, + prop_num210: this.prop_num210, + prop_num211: this.prop_num211, + prop_num212: this.prop_num212, + prop_num213: this.prop_num213, + prop_num214: this.prop_num214, + prop_num215: this.prop_num215, + prop_num216: this.prop_num216, + prop_num217: this.prop_num217, + prop_num218: this.prop_num218, + prop_num219: this.prop_num219, + prop_num220: this.prop_num220, + prop_num221: this.prop_num221, + prop_num222: this.prop_num222, + prop_num223: this.prop_num223, + prop_num224: this.prop_num224, + prop_num225: this.prop_num225, + prop_num226: this.prop_num226, + prop_num227: this.prop_num227, + prop_num228: this.prop_num228, + prop_num229: this.prop_num229, + prop_num230: this.prop_num230, + prop_num231: this.prop_num231, + prop_num232: this.prop_num232, + prop_num233: this.prop_num233, + prop_num234: this.prop_num234, + prop_num235: this.prop_num235, + prop_num236: this.prop_num236, + prop_num237: this.prop_num237, + prop_num238: this.prop_num238, + prop_num239: this.prop_num239, + prop_num240: this.prop_num240, + prop_num241: this.prop_num241, + prop_num242: this.prop_num242, + prop_num243: this.prop_num243, + prop_num244: this.prop_num244, + prop_num245: this.prop_num245, + prop_num246: this.prop_num246, + prop_num247: this.prop_num247, + prop_num248: this.prop_num248, + prop_num249: this.prop_num249, + prop_num250: this.prop_num250, + prop_num251: this.prop_num251, + prop_num252: this.prop_num252, + prop_num253: this.prop_num253, + prop_num254: this.prop_num254, + prop_num255: this.prop_num255, + prop_num256: this.prop_num256, + prop_num257: this.prop_num257, + prop_num258: this.prop_num258, + prop_num259: this.prop_num259, + prop_num260: this.prop_num260, + prop_num261: this.prop_num261, + prop_num262: this.prop_num262, + prop_num263: this.prop_num263, + prop_num264: this.prop_num264, + prop_num265: this.prop_num265, + prop_num266: this.prop_num266, + prop_num267: this.prop_num267, + prop_num268: this.prop_num268, + prop_num269: this.prop_num269, + prop_num270: this.prop_num270, + prop_num271: this.prop_num271, + prop_num272: this.prop_num272, + prop_num273: this.prop_num273, + prop_num274: this.prop_num274, + prop_num275: this.prop_num275, + prop_num276: this.prop_num276, + prop_num277: this.prop_num277, + prop_num278: this.prop_num278, + prop_num279: this.prop_num279, + prop_num280: this.prop_num280, + prop_num281: this.prop_num281, + prop_num282: this.prop_num282, + prop_num283: this.prop_num283, + prop_num284: this.prop_num284, + prop_num285: this.prop_num285, + prop_num286: this.prop_num286, + prop_num287: this.prop_num287, + prop_num288: this.prop_num288, + prop_num289: this.prop_num289, + prop_num290: this.prop_num290, + prop_num291: this.prop_num291, + prop_num292: this.prop_num292, + prop_num293: this.prop_num293, + prop_num294: this.prop_num294, + prop_num295: this.prop_num295, + prop_num296: this.prop_num296, + prop_num297: this.prop_num297, + prop_num298: this.prop_num298, + prop_num299: this.prop_num299, + prop_num300: this.prop_num300, + prop_num301: this.prop_num301, + prop_num302: this.prop_num302, + prop_num303: this.prop_num303, + prop_num304: this.prop_num304, + prop_num305: this.prop_num305, + prop_num306: this.prop_num306, + prop_num307: this.prop_num307, + prop_num308: this.prop_num308, + prop_num309: this.prop_num309, + prop_num310: this.prop_num310, + prop_num311: this.prop_num311, + prop_num312: this.prop_num312, + prop_num313: this.prop_num313, + prop_num314: this.prop_num314, + prop_num315: this.prop_num315, + prop_num316: this.prop_num316, + prop_num317: this.prop_num317, + prop_num318: this.prop_num318, + prop_num319: this.prop_num319, + prop_num320: this.prop_num320, + prop_num321: this.prop_num321, + prop_num322: this.prop_num322, + prop_num323: this.prop_num323, + prop_num324: this.prop_num324, + prop_num325: this.prop_num325, + prop_num326: this.prop_num326, + prop_num327: this.prop_num327, + prop_num328: this.prop_num328, + prop_num329: this.prop_num329, + prop_num330: this.prop_num330, + prop_num331: this.prop_num331, + prop_num332: this.prop_num332, + + } + ) + + //============================================================================= + LinkVariables( + { + link_num0: this.link_num0, + link_num1: this.link_num1, + link_num2: this.link_num2, + link_num3: this.link_num3, + link_num4: this.link_num4, + link_num5: this.link_num5, + link_num6: this.link_num6, + link_num7: this.link_num7, + link_num8: this.link_num8, + link_num9: this.link_num9, + link_num10: this.link_num10, + link_num11: this.link_num11, + link_num12: this.link_num12, + link_num13: this.link_num13, + link_num14: this.link_num14, + link_num15: this.link_num15, + link_num16: this.link_num16, + link_num17: this.link_num17, + link_num18: this.link_num18, + link_num19: this.link_num19, + link_num20: this.link_num20, + link_num21: this.link_num21, + link_num22: this.link_num22, + link_num23: this.link_num23, + link_num24: this.link_num24, + link_num25: this.link_num25, + link_num26: this.link_num26, + link_num27: this.link_num27, + link_num28: this.link_num28, + link_num29: this.link_num29, + link_num30: this.link_num30, + link_num31: this.link_num31, + link_num32: this.link_num32, + link_num33: this.link_num33, + link_num34: this.link_num34, + link_num35: this.link_num35, + link_num36: this.link_num36, + link_num37: this.link_num37, + link_num38: this.link_num38, + link_num39: this.link_num39, + link_num40: this.link_num40, + link_num41: this.link_num41, + link_num42: this.link_num42, + link_num43: this.link_num43, + link_num44: this.link_num44, + link_num45: this.link_num45, + link_num46: this.link_num46, + link_num47: this.link_num47, + link_num48: this.link_num48, + link_num49: this.link_num49, + link_num50: this.link_num50, + link_num51: this.link_num51, + link_num52: this.link_num52, + link_num53: this.link_num53, + link_num54: this.link_num54, + link_num55: this.link_num55, + link_num56: this.link_num56, + link_num57: this.link_num57, + link_num58: this.link_num58, + link_num59: this.link_num59, + link_num60: this.link_num60, + link_num61: this.link_num61, + link_num62: this.link_num62, + link_num63: this.link_num63, + link_num64: this.link_num64, + link_num65: this.link_num65, + link_num66: this.link_num66, + link_num67: this.link_num67, + link_num68: this.link_num68, + link_num69: this.link_num69, + link_num70: this.link_num70, + link_num71: this.link_num71, + link_num72: this.link_num72, + link_num73: this.link_num73, + link_num74: this.link_num74, + link_num75: this.link_num75, + link_num76: this.link_num76, + link_num77: this.link_num77, + link_num78: this.link_num78, + link_num79: this.link_num79, + link_num80: this.link_num80, + link_num81: this.link_num81, + link_num82: this.link_num82, + link_num83: this.link_num83, + link_num84: this.link_num84, + link_num85: this.link_num85, + link_num86: this.link_num86, + link_num87: this.link_num87, + link_num88: this.link_num88, + link_num89: this.link_num89, + link_num90: this.link_num90, + link_num91: this.link_num91, + link_num92: this.link_num92, + link_num93: this.link_num93, + link_num94: this.link_num94, + link_num95: this.link_num95, + link_num96: this.link_num96, + link_num97: this.link_num97, + link_num98: this.link_num98, + link_num99: this.link_num99, + link_num100: this.link_num100, + link_num101: this.link_num101, + link_num102: this.link_num102, + link_num103: this.link_num103, + link_num104: this.link_num104, + link_num105: this.link_num105, + link_num106: this.link_num106, + link_num107: this.link_num107, + link_num108: this.link_num108, + link_num109: this.link_num109, + link_num110: this.link_num110, + link_num111: this.link_num111, + link_num112: this.link_num112, + link_num113: this.link_num113, + link_num114: this.link_num114, + link_num115: this.link_num115, + link_num116: this.link_num116, + link_num117: this.link_num117, + link_num118: this.link_num118, + link_num119: this.link_num119, + link_num120: this.link_num120, + link_num121: this.link_num121, + link_num122: this.link_num122, + link_num123: this.link_num123, + link_num124: this.link_num124, + link_num125: this.link_num125, + link_num126: this.link_num126, + link_num127: this.link_num127, + link_num128: this.link_num128, + link_num129: this.link_num129, + link_num130: this.link_num130, + link_num131: this.link_num131, + link_num132: this.link_num132, + link_num133: this.link_num133, + link_num134: this.link_num134, + link_num135: this.link_num135, + link_num136: this.link_num136, + link_num137: this.link_num137, + link_num138: this.link_num138, + link_num139: this.link_num139, + link_num140: this.link_num140, + link_num141: this.link_num141, + link_num142: this.link_num142, + link_num143: this.link_num143, + link_num144: this.link_num144, + link_num145: this.link_num145, + link_num146: this.link_num146, + link_num147: this.link_num147, + link_num148: this.link_num148, + link_num149: this.link_num149, + link_num150: this.link_num150, + link_num151: this.link_num151, + link_num152: this.link_num152, + link_num153: this.link_num153, + link_num154: this.link_num154, + link_num155: this.link_num155, + link_num156: this.link_num156, + link_num157: this.link_num157, + link_num158: this.link_num158, + link_num159: this.link_num159, + link_num160: this.link_num160, + link_num161: this.link_num161, + link_num162: this.link_num162, + link_num163: this.link_num163, + link_num164: this.link_num164, + link_num165: this.link_num165, + link_num166: this.link_num166, + link_num167: this.link_num167, + link_num168: this.link_num168, + link_num169: this.link_num169, + link_num170: this.link_num170, + link_num171: this.link_num171, + link_num172: this.link_num172, + link_num173: this.link_num173, + link_num174: this.link_num174, + link_num175: this.link_num175, + link_num176: this.link_num176, + link_num177: this.link_num177, + link_num178: this.link_num178, + link_num179: this.link_num179, + link_num180: this.link_num180, + link_num181: this.link_num181, + link_num182: this.link_num182, + link_num183: this.link_num183, + link_num184: this.link_num184, + link_num185: this.link_num185, + link_num186: this.link_num186, + link_num187: this.link_num187, + link_num188: this.link_num188, + link_num189: this.link_num189, + link_num190: this.link_num190, + link_num191: this.link_num191, + link_num192: this.link_num192, + link_num193: this.link_num193, + link_num194: this.link_num194, + link_num195: this.link_num195, + link_num196: this.link_num196, + link_num197: this.link_num197, + link_num198: this.link_num198, + link_num199: this.link_num199, + link_num200: this.link_num200, + link_num201: this.link_num201, + link_num202: this.link_num202, + link_num203: this.link_num203, + link_num204: this.link_num204, + link_num205: this.link_num205, + link_num206: this.link_num206, + link_num207: this.link_num207, + link_num208: this.link_num208, + link_num209: this.link_num209, + link_num210: this.link_num210, + link_num211: this.link_num211, + link_num212: this.link_num212, + link_num213: this.link_num213, + link_num214: this.link_num214, + link_num215: this.link_num215, + link_num216: this.link_num216, + link_num217: this.link_num217, + link_num218: this.link_num218, + link_num219: this.link_num219, + link_num220: this.link_num220, + link_num221: this.link_num221, + link_num222: this.link_num222, + link_num223: this.link_num223, + link_num224: this.link_num224, + link_num225: this.link_num225, + link_num226: this.link_num226, + link_num227: this.link_num227, + link_num228: this.link_num228, + link_num229: this.link_num229, + link_num230: this.link_num230, + link_num231: this.link_num231, + link_num232: this.link_num232, + link_num233: this.link_num233, + link_num234: this.link_num234, + link_num235: this.link_num235, + link_num236: this.link_num236, + link_num237: this.link_num237, + link_num238: this.link_num238, + link_num239: this.link_num239, + link_num240: this.link_num240, + link_num241: this.link_num241, + link_num242: this.link_num242, + link_num243: this.link_num243, + link_num244: this.link_num244, + link_num245: this.link_num245, + link_num246: this.link_num246, + link_num247: this.link_num247, + link_num248: this.link_num248, + link_num249: this.link_num249, + link_num250: this.link_num250, + link_num251: this.link_num251, + link_num252: this.link_num252, + link_num253: this.link_num253, + link_num254: this.link_num254, + link_num255: this.link_num255, + link_num256: this.link_num256, + link_num257: this.link_num257, + link_num258: this.link_num258, + link_num259: this.link_num259, + link_num260: this.link_num260, + link_num261: this.link_num261, + link_num262: this.link_num262, + link_num263: this.link_num263, + link_num264: this.link_num264, + link_num265: this.link_num265, + link_num266: this.link_num266, + link_num267: this.link_num267, + link_num268: this.link_num268, + link_num269: this.link_num269, + link_num270: this.link_num270, + link_num271: this.link_num271, + link_num272: this.link_num272, + link_num273: this.link_num273, + link_num274: this.link_num274, + link_num275: this.link_num275, + link_num276: this.link_num276, + link_num277: this.link_num277, + link_num278: this.link_num278, + link_num279: this.link_num279, + link_num280: this.link_num280, + link_num281: this.link_num281, + link_num282: this.link_num282, + link_num283: this.link_num283, + link_num284: this.link_num284, + link_num285: this.link_num285, + link_num286: this.link_num286, + link_num287: this.link_num287, + link_num288: this.link_num288, + link_num289: this.link_num289, + link_num290: this.link_num290, + link_num291: this.link_num291, + link_num292: this.link_num292, + link_num293: this.link_num293, + link_num294: this.link_num294, + link_num295: this.link_num295, + link_num296: this.link_num296, + link_num297: this.link_num297, + link_num298: this.link_num298, + link_num299: this.link_num299, + link_num300: this.link_num300, + link_num301: this.link_num301, + link_num302: this.link_num302, + link_num303: this.link_num303, + link_num304: this.link_num304, + link_num305: this.link_num305, + link_num306: this.link_num306, + link_num307: this.link_num307, + link_num308: this.link_num308, + link_num309: this.link_num309, + link_num310: this.link_num310, + link_num311: this.link_num311, + link_num312: this.link_num312, + link_num313: this.link_num313, + link_num314: this.link_num314, + link_num315: this.link_num315, + link_num316: this.link_num316, + link_num317: this.link_num317, + link_num318: this.link_num318, + link_num319: this.link_num319, + link_num320: this.link_num320, + link_num321: this.link_num321, + link_num322: this.link_num322, + link_num323: this.link_num323, + link_num324: this.link_num324, + link_num325: this.link_num325, + link_num326: this.link_num326, + link_num327: this.link_num327, + link_num328: this.link_num328, + link_num329: this.link_num329, + link_num330: this.link_num330, + link_num331: this.link_num331, + link_num332: this.link_num332, + + } + ) + + //============================================================================= + ConsumeVariables() + } + } +} + +@Component +struct PropVariables { + //============================================================================= + @Prop prop_num0: number = 0; + @Prop prop_num1: number = 0; + @Prop prop_num2: number = 0; + @Prop prop_num3: number = 0; + @Prop prop_num4: number = 0; + @Prop prop_num5: number = 0; + @Prop prop_num6: number = 0; + @Prop prop_num7: number = 0; + @Prop prop_num8: number = 0; + @Prop prop_num9: number = 0; + @Prop prop_num10: number = 0; + @Prop prop_num11: number = 0; + @Prop prop_num12: number = 0; + @Prop prop_num13: number = 0; + @Prop prop_num14: number = 0; + @Prop prop_num15: number = 0; + @Prop prop_num16: number = 0; + @Prop prop_num17: number = 0; + @Prop prop_num18: number = 0; + @Prop prop_num19: number = 0; + @Prop prop_num20: number = 0; + @Prop prop_num21: number = 0; + @Prop prop_num22: number = 0; + @Prop prop_num23: number = 0; + @Prop prop_num24: number = 0; + @Prop prop_num25: number = 0; + @Prop prop_num26: number = 0; + @Prop prop_num27: number = 0; + @Prop prop_num28: number = 0; + @Prop prop_num29: number = 0; + @Prop prop_num30: number = 0; + @Prop prop_num31: number = 0; + @Prop prop_num32: number = 0; + @Prop prop_num33: number = 0; + @Prop prop_num34: number = 0; + @Prop prop_num35: number = 0; + @Prop prop_num36: number = 0; + @Prop prop_num37: number = 0; + @Prop prop_num38: number = 0; + @Prop prop_num39: number = 0; + @Prop prop_num40: number = 0; + @Prop prop_num41: number = 0; + @Prop prop_num42: number = 0; + @Prop prop_num43: number = 0; + @Prop prop_num44: number = 0; + @Prop prop_num45: number = 0; + @Prop prop_num46: number = 0; + @Prop prop_num47: number = 0; + @Prop prop_num48: number = 0; + @Prop prop_num49: number = 0; + @Prop prop_num50: number = 0; + @Prop prop_num51: number = 0; + @Prop prop_num52: number = 0; + @Prop prop_num53: number = 0; + @Prop prop_num54: number = 0; + @Prop prop_num55: number = 0; + @Prop prop_num56: number = 0; + @Prop prop_num57: number = 0; + @Prop prop_num58: number = 0; + @Prop prop_num59: number = 0; + @Prop prop_num60: number = 0; + @Prop prop_num61: number = 0; + @Prop prop_num62: number = 0; + @Prop prop_num63: number = 0; + @Prop prop_num64: number = 0; + @Prop prop_num65: number = 0; + @Prop prop_num66: number = 0; + @Prop prop_num67: number = 0; + @Prop prop_num68: number = 0; + @Prop prop_num69: number = 0; + @Prop prop_num70: number = 0; + @Prop prop_num71: number = 0; + @Prop prop_num72: number = 0; + @Prop prop_num73: number = 0; + @Prop prop_num74: number = 0; + @Prop prop_num75: number = 0; + @Prop prop_num76: number = 0; + @Prop prop_num77: number = 0; + @Prop prop_num78: number = 0; + @Prop prop_num79: number = 0; + @Prop prop_num80: number = 0; + @Prop prop_num81: number = 0; + @Prop prop_num82: number = 0; + @Prop prop_num83: number = 0; + @Prop prop_num84: number = 0; + @Prop prop_num85: number = 0; + @Prop prop_num86: number = 0; + @Prop prop_num87: number = 0; + @Prop prop_num88: number = 0; + @Prop prop_num89: number = 0; + @Prop prop_num90: number = 0; + @Prop prop_num91: number = 0; + @Prop prop_num92: number = 0; + @Prop prop_num93: number = 0; + @Prop prop_num94: number = 0; + @Prop prop_num95: number = 0; + @Prop prop_num96: number = 0; + @Prop prop_num97: number = 0; + @Prop prop_num98: number = 0; + @Prop prop_num99: number = 0; + @Prop prop_num100: number = 0; + @Prop prop_num101: number = 0; + @Prop prop_num102: number = 0; + @Prop prop_num103: number = 0; + @Prop prop_num104: number = 0; + @Prop prop_num105: number = 0; + @Prop prop_num106: number = 0; + @Prop prop_num107: number = 0; + @Prop prop_num108: number = 0; + @Prop prop_num109: number = 0; + @Prop prop_num110: number = 0; + @Prop prop_num111: number = 0; + @Prop prop_num112: number = 0; + @Prop prop_num113: number = 0; + @Prop prop_num114: number = 0; + @Prop prop_num115: number = 0; + @Prop prop_num116: number = 0; + @Prop prop_num117: number = 0; + @Prop prop_num118: number = 0; + @Prop prop_num119: number = 0; + @Prop prop_num120: number = 0; + @Prop prop_num121: number = 0; + @Prop prop_num122: number = 0; + @Prop prop_num123: number = 0; + @Prop prop_num124: number = 0; + @Prop prop_num125: number = 0; + @Prop prop_num126: number = 0; + @Prop prop_num127: number = 0; + @Prop prop_num128: number = 0; + @Prop prop_num129: number = 0; + @Prop prop_num130: number = 0; + @Prop prop_num131: number = 0; + @Prop prop_num132: number = 0; + @Prop prop_num133: number = 0; + @Prop prop_num134: number = 0; + @Prop prop_num135: number = 0; + @Prop prop_num136: number = 0; + @Prop prop_num137: number = 0; + @Prop prop_num138: number = 0; + @Prop prop_num139: number = 0; + @Prop prop_num140: number = 0; + @Prop prop_num141: number = 0; + @Prop prop_num142: number = 0; + @Prop prop_num143: number = 0; + @Prop prop_num144: number = 0; + @Prop prop_num145: number = 0; + @Prop prop_num146: number = 0; + @Prop prop_num147: number = 0; + @Prop prop_num148: number = 0; + @Prop prop_num149: number = 0; + @Prop prop_num150: number = 0; + @Prop prop_num151: number = 0; + @Prop prop_num152: number = 0; + @Prop prop_num153: number = 0; + @Prop prop_num154: number = 0; + @Prop prop_num155: number = 0; + @Prop prop_num156: number = 0; + @Prop prop_num157: number = 0; + @Prop prop_num158: number = 0; + @Prop prop_num159: number = 0; + @Prop prop_num160: number = 0; + @Prop prop_num161: number = 0; + @Prop prop_num162: number = 0; + @Prop prop_num163: number = 0; + @Prop prop_num164: number = 0; + @Prop prop_num165: number = 0; + @Prop prop_num166: number = 0; + @Prop prop_num167: number = 0; + @Prop prop_num168: number = 0; + @Prop prop_num169: number = 0; + @Prop prop_num170: number = 0; + @Prop prop_num171: number = 0; + @Prop prop_num172: number = 0; + @Prop prop_num173: number = 0; + @Prop prop_num174: number = 0; + @Prop prop_num175: number = 0; + @Prop prop_num176: number = 0; + @Prop prop_num177: number = 0; + @Prop prop_num178: number = 0; + @Prop prop_num179: number = 0; + @Prop prop_num180: number = 0; + @Prop prop_num181: number = 0; + @Prop prop_num182: number = 0; + @Prop prop_num183: number = 0; + @Prop prop_num184: number = 0; + @Prop prop_num185: number = 0; + @Prop prop_num186: number = 0; + @Prop prop_num187: number = 0; + @Prop prop_num188: number = 0; + @Prop prop_num189: number = 0; + @Prop prop_num190: number = 0; + @Prop prop_num191: number = 0; + @Prop prop_num192: number = 0; + @Prop prop_num193: number = 0; + @Prop prop_num194: number = 0; + @Prop prop_num195: number = 0; + @Prop prop_num196: number = 0; + @Prop prop_num197: number = 0; + @Prop prop_num198: number = 0; + @Prop prop_num199: number = 0; + @Prop prop_num200: number = 0; + @Prop prop_num201: number = 0; + @Prop prop_num202: number = 0; + @Prop prop_num203: number = 0; + @Prop prop_num204: number = 0; + @Prop prop_num205: number = 0; + @Prop prop_num206: number = 0; + @Prop prop_num207: number = 0; + @Prop prop_num208: number = 0; + @Prop prop_num209: number = 0; + @Prop prop_num210: number = 0; + @Prop prop_num211: number = 0; + @Prop prop_num212: number = 0; + @Prop prop_num213: number = 0; + @Prop prop_num214: number = 0; + @Prop prop_num215: number = 0; + @Prop prop_num216: number = 0; + @Prop prop_num217: number = 0; + @Prop prop_num218: number = 0; + @Prop prop_num219: number = 0; + @Prop prop_num220: number = 0; + @Prop prop_num221: number = 0; + @Prop prop_num222: number = 0; + @Prop prop_num223: number = 0; + @Prop prop_num224: number = 0; + @Prop prop_num225: number = 0; + @Prop prop_num226: number = 0; + @Prop prop_num227: number = 0; + @Prop prop_num228: number = 0; + @Prop prop_num229: number = 0; + @Prop prop_num230: number = 0; + @Prop prop_num231: number = 0; + @Prop prop_num232: number = 0; + @Prop prop_num233: number = 0; + @Prop prop_num234: number = 0; + @Prop prop_num235: number = 0; + @Prop prop_num236: number = 0; + @Prop prop_num237: number = 0; + @Prop prop_num238: number = 0; + @Prop prop_num239: number = 0; + @Prop prop_num240: number = 0; + @Prop prop_num241: number = 0; + @Prop prop_num242: number = 0; + @Prop prop_num243: number = 0; + @Prop prop_num244: number = 0; + @Prop prop_num245: number = 0; + @Prop prop_num246: number = 0; + @Prop prop_num247: number = 0; + @Prop prop_num248: number = 0; + @Prop prop_num249: number = 0; + @Prop prop_num250: number = 0; + @Prop prop_num251: number = 0; + @Prop prop_num252: number = 0; + @Prop prop_num253: number = 0; + @Prop prop_num254: number = 0; + @Prop prop_num255: number = 0; + @Prop prop_num256: number = 0; + @Prop prop_num257: number = 0; + @Prop prop_num258: number = 0; + @Prop prop_num259: number = 0; + @Prop prop_num260: number = 0; + @Prop prop_num261: number = 0; + @Prop prop_num262: number = 0; + @Prop prop_num263: number = 0; + @Prop prop_num264: number = 0; + @Prop prop_num265: number = 0; + @Prop prop_num266: number = 0; + @Prop prop_num267: number = 0; + @Prop prop_num268: number = 0; + @Prop prop_num269: number = 0; + @Prop prop_num270: number = 0; + @Prop prop_num271: number = 0; + @Prop prop_num272: number = 0; + @Prop prop_num273: number = 0; + @Prop prop_num274: number = 0; + @Prop prop_num275: number = 0; + @Prop prop_num276: number = 0; + @Prop prop_num277: number = 0; + @Prop prop_num278: number = 0; + @Prop prop_num279: number = 0; + @Prop prop_num280: number = 0; + @Prop prop_num281: number = 0; + @Prop prop_num282: number = 0; + @Prop prop_num283: number = 0; + @Prop prop_num284: number = 0; + @Prop prop_num285: number = 0; + @Prop prop_num286: number = 0; + @Prop prop_num287: number = 0; + @Prop prop_num288: number = 0; + @Prop prop_num289: number = 0; + @Prop prop_num290: number = 0; + @Prop prop_num291: number = 0; + @Prop prop_num292: number = 0; + @Prop prop_num293: number = 0; + @Prop prop_num294: number = 0; + @Prop prop_num295: number = 0; + @Prop prop_num296: number = 0; + @Prop prop_num297: number = 0; + @Prop prop_num298: number = 0; + @Prop prop_num299: number = 0; + @Prop prop_num300: number = 0; + @Prop prop_num301: number = 0; + @Prop prop_num302: number = 0; + @Prop prop_num303: number = 0; + @Prop prop_num304: number = 0; + @Prop prop_num305: number = 0; + @Prop prop_num306: number = 0; + @Prop prop_num307: number = 0; + @Prop prop_num308: number = 0; + @Prop prop_num309: number = 0; + @Prop prop_num310: number = 0; + @Prop prop_num311: number = 0; + @Prop prop_num312: number = 0; + @Prop prop_num313: number = 0; + @Prop prop_num314: number = 0; + @Prop prop_num315: number = 0; + @Prop prop_num316: number = 0; + @Prop prop_num317: number = 0; + @Prop prop_num318: number = 0; + @Prop prop_num319: number = 0; + @Prop prop_num320: number = 0; + @Prop prop_num321: number = 0; + @Prop prop_num322: number = 0; + @Prop prop_num323: number = 0; + @Prop prop_num324: number = 0; + @Prop prop_num325: number = 0; + @Prop prop_num326: number = 0; + @Prop prop_num327: number = 0; + @Prop prop_num328: number = 0; + @Prop prop_num329: number = 0; + @Prop prop_num330: number = 0; + @Prop prop_num331: number = 0; + @Prop prop_num332: number = 0; + + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.prop_num0++; + this.prop_num1++; + this.prop_num2++; + this.prop_num3++; + this.prop_num4++; + this.prop_num5++; + this.prop_num6++; + this.prop_num7++; + this.prop_num8++; + this.prop_num9++; + this.prop_num10++; + this.prop_num11++; + this.prop_num12++; + this.prop_num13++; + this.prop_num14++; + this.prop_num15++; + this.prop_num16++; + this.prop_num17++; + this.prop_num18++; + this.prop_num19++; + this.prop_num20++; + this.prop_num21++; + this.prop_num22++; + this.prop_num23++; + this.prop_num24++; + this.prop_num25++; + this.prop_num26++; + this.prop_num27++; + this.prop_num28++; + this.prop_num29++; + this.prop_num30++; + this.prop_num31++; + this.prop_num32++; + this.prop_num33++; + this.prop_num34++; + this.prop_num35++; + this.prop_num36++; + this.prop_num37++; + this.prop_num38++; + this.prop_num39++; + this.prop_num40++; + this.prop_num41++; + this.prop_num42++; + this.prop_num43++; + this.prop_num44++; + this.prop_num45++; + this.prop_num46++; + this.prop_num47++; + this.prop_num48++; + this.prop_num49++; + this.prop_num50++; + this.prop_num51++; + this.prop_num52++; + this.prop_num53++; + this.prop_num54++; + this.prop_num55++; + this.prop_num56++; + this.prop_num57++; + this.prop_num58++; + this.prop_num59++; + this.prop_num60++; + this.prop_num61++; + this.prop_num62++; + this.prop_num63++; + this.prop_num64++; + this.prop_num65++; + this.prop_num66++; + this.prop_num67++; + this.prop_num68++; + this.prop_num69++; + this.prop_num70++; + this.prop_num71++; + this.prop_num72++; + this.prop_num73++; + this.prop_num74++; + this.prop_num75++; + this.prop_num76++; + this.prop_num77++; + this.prop_num78++; + this.prop_num79++; + this.prop_num80++; + this.prop_num81++; + this.prop_num82++; + this.prop_num83++; + this.prop_num84++; + this.prop_num85++; + this.prop_num86++; + this.prop_num87++; + this.prop_num88++; + this.prop_num89++; + this.prop_num90++; + this.prop_num91++; + this.prop_num92++; + this.prop_num93++; + this.prop_num94++; + this.prop_num95++; + this.prop_num96++; + this.prop_num97++; + this.prop_num98++; + this.prop_num99++; + this.prop_num100++; + this.prop_num101++; + this.prop_num102++; + this.prop_num103++; + this.prop_num104++; + this.prop_num105++; + this.prop_num106++; + this.prop_num107++; + this.prop_num108++; + this.prop_num109++; + this.prop_num110++; + this.prop_num111++; + this.prop_num112++; + this.prop_num113++; + this.prop_num114++; + this.prop_num115++; + this.prop_num116++; + this.prop_num117++; + this.prop_num118++; + this.prop_num119++; + this.prop_num120++; + this.prop_num121++; + this.prop_num122++; + this.prop_num123++; + this.prop_num124++; + this.prop_num125++; + this.prop_num126++; + this.prop_num127++; + this.prop_num128++; + this.prop_num129++; + this.prop_num130++; + this.prop_num131++; + this.prop_num132++; + this.prop_num133++; + this.prop_num134++; + this.prop_num135++; + this.prop_num136++; + this.prop_num137++; + this.prop_num138++; + this.prop_num139++; + this.prop_num140++; + this.prop_num141++; + this.prop_num142++; + this.prop_num143++; + this.prop_num144++; + this.prop_num145++; + this.prop_num146++; + this.prop_num147++; + this.prop_num148++; + this.prop_num149++; + this.prop_num150++; + this.prop_num151++; + this.prop_num152++; + this.prop_num153++; + this.prop_num154++; + this.prop_num155++; + this.prop_num156++; + this.prop_num157++; + this.prop_num158++; + this.prop_num159++; + this.prop_num160++; + this.prop_num161++; + this.prop_num162++; + this.prop_num163++; + this.prop_num164++; + this.prop_num165++; + this.prop_num166++; + this.prop_num167++; + this.prop_num168++; + this.prop_num169++; + this.prop_num170++; + this.prop_num171++; + this.prop_num172++; + this.prop_num173++; + this.prop_num174++; + this.prop_num175++; + this.prop_num176++; + this.prop_num177++; + this.prop_num178++; + this.prop_num179++; + this.prop_num180++; + this.prop_num181++; + this.prop_num182++; + this.prop_num183++; + this.prop_num184++; + this.prop_num185++; + this.prop_num186++; + this.prop_num187++; + this.prop_num188++; + this.prop_num189++; + this.prop_num190++; + this.prop_num191++; + this.prop_num192++; + this.prop_num193++; + this.prop_num194++; + this.prop_num195++; + this.prop_num196++; + this.prop_num197++; + this.prop_num198++; + this.prop_num199++; + this.prop_num200++; + this.prop_num201++; + this.prop_num202++; + this.prop_num203++; + this.prop_num204++; + this.prop_num205++; + this.prop_num206++; + this.prop_num207++; + this.prop_num208++; + this.prop_num209++; + this.prop_num210++; + this.prop_num211++; + this.prop_num212++; + this.prop_num213++; + this.prop_num214++; + this.prop_num215++; + this.prop_num216++; + this.prop_num217++; + this.prop_num218++; + this.prop_num219++; + this.prop_num220++; + this.prop_num221++; + this.prop_num222++; + this.prop_num223++; + this.prop_num224++; + this.prop_num225++; + this.prop_num226++; + this.prop_num227++; + this.prop_num228++; + this.prop_num229++; + this.prop_num230++; + this.prop_num231++; + this.prop_num232++; + this.prop_num233++; + this.prop_num234++; + this.prop_num235++; + this.prop_num236++; + this.prop_num237++; + this.prop_num238++; + this.prop_num239++; + this.prop_num240++; + this.prop_num241++; + this.prop_num242++; + this.prop_num243++; + this.prop_num244++; + this.prop_num245++; + this.prop_num246++; + this.prop_num247++; + this.prop_num248++; + this.prop_num249++; + this.prop_num250++; + this.prop_num251++; + this.prop_num252++; + this.prop_num253++; + this.prop_num254++; + this.prop_num255++; + this.prop_num256++; + this.prop_num257++; + this.prop_num258++; + this.prop_num259++; + this.prop_num260++; + this.prop_num261++; + this.prop_num262++; + this.prop_num263++; + this.prop_num264++; + this.prop_num265++; + this.prop_num266++; + this.prop_num267++; + this.prop_num268++; + this.prop_num269++; + this.prop_num270++; + this.prop_num271++; + this.prop_num272++; + this.prop_num273++; + this.prop_num274++; + this.prop_num275++; + this.prop_num276++; + this.prop_num277++; + this.prop_num278++; + this.prop_num279++; + this.prop_num280++; + this.prop_num281++; + this.prop_num282++; + this.prop_num283++; + this.prop_num284++; + this.prop_num285++; + this.prop_num286++; + this.prop_num287++; + this.prop_num288++; + this.prop_num289++; + this.prop_num290++; + this.prop_num291++; + this.prop_num292++; + this.prop_num293++; + this.prop_num294++; + this.prop_num295++; + this.prop_num296++; + this.prop_num297++; + this.prop_num298++; + this.prop_num299++; + this.prop_num300++; + this.prop_num301++; + this.prop_num302++; + this.prop_num303++; + this.prop_num304++; + this.prop_num305++; + this.prop_num306++; + this.prop_num307++; + this.prop_num308++; + this.prop_num309++; + this.prop_num310++; + this.prop_num311++; + this.prop_num312++; + this.prop_num313++; + this.prop_num314++; + this.prop_num315++; + this.prop_num316++; + this.prop_num317++; + this.prop_num318++; + this.prop_num319++; + this.prop_num320++; + this.prop_num321++; + this.prop_num322++; + this.prop_num323++; + this.prop_num324++; + this.prop_num325++; + this.prop_num326++; + this.prop_num327++; + this.prop_num328++; + this.prop_num329++; + this.prop_num330++; + this.prop_num331++; + this.prop_num332++; + + }) + } + } +} + +@Component +struct LinkVariables { + @Link link_num0: number; + @Link link_num1: number; + @Link link_num2: number; + @Link link_num3: number; + @Link link_num4: number; + @Link link_num5: number; + @Link link_num6: number; + @Link link_num7: number; + @Link link_num8: number; + @Link link_num9: number; + @Link link_num10: number; + @Link link_num11: number; + @Link link_num12: number; + @Link link_num13: number; + @Link link_num14: number; + @Link link_num15: number; + @Link link_num16: number; + @Link link_num17: number; + @Link link_num18: number; + @Link link_num19: number; + @Link link_num20: number; + @Link link_num21: number; + @Link link_num22: number; + @Link link_num23: number; + @Link link_num24: number; + @Link link_num25: number; + @Link link_num26: number; + @Link link_num27: number; + @Link link_num28: number; + @Link link_num29: number; + @Link link_num30: number; + @Link link_num31: number; + @Link link_num32: number; + @Link link_num33: number; + @Link link_num34: number; + @Link link_num35: number; + @Link link_num36: number; + @Link link_num37: number; + @Link link_num38: number; + @Link link_num39: number; + @Link link_num40: number; + @Link link_num41: number; + @Link link_num42: number; + @Link link_num43: number; + @Link link_num44: number; + @Link link_num45: number; + @Link link_num46: number; + @Link link_num47: number; + @Link link_num48: number; + @Link link_num49: number; + @Link link_num50: number; + @Link link_num51: number; + @Link link_num52: number; + @Link link_num53: number; + @Link link_num54: number; + @Link link_num55: number; + @Link link_num56: number; + @Link link_num57: number; + @Link link_num58: number; + @Link link_num59: number; + @Link link_num60: number; + @Link link_num61: number; + @Link link_num62: number; + @Link link_num63: number; + @Link link_num64: number; + @Link link_num65: number; + @Link link_num66: number; + @Link link_num67: number; + @Link link_num68: number; + @Link link_num69: number; + @Link link_num70: number; + @Link link_num71: number; + @Link link_num72: number; + @Link link_num73: number; + @Link link_num74: number; + @Link link_num75: number; + @Link link_num76: number; + @Link link_num77: number; + @Link link_num78: number; + @Link link_num79: number; + @Link link_num80: number; + @Link link_num81: number; + @Link link_num82: number; + @Link link_num83: number; + @Link link_num84: number; + @Link link_num85: number; + @Link link_num86: number; + @Link link_num87: number; + @Link link_num88: number; + @Link link_num89: number; + @Link link_num90: number; + @Link link_num91: number; + @Link link_num92: number; + @Link link_num93: number; + @Link link_num94: number; + @Link link_num95: number; + @Link link_num96: number; + @Link link_num97: number; + @Link link_num98: number; + @Link link_num99: number; + @Link link_num100: number; + @Link link_num101: number; + @Link link_num102: number; + @Link link_num103: number; + @Link link_num104: number; + @Link link_num105: number; + @Link link_num106: number; + @Link link_num107: number; + @Link link_num108: number; + @Link link_num109: number; + @Link link_num110: number; + @Link link_num111: number; + @Link link_num112: number; + @Link link_num113: number; + @Link link_num114: number; + @Link link_num115: number; + @Link link_num116: number; + @Link link_num117: number; + @Link link_num118: number; + @Link link_num119: number; + @Link link_num120: number; + @Link link_num121: number; + @Link link_num122: number; + @Link link_num123: number; + @Link link_num124: number; + @Link link_num125: number; + @Link link_num126: number; + @Link link_num127: number; + @Link link_num128: number; + @Link link_num129: number; + @Link link_num130: number; + @Link link_num131: number; + @Link link_num132: number; + @Link link_num133: number; + @Link link_num134: number; + @Link link_num135: number; + @Link link_num136: number; + @Link link_num137: number; + @Link link_num138: number; + @Link link_num139: number; + @Link link_num140: number; + @Link link_num141: number; + @Link link_num142: number; + @Link link_num143: number; + @Link link_num144: number; + @Link link_num145: number; + @Link link_num146: number; + @Link link_num147: number; + @Link link_num148: number; + @Link link_num149: number; + @Link link_num150: number; + @Link link_num151: number; + @Link link_num152: number; + @Link link_num153: number; + @Link link_num154: number; + @Link link_num155: number; + @Link link_num156: number; + @Link link_num157: number; + @Link link_num158: number; + @Link link_num159: number; + @Link link_num160: number; + @Link link_num161: number; + @Link link_num162: number; + @Link link_num163: number; + @Link link_num164: number; + @Link link_num165: number; + @Link link_num166: number; + @Link link_num167: number; + @Link link_num168: number; + @Link link_num169: number; + @Link link_num170: number; + @Link link_num171: number; + @Link link_num172: number; + @Link link_num173: number; + @Link link_num174: number; + @Link link_num175: number; + @Link link_num176: number; + @Link link_num177: number; + @Link link_num178: number; + @Link link_num179: number; + @Link link_num180: number; + @Link link_num181: number; + @Link link_num182: number; + @Link link_num183: number; + @Link link_num184: number; + @Link link_num185: number; + @Link link_num186: number; + @Link link_num187: number; + @Link link_num188: number; + @Link link_num189: number; + @Link link_num190: number; + @Link link_num191: number; + @Link link_num192: number; + @Link link_num193: number; + @Link link_num194: number; + @Link link_num195: number; + @Link link_num196: number; + @Link link_num197: number; + @Link link_num198: number; + @Link link_num199: number; + @Link link_num200: number; + @Link link_num201: number; + @Link link_num202: number; + @Link link_num203: number; + @Link link_num204: number; + @Link link_num205: number; + @Link link_num206: number; + @Link link_num207: number; + @Link link_num208: number; + @Link link_num209: number; + @Link link_num210: number; + @Link link_num211: number; + @Link link_num212: number; + @Link link_num213: number; + @Link link_num214: number; + @Link link_num215: number; + @Link link_num216: number; + @Link link_num217: number; + @Link link_num218: number; + @Link link_num219: number; + @Link link_num220: number; + @Link link_num221: number; + @Link link_num222: number; + @Link link_num223: number; + @Link link_num224: number; + @Link link_num225: number; + @Link link_num226: number; + @Link link_num227: number; + @Link link_num228: number; + @Link link_num229: number; + @Link link_num230: number; + @Link link_num231: number; + @Link link_num232: number; + @Link link_num233: number; + @Link link_num234: number; + @Link link_num235: number; + @Link link_num236: number; + @Link link_num237: number; + @Link link_num238: number; + @Link link_num239: number; + @Link link_num240: number; + @Link link_num241: number; + @Link link_num242: number; + @Link link_num243: number; + @Link link_num244: number; + @Link link_num245: number; + @Link link_num246: number; + @Link link_num247: number; + @Link link_num248: number; + @Link link_num249: number; + @Link link_num250: number; + @Link link_num251: number; + @Link link_num252: number; + @Link link_num253: number; + @Link link_num254: number; + @Link link_num255: number; + @Link link_num256: number; + @Link link_num257: number; + @Link link_num258: number; + @Link link_num259: number; + @Link link_num260: number; + @Link link_num261: number; + @Link link_num262: number; + @Link link_num263: number; + @Link link_num264: number; + @Link link_num265: number; + @Link link_num266: number; + @Link link_num267: number; + @Link link_num268: number; + @Link link_num269: number; + @Link link_num270: number; + @Link link_num271: number; + @Link link_num272: number; + @Link link_num273: number; + @Link link_num274: number; + @Link link_num275: number; + @Link link_num276: number; + @Link link_num277: number; + @Link link_num278: number; + @Link link_num279: number; + @Link link_num280: number; + @Link link_num281: number; + @Link link_num282: number; + @Link link_num283: number; + @Link link_num284: number; + @Link link_num285: number; + @Link link_num286: number; + @Link link_num287: number; + @Link link_num288: number; + @Link link_num289: number; + @Link link_num290: number; + @Link link_num291: number; + @Link link_num292: number; + @Link link_num293: number; + @Link link_num294: number; + @Link link_num295: number; + @Link link_num296: number; + @Link link_num297: number; + @Link link_num298: number; + @Link link_num299: number; + @Link link_num300: number; + @Link link_num301: number; + @Link link_num302: number; + @Link link_num303: number; + @Link link_num304: number; + @Link link_num305: number; + @Link link_num306: number; + @Link link_num307: number; + @Link link_num308: number; + @Link link_num309: number; + @Link link_num310: number; + @Link link_num311: number; + @Link link_num312: number; + @Link link_num313: number; + @Link link_num314: number; + @Link link_num315: number; + @Link link_num316: number; + @Link link_num317: number; + @Link link_num318: number; + @Link link_num319: number; + @Link link_num320: number; + @Link link_num321: number; + @Link link_num322: number; + @Link link_num323: number; + @Link link_num324: number; + @Link link_num325: number; + @Link link_num326: number; + @Link link_num327: number; + @Link link_num328: number; + @Link link_num329: number; + @Link link_num330: number; + @Link link_num331: number; + @Link link_num332: number; + + + //============================================================================= + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.link_num0++; + this.link_num1++; + this.link_num2++; + this.link_num3++; + this.link_num4++; + this.link_num5++; + this.link_num6++; + this.link_num7++; + this.link_num8++; + this.link_num9++; + this.link_num10++; + this.link_num11++; + this.link_num12++; + this.link_num13++; + this.link_num14++; + this.link_num15++; + this.link_num16++; + this.link_num17++; + this.link_num18++; + this.link_num19++; + this.link_num20++; + this.link_num21++; + this.link_num22++; + this.link_num23++; + this.link_num24++; + this.link_num25++; + this.link_num26++; + this.link_num27++; + this.link_num28++; + this.link_num29++; + this.link_num30++; + this.link_num31++; + this.link_num32++; + this.link_num33++; + this.link_num34++; + this.link_num35++; + this.link_num36++; + this.link_num37++; + this.link_num38++; + this.link_num39++; + this.link_num40++; + this.link_num41++; + this.link_num42++; + this.link_num43++; + this.link_num44++; + this.link_num45++; + this.link_num46++; + this.link_num47++; + this.link_num48++; + this.link_num49++; + this.link_num50++; + this.link_num51++; + this.link_num52++; + this.link_num53++; + this.link_num54++; + this.link_num55++; + this.link_num56++; + this.link_num57++; + this.link_num58++; + this.link_num59++; + this.link_num60++; + this.link_num61++; + this.link_num62++; + this.link_num63++; + this.link_num64++; + this.link_num65++; + this.link_num66++; + this.link_num67++; + this.link_num68++; + this.link_num69++; + this.link_num70++; + this.link_num71++; + this.link_num72++; + this.link_num73++; + this.link_num74++; + this.link_num75++; + this.link_num76++; + this.link_num77++; + this.link_num78++; + this.link_num79++; + this.link_num80++; + this.link_num81++; + this.link_num82++; + this.link_num83++; + this.link_num84++; + this.link_num85++; + this.link_num86++; + this.link_num87++; + this.link_num88++; + this.link_num89++; + this.link_num90++; + this.link_num91++; + this.link_num92++; + this.link_num93++; + this.link_num94++; + this.link_num95++; + this.link_num96++; + this.link_num97++; + this.link_num98++; + this.link_num99++; + this.link_num100++; + this.link_num101++; + this.link_num102++; + this.link_num103++; + this.link_num104++; + this.link_num105++; + this.link_num106++; + this.link_num107++; + this.link_num108++; + this.link_num109++; + this.link_num110++; + this.link_num111++; + this.link_num112++; + this.link_num113++; + this.link_num114++; + this.link_num115++; + this.link_num116++; + this.link_num117++; + this.link_num118++; + this.link_num119++; + this.link_num120++; + this.link_num121++; + this.link_num122++; + this.link_num123++; + this.link_num124++; + this.link_num125++; + this.link_num126++; + this.link_num127++; + this.link_num128++; + this.link_num129++; + this.link_num130++; + this.link_num131++; + this.link_num132++; + this.link_num133++; + this.link_num134++; + this.link_num135++; + this.link_num136++; + this.link_num137++; + this.link_num138++; + this.link_num139++; + this.link_num140++; + this.link_num141++; + this.link_num142++; + this.link_num143++; + this.link_num144++; + this.link_num145++; + this.link_num146++; + this.link_num147++; + this.link_num148++; + this.link_num149++; + this.link_num150++; + this.link_num151++; + this.link_num152++; + this.link_num153++; + this.link_num154++; + this.link_num155++; + this.link_num156++; + this.link_num157++; + this.link_num158++; + this.link_num159++; + this.link_num160++; + this.link_num161++; + this.link_num162++; + this.link_num163++; + this.link_num164++; + this.link_num165++; + this.link_num166++; + this.link_num167++; + this.link_num168++; + this.link_num169++; + this.link_num170++; + this.link_num171++; + this.link_num172++; + this.link_num173++; + this.link_num174++; + this.link_num175++; + this.link_num176++; + this.link_num177++; + this.link_num178++; + this.link_num179++; + this.link_num180++; + this.link_num181++; + this.link_num182++; + this.link_num183++; + this.link_num184++; + this.link_num185++; + this.link_num186++; + this.link_num187++; + this.link_num188++; + this.link_num189++; + this.link_num190++; + this.link_num191++; + this.link_num192++; + this.link_num193++; + this.link_num194++; + this.link_num195++; + this.link_num196++; + this.link_num197++; + this.link_num198++; + this.link_num199++; + this.link_num200++; + this.link_num201++; + this.link_num202++; + this.link_num203++; + this.link_num204++; + this.link_num205++; + this.link_num206++; + this.link_num207++; + this.link_num208++; + this.link_num209++; + this.link_num210++; + this.link_num211++; + this.link_num212++; + this.link_num213++; + this.link_num214++; + this.link_num215++; + this.link_num216++; + this.link_num217++; + this.link_num218++; + this.link_num219++; + this.link_num220++; + this.link_num221++; + this.link_num222++; + this.link_num223++; + this.link_num224++; + this.link_num225++; + this.link_num226++; + this.link_num227++; + this.link_num228++; + this.link_num229++; + this.link_num230++; + this.link_num231++; + this.link_num232++; + this.link_num233++; + this.link_num234++; + this.link_num235++; + this.link_num236++; + this.link_num237++; + this.link_num238++; + this.link_num239++; + this.link_num240++; + this.link_num241++; + this.link_num242++; + this.link_num243++; + this.link_num244++; + this.link_num245++; + this.link_num246++; + this.link_num247++; + this.link_num248++; + this.link_num249++; + this.link_num250++; + this.link_num251++; + this.link_num252++; + this.link_num253++; + this.link_num254++; + this.link_num255++; + this.link_num256++; + this.link_num257++; + this.link_num258++; + this.link_num259++; + this.link_num260++; + this.link_num261++; + this.link_num262++; + this.link_num263++; + this.link_num264++; + this.link_num265++; + this.link_num266++; + this.link_num267++; + this.link_num268++; + this.link_num269++; + this.link_num270++; + this.link_num271++; + this.link_num272++; + this.link_num273++; + this.link_num274++; + this.link_num275++; + this.link_num276++; + this.link_num277++; + this.link_num278++; + this.link_num279++; + this.link_num280++; + this.link_num281++; + this.link_num282++; + this.link_num283++; + this.link_num284++; + this.link_num285++; + this.link_num286++; + this.link_num287++; + this.link_num288++; + this.link_num289++; + this.link_num290++; + this.link_num291++; + this.link_num292++; + this.link_num293++; + this.link_num294++; + this.link_num295++; + this.link_num296++; + this.link_num297++; + this.link_num298++; + this.link_num299++; + this.link_num300++; + this.link_num301++; + this.link_num302++; + this.link_num303++; + this.link_num304++; + this.link_num305++; + this.link_num306++; + this.link_num307++; + this.link_num308++; + this.link_num309++; + this.link_num310++; + this.link_num311++; + this.link_num312++; + this.link_num313++; + this.link_num314++; + this.link_num315++; + this.link_num316++; + this.link_num317++; + this.link_num318++; + this.link_num319++; + this.link_num320++; + this.link_num321++; + this.link_num322++; + this.link_num323++; + this.link_num324++; + this.link_num325++; + this.link_num326++; + this.link_num327++; + this.link_num328++; + this.link_num329++; + this.link_num330++; + this.link_num331++; + this.link_num332++; + + }) + } + } +} + +@Component +struct ConsumeVariables { + @Consume consume_num0: number; + @Consume consume_num1: number; + @Consume consume_num2: number; + @Consume consume_num3: number; + @Consume consume_num4: number; + @Consume consume_num5: number; + @Consume consume_num6: number; + @Consume consume_num7: number; + @Consume consume_num8: number; + @Consume consume_num9: number; + @Consume consume_num10: number; + @Consume consume_num11: number; + @Consume consume_num12: number; + @Consume consume_num13: number; + @Consume consume_num14: number; + @Consume consume_num15: number; + @Consume consume_num16: number; + @Consume consume_num17: number; + @Consume consume_num18: number; + @Consume consume_num19: number; + @Consume consume_num20: number; + @Consume consume_num21: number; + @Consume consume_num22: number; + @Consume consume_num23: number; + @Consume consume_num24: number; + @Consume consume_num25: number; + @Consume consume_num26: number; + @Consume consume_num27: number; + @Consume consume_num28: number; + @Consume consume_num29: number; + @Consume consume_num30: number; + @Consume consume_num31: number; + @Consume consume_num32: number; + @Consume consume_num33: number; + @Consume consume_num34: number; + @Consume consume_num35: number; + @Consume consume_num36: number; + @Consume consume_num37: number; + @Consume consume_num38: number; + @Consume consume_num39: number; + @Consume consume_num40: number; + @Consume consume_num41: number; + @Consume consume_num42: number; + @Consume consume_num43: number; + @Consume consume_num44: number; + @Consume consume_num45: number; + @Consume consume_num46: number; + @Consume consume_num47: number; + @Consume consume_num48: number; + @Consume consume_num49: number; + @Consume consume_num50: number; + @Consume consume_num51: number; + @Consume consume_num52: number; + @Consume consume_num53: number; + @Consume consume_num54: number; + @Consume consume_num55: number; + @Consume consume_num56: number; + @Consume consume_num57: number; + @Consume consume_num58: number; + @Consume consume_num59: number; + @Consume consume_num60: number; + @Consume consume_num61: number; + @Consume consume_num62: number; + @Consume consume_num63: number; + @Consume consume_num64: number; + @Consume consume_num65: number; + @Consume consume_num66: number; + @Consume consume_num67: number; + @Consume consume_num68: number; + @Consume consume_num69: number; + @Consume consume_num70: number; + @Consume consume_num71: number; + @Consume consume_num72: number; + @Consume consume_num73: number; + @Consume consume_num74: number; + @Consume consume_num75: number; + @Consume consume_num76: number; + @Consume consume_num77: number; + @Consume consume_num78: number; + @Consume consume_num79: number; + @Consume consume_num80: number; + @Consume consume_num81: number; + @Consume consume_num82: number; + @Consume consume_num83: number; + @Consume consume_num84: number; + @Consume consume_num85: number; + @Consume consume_num86: number; + @Consume consume_num87: number; + @Consume consume_num88: number; + @Consume consume_num89: number; + @Consume consume_num90: number; + @Consume consume_num91: number; + @Consume consume_num92: number; + @Consume consume_num93: number; + @Consume consume_num94: number; + @Consume consume_num95: number; + @Consume consume_num96: number; + @Consume consume_num97: number; + @Consume consume_num98: number; + @Consume consume_num99: number; + @Consume consume_num100: number; + @Consume consume_num101: number; + @Consume consume_num102: number; + @Consume consume_num103: number; + @Consume consume_num104: number; + @Consume consume_num105: number; + @Consume consume_num106: number; + @Consume consume_num107: number; + @Consume consume_num108: number; + @Consume consume_num109: number; + @Consume consume_num110: number; + @Consume consume_num111: number; + @Consume consume_num112: number; + @Consume consume_num113: number; + @Consume consume_num114: number; + @Consume consume_num115: number; + @Consume consume_num116: number; + @Consume consume_num117: number; + @Consume consume_num118: number; + @Consume consume_num119: number; + @Consume consume_num120: number; + @Consume consume_num121: number; + @Consume consume_num122: number; + @Consume consume_num123: number; + @Consume consume_num124: number; + @Consume consume_num125: number; + @Consume consume_num126: number; + @Consume consume_num127: number; + @Consume consume_num128: number; + @Consume consume_num129: number; + @Consume consume_num130: number; + @Consume consume_num131: number; + @Consume consume_num132: number; + @Consume consume_num133: number; + @Consume consume_num134: number; + @Consume consume_num135: number; + @Consume consume_num136: number; + @Consume consume_num137: number; + @Consume consume_num138: number; + @Consume consume_num139: number; + @Consume consume_num140: number; + @Consume consume_num141: number; + @Consume consume_num142: number; + @Consume consume_num143: number; + @Consume consume_num144: number; + @Consume consume_num145: number; + @Consume consume_num146: number; + @Consume consume_num147: number; + @Consume consume_num148: number; + @Consume consume_num149: number; + @Consume consume_num150: number; + @Consume consume_num151: number; + @Consume consume_num152: number; + @Consume consume_num153: number; + @Consume consume_num154: number; + @Consume consume_num155: number; + @Consume consume_num156: number; + @Consume consume_num157: number; + @Consume consume_num158: number; + @Consume consume_num159: number; + @Consume consume_num160: number; + @Consume consume_num161: number; + @Consume consume_num162: number; + @Consume consume_num163: number; + @Consume consume_num164: number; + @Consume consume_num165: number; + @Consume consume_num166: number; + @Consume consume_num167: number; + @Consume consume_num168: number; + @Consume consume_num169: number; + @Consume consume_num170: number; + @Consume consume_num171: number; + @Consume consume_num172: number; + @Consume consume_num173: number; + @Consume consume_num174: number; + @Consume consume_num175: number; + @Consume consume_num176: number; + @Consume consume_num177: number; + @Consume consume_num178: number; + @Consume consume_num179: number; + @Consume consume_num180: number; + @Consume consume_num181: number; + @Consume consume_num182: number; + @Consume consume_num183: number; + @Consume consume_num184: number; + @Consume consume_num185: number; + @Consume consume_num186: number; + @Consume consume_num187: number; + @Consume consume_num188: number; + @Consume consume_num189: number; + @Consume consume_num190: number; + @Consume consume_num191: number; + @Consume consume_num192: number; + @Consume consume_num193: number; + @Consume consume_num194: number; + @Consume consume_num195: number; + @Consume consume_num196: number; + @Consume consume_num197: number; + @Consume consume_num198: number; + @Consume consume_num199: number; + @Consume consume_num200: number; + @Consume consume_num201: number; + @Consume consume_num202: number; + @Consume consume_num203: number; + @Consume consume_num204: number; + @Consume consume_num205: number; + @Consume consume_num206: number; + @Consume consume_num207: number; + @Consume consume_num208: number; + @Consume consume_num209: number; + @Consume consume_num210: number; + @Consume consume_num211: number; + @Consume consume_num212: number; + @Consume consume_num213: number; + @Consume consume_num214: number; + @Consume consume_num215: number; + @Consume consume_num216: number; + @Consume consume_num217: number; + @Consume consume_num218: number; + @Consume consume_num219: number; + @Consume consume_num220: number; + @Consume consume_num221: number; + @Consume consume_num222: number; + @Consume consume_num223: number; + @Consume consume_num224: number; + @Consume consume_num225: number; + @Consume consume_num226: number; + @Consume consume_num227: number; + @Consume consume_num228: number; + @Consume consume_num229: number; + @Consume consume_num230: number; + @Consume consume_num231: number; + @Consume consume_num232: number; + @Consume consume_num233: number; + @Consume consume_num234: number; + @Consume consume_num235: number; + @Consume consume_num236: number; + @Consume consume_num237: number; + @Consume consume_num238: number; + @Consume consume_num239: number; + @Consume consume_num240: number; + @Consume consume_num241: number; + @Consume consume_num242: number; + @Consume consume_num243: number; + @Consume consume_num244: number; + @Consume consume_num245: number; + @Consume consume_num246: number; + @Consume consume_num247: number; + @Consume consume_num248: number; + @Consume consume_num249: number; + @Consume consume_num250: number; + @Consume consume_num251: number; + @Consume consume_num252: number; + @Consume consume_num253: number; + @Consume consume_num254: number; + @Consume consume_num255: number; + @Consume consume_num256: number; + @Consume consume_num257: number; + @Consume consume_num258: number; + @Consume consume_num259: number; + @Consume consume_num260: number; + @Consume consume_num261: number; + @Consume consume_num262: number; + @Consume consume_num263: number; + @Consume consume_num264: number; + @Consume consume_num265: number; + @Consume consume_num266: number; + @Consume consume_num267: number; + @Consume consume_num268: number; + @Consume consume_num269: number; + @Consume consume_num270: number; + @Consume consume_num271: number; + @Consume consume_num272: number; + @Consume consume_num273: number; + @Consume consume_num274: number; + @Consume consume_num275: number; + @Consume consume_num276: number; + @Consume consume_num277: number; + @Consume consume_num278: number; + @Consume consume_num279: number; + @Consume consume_num280: number; + @Consume consume_num281: number; + @Consume consume_num282: number; + @Consume consume_num283: number; + @Consume consume_num284: number; + @Consume consume_num285: number; + @Consume consume_num286: number; + @Consume consume_num287: number; + @Consume consume_num288: number; + @Consume consume_num289: number; + @Consume consume_num290: number; + @Consume consume_num291: number; + @Consume consume_num292: number; + @Consume consume_num293: number; + @Consume consume_num294: number; + @Consume consume_num295: number; + @Consume consume_num296: number; + @Consume consume_num297: number; + @Consume consume_num298: number; + @Consume consume_num299: number; + @Consume consume_num300: number; + @Consume consume_num301: number; + @Consume consume_num302: number; + @Consume consume_num303: number; + @Consume consume_num304: number; + @Consume consume_num305: number; + @Consume consume_num306: number; + @Consume consume_num307: number; + @Consume consume_num308: number; + @Consume consume_num309: number; + @Consume consume_num310: number; + @Consume consume_num311: number; + @Consume consume_num312: number; + @Consume consume_num313: number; + @Consume consume_num314: number; + @Consume consume_num315: number; + @Consume consume_num316: number; + @Consume consume_num317: number; + @Consume consume_num318: number; + @Consume consume_num319: number; + @Consume consume_num320: number; + @Consume consume_num321: number; + @Consume consume_num322: number; + @Consume consume_num323: number; + @Consume consume_num324: number; + @Consume consume_num325: number; + @Consume consume_num326: number; + @Consume consume_num327: number; + @Consume consume_num328: number; + @Consume consume_num329: number; + @Consume consume_num330: number; + @Consume consume_num331: number; + @Consume consume_num332: number; + + + //============================================================================= + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.consume_num0++; + this.consume_num1++; + this.consume_num2++; + this.consume_num3++; + this.consume_num4++; + this.consume_num5++; + this.consume_num6++; + this.consume_num7++; + this.consume_num8++; + this.consume_num9++; + this.consume_num10++; + this.consume_num11++; + this.consume_num12++; + this.consume_num13++; + this.consume_num14++; + this.consume_num15++; + this.consume_num16++; + this.consume_num17++; + this.consume_num18++; + this.consume_num19++; + this.consume_num20++; + this.consume_num21++; + this.consume_num22++; + this.consume_num23++; + this.consume_num24++; + this.consume_num25++; + this.consume_num26++; + this.consume_num27++; + this.consume_num28++; + this.consume_num29++; + this.consume_num30++; + this.consume_num31++; + this.consume_num32++; + this.consume_num33++; + this.consume_num34++; + this.consume_num35++; + this.consume_num36++; + this.consume_num37++; + this.consume_num38++; + this.consume_num39++; + this.consume_num40++; + this.consume_num41++; + this.consume_num42++; + this.consume_num43++; + this.consume_num44++; + this.consume_num45++; + this.consume_num46++; + this.consume_num47++; + this.consume_num48++; + this.consume_num49++; + this.consume_num50++; + this.consume_num51++; + this.consume_num52++; + this.consume_num53++; + this.consume_num54++; + this.consume_num55++; + this.consume_num56++; + this.consume_num57++; + this.consume_num58++; + this.consume_num59++; + this.consume_num60++; + this.consume_num61++; + this.consume_num62++; + this.consume_num63++; + this.consume_num64++; + this.consume_num65++; + this.consume_num66++; + this.consume_num67++; + this.consume_num68++; + this.consume_num69++; + this.consume_num70++; + this.consume_num71++; + this.consume_num72++; + this.consume_num73++; + this.consume_num74++; + this.consume_num75++; + this.consume_num76++; + this.consume_num77++; + this.consume_num78++; + this.consume_num79++; + this.consume_num80++; + this.consume_num81++; + this.consume_num82++; + this.consume_num83++; + this.consume_num84++; + this.consume_num85++; + this.consume_num86++; + this.consume_num87++; + this.consume_num88++; + this.consume_num89++; + this.consume_num90++; + this.consume_num91++; + this.consume_num92++; + this.consume_num93++; + this.consume_num94++; + this.consume_num95++; + this.consume_num96++; + this.consume_num97++; + this.consume_num98++; + this.consume_num99++; + this.consume_num100++; + this.consume_num101++; + this.consume_num102++; + this.consume_num103++; + this.consume_num104++; + this.consume_num105++; + this.consume_num106++; + this.consume_num107++; + this.consume_num108++; + this.consume_num109++; + this.consume_num110++; + this.consume_num111++; + this.consume_num112++; + this.consume_num113++; + this.consume_num114++; + this.consume_num115++; + this.consume_num116++; + this.consume_num117++; + this.consume_num118++; + this.consume_num119++; + this.consume_num120++; + this.consume_num121++; + this.consume_num122++; + this.consume_num123++; + this.consume_num124++; + this.consume_num125++; + this.consume_num126++; + this.consume_num127++; + this.consume_num128++; + this.consume_num129++; + this.consume_num130++; + this.consume_num131++; + this.consume_num132++; + this.consume_num133++; + this.consume_num134++; + this.consume_num135++; + this.consume_num136++; + this.consume_num137++; + this.consume_num138++; + this.consume_num139++; + this.consume_num140++; + this.consume_num141++; + this.consume_num142++; + this.consume_num143++; + this.consume_num144++; + this.consume_num145++; + this.consume_num146++; + this.consume_num147++; + this.consume_num148++; + this.consume_num149++; + this.consume_num150++; + this.consume_num151++; + this.consume_num152++; + this.consume_num153++; + this.consume_num154++; + this.consume_num155++; + this.consume_num156++; + this.consume_num157++; + this.consume_num158++; + this.consume_num159++; + this.consume_num160++; + this.consume_num161++; + this.consume_num162++; + this.consume_num163++; + this.consume_num164++; + this.consume_num165++; + this.consume_num166++; + this.consume_num167++; + this.consume_num168++; + this.consume_num169++; + this.consume_num170++; + this.consume_num171++; + this.consume_num172++; + this.consume_num173++; + this.consume_num174++; + this.consume_num175++; + this.consume_num176++; + this.consume_num177++; + this.consume_num178++; + this.consume_num179++; + this.consume_num180++; + this.consume_num181++; + this.consume_num182++; + this.consume_num183++; + this.consume_num184++; + this.consume_num185++; + this.consume_num186++; + this.consume_num187++; + this.consume_num188++; + this.consume_num189++; + this.consume_num190++; + this.consume_num191++; + this.consume_num192++; + this.consume_num193++; + this.consume_num194++; + this.consume_num195++; + this.consume_num196++; + this.consume_num197++; + this.consume_num198++; + this.consume_num199++; + this.consume_num200++; + this.consume_num201++; + this.consume_num202++; + this.consume_num203++; + this.consume_num204++; + this.consume_num205++; + this.consume_num206++; + this.consume_num207++; + this.consume_num208++; + this.consume_num209++; + this.consume_num210++; + this.consume_num211++; + this.consume_num212++; + this.consume_num213++; + this.consume_num214++; + this.consume_num215++; + this.consume_num216++; + this.consume_num217++; + this.consume_num218++; + this.consume_num219++; + this.consume_num220++; + this.consume_num221++; + this.consume_num222++; + this.consume_num223++; + this.consume_num224++; + this.consume_num225++; + this.consume_num226++; + this.consume_num227++; + this.consume_num228++; + this.consume_num229++; + this.consume_num230++; + this.consume_num231++; + this.consume_num232++; + this.consume_num233++; + this.consume_num234++; + this.consume_num235++; + this.consume_num236++; + this.consume_num237++; + this.consume_num238++; + this.consume_num239++; + this.consume_num240++; + this.consume_num241++; + this.consume_num242++; + this.consume_num243++; + this.consume_num244++; + this.consume_num245++; + this.consume_num246++; + this.consume_num247++; + this.consume_num248++; + this.consume_num249++; + this.consume_num250++; + this.consume_num251++; + this.consume_num252++; + this.consume_num253++; + this.consume_num254++; + this.consume_num255++; + this.consume_num256++; + this.consume_num257++; + this.consume_num258++; + this.consume_num259++; + this.consume_num260++; + this.consume_num261++; + this.consume_num262++; + this.consume_num263++; + this.consume_num264++; + this.consume_num265++; + this.consume_num266++; + this.consume_num267++; + this.consume_num268++; + this.consume_num269++; + this.consume_num270++; + this.consume_num271++; + this.consume_num272++; + this.consume_num273++; + this.consume_num274++; + this.consume_num275++; + this.consume_num276++; + this.consume_num277++; + this.consume_num278++; + this.consume_num279++; + this.consume_num280++; + this.consume_num281++; + this.consume_num282++; + this.consume_num283++; + this.consume_num284++; + this.consume_num285++; + this.consume_num286++; + this.consume_num287++; + this.consume_num288++; + this.consume_num289++; + this.consume_num290++; + this.consume_num291++; + this.consume_num292++; + this.consume_num293++; + this.consume_num294++; + this.consume_num295++; + this.consume_num296++; + this.consume_num297++; + this.consume_num298++; + this.consume_num299++; + this.consume_num300++; + this.consume_num301++; + this.consume_num302++; + this.consume_num303++; + this.consume_num304++; + this.consume_num305++; + this.consume_num306++; + this.consume_num307++; + this.consume_num308++; + this.consume_num309++; + this.consume_num310++; + this.consume_num311++; + this.consume_num312++; + this.consume_num313++; + this.consume_num314++; + this.consume_num315++; + this.consume_num316++; + this.consume_num317++; + this.consume_num318++; + this.consume_num319++; + this.consume_num320++; + this.consume_num321++; + this.consume_num322++; + this.consume_num323++; + this.consume_num324++; + this.consume_num325++; + this.consume_num326++; + this.consume_num327++; + this.consume_num328++; + this.consume_num329++; + this.consume_num330++; + this.consume_num331++; + this.consume_num332++; + + }) + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/builtinComponents.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/builtinComponents.ets new file mode 100644 index 0000000000000000000000000000000000000000..273556265a4496e0c5b0336b03a3ec41f6efbc19 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/builtinComponents.ets @@ -0,0 +1,22660 @@ + +/** + * 内置组件 builtinComponents.ets + */ + +import { memo } from "@ohos.arkui" + +import { Text, TextAttribute, Column, Component, Button, ButtonAttribute, ClickEvent, + UserView, Image, Slider, Toggle, DatePicker, Progress, TextInput, Row, List, Tabs, + FontWeight, ButtonType, SliderStyle, ToggleType, Color, $r, BarPosition, TabContent, + ProgressType, Checkbox, ForEach, SliderChangeMode, ListItem, TextAlign, EnterKeyType, + SubmitEvent, EditableTextOnChangeCallback, Callback, FontStyle, OnCheckboxChangeCallback, + ImageFit, ImageSourceSize } from "@ohos.arkui" + +import { State } from "@ohos.arkui" + +@Component +struct BuiltinComponents { + @State message: string = 'Hello ArkTS' + @State sliderValue: number = 50 + @State toggleValue: boolean = false + @State pickerValue: string = 'Option1' + @State dateValue: Date = new Date() + @State progressValue: number = 0.3 + @State textValue: string = '' + @State radioValue: string = 'Radio1' + @State checkboxValues: boolean[] = [false, false, false] + @State indexValue: number = 0 + + build() { + Column() { + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + // 1. 文本组件 + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontColor(Color.Blue) + .fontStyle(FontStyle.NORMAL) + .draggable(true) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + + // 2. 按钮组件 + Button('Click Me') + .width(200) + .height(50) + .type(ButtonType.Capsule) + .onClick((e:ClickEvent) => { + this.message = 'Button clicked!' + }) + + // 3. 图片组件 + Image($r('app.media.startIcon')) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + .objectFit(ImageFit.Contain) + .borderRadius(50) + + // 4. 滑动条组件 + Slider({ + value: this.sliderValue, + min: 0, + max: 100, + step: 1, + style: SliderStyle.OutSet + }) + .width('90%') + .onChange((value: Double, mode: SliderChangeMode) => { + this.sliderValue = value + }) + + // 5. 开关组件 + Toggle({ type: ToggleType.Switch, isOn: this.toggleValue }) + .width(100) + .height(40) + .padding(15) + .selectedColor(Color.Green) + .onChange((isOn: boolean) => { + this.toggleValue = isOn + }) + + // 6. 日期选择器 + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2030-12-31'), + selected: this.dateValue + }) + .width('90%') + .onDateChange((value: Date) => { + this.dateValue = value + } as Callback) + + // 7. 进度条 + Progress({ + value: this.progressValue, + total: 1.0, + type: ProgressType.Linear + }) + .width('90%') + .height(100) + + // 8. 输入框 + TextInput({ placeholder: 'Enter text' }) + .width('90%') + .height(50) + .onChange((value: string) => { + this.textValue = value + } as EditableTextOnChangeCallback) + + // 9. 复选框 + Row() { + Checkbox() + .select(this.checkboxValues[0]) + .onChange((value: boolean) => { + this.checkboxValues[0] = value + } as OnCheckboxChangeCallback) + Checkbox() + .select(this.checkboxValues[1]) + .onChange((value: boolean) => { + this.checkboxValues[1] = value + } as OnCheckboxChangeCallback) + } + + // 10. 列表组件 + List({}) { + ForEach([1, 2, 3, 4, 5], (item: Int) => { + ListItem() { + Text(`Item ${item}`) + .width('100%') + .textAlign(TextAlign.Center) + } + .width('100%') + .height(60) + .backgroundColor('#f0f0f0') + }) + } + .width('100%') + .height(200) + + // 11. 页签组件 + Tabs({ barPosition: BarPosition.Start }) { + TabContent() { + Text('Tab1 Content').fontSize(20) + }.tabBar('Tab1') + + TabContent() { + Text('Tab2 Content') + .fontSize(20) + }.tabBar('Tab2') + } + .width('100%') + .height(150) + + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/customComponents.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/customComponents.ets new file mode 100644 index 0000000000000000000000000000000000000000..e6a7a898fc0d9cf2a2c401b5fc3528202681503f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/customComponents.ets @@ -0,0 +1,36016 @@ + +/** + * 自定义组件 customComponents.ets + */ + +import { State } from "@ohos.arkui.components" +import { Component, Column, ClickEvent, FontWeight, Text } from "@ohos.arkui.components" + +@Component +struct CustomComponentsMain { + build() { + Component0() + Component1() + Component2() + Component3() + Component4() + Component5() + Component6() + Component7() + Component8() + Component9() + Component10() + Component11() + Component12() + Component13() + Component14() + Component15() + Component16() + Component17() + Component18() + Component19() + Component20() + Component21() + Component22() + Component23() + Component24() + Component25() + Component26() + Component27() + Component28() + Component29() + Component30() + Component31() + Component32() + Component33() + Component34() + Component35() + Component36() + Component37() + Component38() + Component39() + Component40() + Component41() + Component42() + Component43() + Component44() + Component45() + Component46() + Component47() + Component48() + Component49() + Component50() + Component51() + Component52() + Component53() + Component54() + Component55() + Component56() + Component57() + Component58() + Component59() + Component60() + Component61() + Component62() + Component63() + Component64() + Component65() + Component66() + Component67() + Component68() + Component69() + Component70() + Component71() + Component72() + Component73() + Component74() + Component75() + Component76() + Component77() + Component78() + Component79() + Component80() + Component81() + Component82() + Component83() + Component84() + Component85() + Component86() + Component87() + Component88() + Component89() + Component90() + Component91() + Component92() + Component93() + Component94() + Component95() + Component96() + Component97() + Component98() + Component99() + Component100() + Component101() + Component102() + Component103() + Component104() + Component105() + Component106() + Component107() + Component108() + Component109() + Component110() + Component111() + Component112() + Component113() + Component114() + Component115() + Component116() + Component117() + Component118() + Component119() + Component120() + Component121() + Component122() + Component123() + Component124() + Component125() + Component126() + Component127() + Component128() + Component129() + Component130() + Component131() + Component132() + Component133() + Component134() + Component135() + Component136() + Component137() + Component138() + Component139() + Component140() + Component141() + Component142() + Component143() + Component144() + Component145() + Component146() + Component147() + Component148() + Component149() + Component150() + Component151() + Component152() + Component153() + Component154() + Component155() + Component156() + Component157() + Component158() + Component159() + Component160() + Component161() + Component162() + Component163() + Component164() + Component165() + Component166() + Component167() + Component168() + Component169() + Component170() + Component171() + Component172() + Component173() + Component174() + Component175() + Component176() + Component177() + Component178() + Component179() + Component180() + Component181() + Component182() + Component183() + Component184() + Component185() + Component186() + Component187() + Component188() + Component189() + Component190() + Component191() + Component192() + Component193() + Component194() + Component195() + Component196() + Component197() + Component198() + Component199() + Component200() + Component201() + Component202() + Component203() + Component204() + Component205() + Component206() + Component207() + Component208() + Component209() + Component210() + Component211() + Component212() + Component213() + Component214() + Component215() + Component216() + Component217() + Component218() + Component219() + Component220() + Component221() + Component222() + Component223() + Component224() + Component225() + Component226() + Component227() + Component228() + Component229() + Component230() + Component231() + Component232() + Component233() + Component234() + Component235() + Component236() + Component237() + Component238() + Component239() + Component240() + Component241() + Component242() + Component243() + Component244() + Component245() + Component246() + Component247() + Component248() + Component249() + Component250() + Component251() + Component252() + Component253() + Component254() + Component255() + Component256() + Component257() + Component258() + Component259() + Component260() + Component261() + Component262() + Component263() + Component264() + Component265() + Component266() + Component267() + Component268() + Component269() + Component270() + Component271() + Component272() + Component273() + Component274() + Component275() + Component276() + Component277() + Component278() + Component279() + Component280() + Component281() + Component282() + Component283() + Component284() + Component285() + Component286() + Component287() + Component288() + Component289() + Component290() + Component291() + Component292() + Component293() + Component294() + Component295() + Component296() + Component297() + Component298() + Component299() + Component300() + Component301() + Component302() + Component303() + Component304() + Component305() + Component306() + Component307() + Component308() + Component309() + Component310() + Component311() + Component312() + Component313() + Component314() + Component315() + Component316() + Component317() + Component318() + Component319() + Component320() + Component321() + Component322() + Component323() + Component324() + Component325() + Component326() + Component327() + Component328() + Component329() + Component330() + Component331() + Component332() + Component333() + Component334() + Component335() + Component336() + Component337() + Component338() + Component339() + Component340() + Component341() + Component342() + Component343() + Component344() + Component345() + Component346() + Component347() + Component348() + Component349() + Component350() + Component351() + Component352() + Component353() + Component354() + Component355() + Component356() + Component357() + Component358() + Component359() + Component360() + Component361() + Component362() + Component363() + Component364() + Component365() + Component366() + Component367() + Component368() + Component369() + Component370() + Component371() + Component372() + Component373() + Component374() + Component375() + Component376() + Component377() + Component378() + Component379() + Component380() + Component381() + Component382() + Component383() + Component384() + Component385() + Component386() + Component387() + Component388() + Component389() + Component390() + Component391() + Component392() + Component393() + Component394() + Component395() + Component396() + Component397() + Component398() + Component399() + Component400() + Component401() + Component402() + Component403() + Component404() + Component405() + Component406() + Component407() + Component408() + Component409() + Component410() + Component411() + Component412() + Component413() + Component414() + Component415() + Component416() + Component417() + Component418() + Component419() + Component420() + Component421() + Component422() + Component423() + Component424() + Component425() + Component426() + Component427() + Component428() + Component429() + Component430() + Component431() + Component432() + Component433() + Component434() + Component435() + Component436() + Component437() + Component438() + Component439() + Component440() + Component441() + Component442() + Component443() + Component444() + Component445() + Component446() + Component447() + Component448() + Component449() + Component450() + Component451() + Component452() + Component453() + Component454() + Component455() + Component456() + Component457() + Component458() + Component459() + Component460() + Component461() + Component462() + Component463() + Component464() + Component465() + Component466() + Component467() + Component468() + Component469() + Component470() + Component471() + Component472() + Component473() + Component474() + Component475() + Component476() + Component477() + Component478() + Component479() + Component480() + Component481() + Component482() + Component483() + Component484() + Component485() + Component486() + Component487() + Component488() + Component489() + Component490() + Component491() + Component492() + Component493() + Component494() + Component495() + Component496() + Component497() + Component498() + Component499() + Component500() + Component501() + Component502() + Component503() + Component504() + Component505() + Component506() + Component507() + Component508() + Component509() + Component510() + Component511() + Component512() + Component513() + Component514() + Component515() + Component516() + Component517() + Component518() + Component519() + Component520() + Component521() + Component522() + Component523() + Component524() + Component525() + Component526() + Component527() + Component528() + Component529() + Component530() + Component531() + Component532() + Component533() + Component534() + Component535() + Component536() + Component537() + Component538() + Component539() + Component540() + Component541() + Component542() + Component543() + Component544() + Component545() + Component546() + Component547() + Component548() + Component549() + Component550() + Component551() + Component552() + Component553() + Component554() + Component555() + Component556() + Component557() + Component558() + Component559() + Component560() + Component561() + Component562() + Component563() + Component564() + Component565() + Component566() + Component567() + Component568() + Component569() + Component570() + Component571() + Component572() + Component573() + Component574() + Component575() + Component576() + Component577() + Component578() + Component579() + Component580() + Component581() + Component582() + Component583() + Component584() + Component585() + Component586() + Component587() + Component588() + Component589() + Component590() + Component591() + Component592() + Component593() + Component594() + Component595() + Component596() + Component597() + Component598() + Component599() + Component600() + Component601() + Component602() + Component603() + Component604() + Component605() + Component606() + Component607() + Component608() + Component609() + Component610() + Component611() + Component612() + Component613() + Component614() + Component615() + Component616() + Component617() + Component618() + Component619() + Component620() + Component621() + Component622() + Component623() + Component624() + Component625() + Component626() + Component627() + Component628() + Component629() + Component630() + Component631() + Component632() + Component633() + Component634() + Component635() + Component636() + Component637() + Component638() + Component639() + Component640() + Component641() + Component642() + Component643() + Component644() + Component645() + Component646() + Component647() + Component648() + Component649() + Component650() + Component651() + Component652() + Component653() + Component654() + Component655() + Component656() + Component657() + Component658() + Component659() + Component660() + Component661() + Component662() + Component663() + Component664() + Component665() + Component666() + Component667() + Component668() + Component669() + Component670() + Component671() + Component672() + Component673() + Component674() + Component675() + Component676() + Component677() + Component678() + Component679() + Component680() + Component681() + Component682() + Component683() + Component684() + Component685() + Component686() + Component687() + Component688() + Component689() + Component690() + Component691() + Component692() + Component693() + Component694() + Component695() + Component696() + Component697() + Component698() + Component699() + Component700() + Component701() + Component702() + Component703() + Component704() + Component705() + Component706() + Component707() + Component708() + Component709() + Component710() + Component711() + Component712() + Component713() + Component714() + Component715() + Component716() + Component717() + Component718() + Component719() + Component720() + Component721() + Component722() + Component723() + Component724() + Component725() + Component726() + Component727() + Component728() + Component729() + Component730() + Component731() + Component732() + Component733() + Component734() + Component735() + Component736() + Component737() + Component738() + Component739() + Component740() + Component741() + Component742() + Component743() + Component744() + Component745() + Component746() + Component747() + Component748() + Component749() + Component750() + Component751() + Component752() + Component753() + Component754() + Component755() + Component756() + Component757() + Component758() + Component759() + Component760() + Component761() + Component762() + Component763() + Component764() + Component765() + Component766() + Component767() + Component768() + Component769() + Component770() + Component771() + Component772() + Component773() + Component774() + Component775() + Component776() + Component777() + Component778() + Component779() + Component780() + Component781() + Component782() + Component783() + Component784() + Component785() + Component786() + Component787() + Component788() + Component789() + Component790() + Component791() + Component792() + Component793() + Component794() + Component795() + Component796() + Component797() + Component798() + Component799() + Component800() + Component801() + Component802() + Component803() + Component804() + Component805() + Component806() + Component807() + Component808() + Component809() + Component810() + Component811() + Component812() + Component813() + Component814() + Component815() + Component816() + Component817() + Component818() + Component819() + Component820() + Component821() + Component822() + Component823() + Component824() + Component825() + Component826() + Component827() + Component828() + Component829() + Component830() + Component831() + Component832() + Component833() + Component834() + Component835() + Component836() + Component837() + Component838() + Component839() + Component840() + Component841() + Component842() + Component843() + Component844() + Component845() + Component846() + Component847() + Component848() + Component849() + Component850() + Component851() + Component852() + Component853() + Component854() + Component855() + Component856() + Component857() + Component858() + Component859() + Component860() + Component861() + Component862() + Component863() + Component864() + Component865() + Component866() + Component867() + Component868() + Component869() + Component870() + Component871() + Component872() + Component873() + Component874() + Component875() + Component876() + Component877() + Component878() + Component879() + Component880() + Component881() + Component882() + Component883() + Component884() + Component885() + Component886() + Component887() + Component888() + Component889() + Component890() + Component891() + Component892() + Component893() + Component894() + Component895() + Component896() + Component897() + Component898() + Component899() + Component900() + Component901() + Component902() + Component903() + Component904() + Component905() + Component906() + Component907() + Component908() + Component909() + Component910() + Component911() + Component912() + Component913() + Component914() + Component915() + Component916() + Component917() + Component918() + Component919() + Component920() + Component921() + Component922() + Component923() + Component924() + Component925() + Component926() + Component927() + Component928() + Component929() + Component930() + Component931() + Component932() + Component933() + Component934() + Component935() + Component936() + Component937() + Component938() + Component939() + Component940() + Component941() + Component942() + Component943() + Component944() + Component945() + Component946() + Component947() + Component948() + Component949() + Component950() + Component951() + Component952() + Component953() + Component954() + Component955() + Component956() + Component957() + Component958() + Component959() + Component960() + Component961() + Component962() + Component963() + Component964() + Component965() + Component966() + Component967() + Component968() + Component969() + Component970() + Component971() + Component972() + Component973() + Component974() + Component975() + Component976() + Component977() + Component978() + Component979() + Component980() + Component981() + Component982() + Component983() + Component984() + Component985() + Component986() + Component987() + Component988() + Component989() + Component990() + Component991() + Component992() + Component993() + Component994() + Component995() + Component996() + Component997() + Component998() + Component999() + Component1000() + Component1001() + Component1002() + Component1003() + Component1004() + Component1005() + Component1006() + Component1007() + Component1008() + Component1009() + Component1010() + Component1011() + Component1012() + Component1013() + Component1014() + Component1015() + Component1016() + Component1017() + Component1018() + Component1019() + Component1020() + Component1021() + Component1022() + Component1023() + Component1024() + Component1025() + Component1026() + Component1027() + Component1028() + Component1029() + Component1030() + Component1031() + Component1032() + Component1033() + Component1034() + Component1035() + Component1036() + Component1037() + Component1038() + Component1039() + Component1040() + Component1041() + Component1042() + Component1043() + Component1044() + Component1045() + Component1046() + Component1047() + Component1048() + Component1049() + Component1050() + Component1051() + Component1052() + Component1053() + Component1054() + Component1055() + Component1056() + Component1057() + Component1058() + Component1059() + Component1060() + Component1061() + Component1062() + Component1063() + Component1064() + Component1065() + Component1066() + Component1067() + Component1068() + Component1069() + Component1070() + Component1071() + Component1072() + Component1073() + Component1074() + Component1075() + Component1076() + Component1077() + Component1078() + Component1079() + Component1080() + Component1081() + Component1082() + Component1083() + Component1084() + Component1085() + Component1086() + Component1087() + Component1088() + Component1089() + Component1090() + Component1091() + Component1092() + Component1093() + Component1094() + Component1095() + Component1096() + Component1097() + Component1098() + Component1099() + Component1100() + Component1101() + Component1102() + Component1103() + Component1104() + Component1105() + Component1106() + Component1107() + Component1108() + Component1109() + Component1110() + Component1111() + Component1112() + Component1113() + Component1114() + Component1115() + Component1116() + Component1117() + Component1118() + Component1119() + Component1120() + Component1121() + Component1122() + Component1123() + Component1124() + Component1125() + Component1126() + Component1127() + Component1128() + Component1129() + Component1130() + Component1131() + Component1132() + Component1133() + Component1134() + Component1135() + Component1136() + Component1137() + Component1138() + Component1139() + Component1140() + Component1141() + Component1142() + Component1143() + Component1144() + Component1145() + Component1146() + Component1147() + Component1148() + Component1149() + Component1150() + Component1151() + Component1152() + Component1153() + Component1154() + Component1155() + Component1156() + Component1157() + Component1158() + Component1159() + Component1160() + Component1161() + Component1162() + Component1163() + Component1164() + Component1165() + Component1166() + Component1167() + Component1168() + Component1169() + Component1170() + Component1171() + Component1172() + Component1173() + Component1174() + Component1175() + Component1176() + Component1177() + Component1178() + Component1179() + Component1180() + Component1181() + Component1182() + Component1183() + Component1184() + Component1185() + Component1186() + Component1187() + Component1188() + Component1189() + Component1190() + Component1191() + Component1192() + Component1193() + Component1194() + Component1195() + Component1196() + Component1197() + Component1198() + Component1199() + Component1200() + Component1201() + Component1202() + Component1203() + Component1204() + Component1205() + Component1206() + Component1207() + Component1208() + Component1209() + Component1210() + Component1211() + Component1212() + Component1213() + Component1214() + Component1215() + Component1216() + Component1217() + Component1218() + Component1219() + Component1220() + Component1221() + Component1222() + Component1223() + Component1224() + Component1225() + Component1226() + Component1227() + Component1228() + Component1229() + Component1230() + Component1231() + Component1232() + Component1233() + Component1234() + Component1235() + Component1236() + Component1237() + Component1238() + Component1239() + Component1240() + Component1241() + Component1242() + Component1243() + Component1244() + Component1245() + Component1246() + Component1247() + Component1248() + Component1249() + Component1250() + Component1251() + Component1252() + Component1253() + Component1254() + Component1255() + Component1256() + Component1257() + Component1258() + Component1259() + Component1260() + Component1261() + Component1262() + Component1263() + Component1264() + Component1265() + Component1266() + Component1267() + Component1268() + Component1269() + Component1270() + Component1271() + Component1272() + Component1273() + Component1274() + Component1275() + Component1276() + Component1277() + Component1278() + Component1279() + Component1280() + Component1281() + Component1282() + Component1283() + Component1284() + Component1285() + Component1286() + Component1287() + Component1288() + Component1289() + Component1290() + Component1291() + Component1292() + Component1293() + Component1294() + Component1295() + Component1296() + Component1297() + Component1298() + Component1299() + Component1300() + Component1301() + Component1302() + Component1303() + Component1304() + Component1305() + Component1306() + Component1307() + Component1308() + Component1309() + Component1310() + Component1311() + Component1312() + Component1313() + Component1314() + Component1315() + Component1316() + Component1317() + Component1318() + Component1319() + Component1320() + Component1321() + Component1322() + Component1323() + Component1324() + Component1325() + Component1326() + Component1327() + Component1328() + Component1329() + Component1330() + Component1331() + Component1332() + Component1333() + Component1334() + Component1335() + Component1336() + Component1337() + Component1338() + Component1339() + Component1340() + Component1341() + Component1342() + Component1343() + Component1344() + Component1345() + Component1346() + Component1347() + Component1348() + Component1349() + Component1350() + Component1351() + Component1352() + Component1353() + Component1354() + Component1355() + Component1356() + Component1357() + Component1358() + Component1359() + Component1360() + Component1361() + Component1362() + Component1363() + Component1364() + Component1365() + Component1366() + Component1367() + Component1368() + Component1369() + Component1370() + Component1371() + Component1372() + Component1373() + Component1374() + Component1375() + Component1376() + Component1377() + Component1378() + Component1379() + Component1380() + Component1381() + Component1382() + Component1383() + Component1384() + Component1385() + Component1386() + Component1387() + Component1388() + Component1389() + Component1390() + Component1391() + Component1392() + Component1393() + Component1394() + Component1395() + Component1396() + Component1397() + Component1398() + Component1399() + Component1400() + Component1401() + Component1402() + Component1403() + Component1404() + Component1405() + Component1406() + Component1407() + Component1408() + Component1409() + Component1410() + Component1411() + Component1412() + Component1413() + Component1414() + Component1415() + Component1416() + Component1417() + Component1418() + Component1419() + Component1420() + Component1421() + Component1422() + Component1423() + Component1424() + Component1425() + Component1426() + Component1427() + Component1428() + Component1429() + Component1430() + Component1431() + Component1432() + Component1433() + Component1434() + Component1435() + Component1436() + Component1437() + Component1438() + Component1439() + Component1440() + Component1441() + Component1442() + Component1443() + Component1444() + Component1445() + Component1446() + Component1447() + Component1448() + Component1449() + Component1450() + Component1451() + Component1452() + Component1453() + Component1454() + Component1455() + Component1456() + Component1457() + Component1458() + Component1459() + Component1460() + Component1461() + Component1462() + Component1463() + Component1464() + Component1465() + Component1466() + Component1467() + Component1468() + Component1469() + Component1470() + Component1471() + Component1472() + Component1473() + Component1474() + Component1475() + Component1476() + Component1477() + Component1478() + Component1479() + Component1480() + Component1481() + Component1482() + Component1483() + Component1484() + Component1485() + Component1486() + Component1487() + Component1488() + Component1489() + Component1490() + Component1491() + Component1492() + Component1493() + Component1494() + Component1495() + Component1496() + Component1497() + Component1498() + Component1499() + Component1500() + Component1501() + Component1502() + Component1503() + Component1504() + Component1505() + Component1506() + Component1507() + Component1508() + Component1509() + Component1510() + Component1511() + Component1512() + Component1513() + Component1514() + Component1515() + Component1516() + Component1517() + Component1518() + Component1519() + Component1520() + Component1521() + Component1522() + Component1523() + Component1524() + Component1525() + Component1526() + Component1527() + Component1528() + Component1529() + Component1530() + Component1531() + Component1532() + Component1533() + Component1534() + Component1535() + Component1536() + Component1537() + Component1538() + Component1539() + Component1540() + Component1541() + Component1542() + Component1543() + Component1544() + Component1545() + Component1546() + Component1547() + Component1548() + Component1549() + Component1550() + Component1551() + Component1552() + Component1553() + Component1554() + Component1555() + Component1556() + Component1557() + Component1558() + Component1559() + Component1560() + Component1561() + Component1562() + Component1563() + Component1564() + Component1565() + Component1566() + Component1567() + Component1568() + Component1569() + Component1570() + Component1571() + Component1572() + Component1573() + Component1574() + Component1575() + Component1576() + Component1577() + Component1578() + Component1579() + Component1580() + Component1581() + Component1582() + Component1583() + Component1584() + Component1585() + Component1586() + Component1587() + Component1588() + Component1589() + Component1590() + Component1591() + Component1592() + Component1593() + Component1594() + Component1595() + Component1596() + Component1597() + Component1598() + Component1599() + Component1600() + Component1601() + Component1602() + Component1603() + Component1604() + Component1605() + Component1606() + Component1607() + Component1608() + Component1609() + Component1610() + Component1611() + Component1612() + Component1613() + Component1614() + Component1615() + Component1616() + Component1617() + Component1618() + Component1619() + Component1620() + Component1621() + Component1622() + Component1623() + Component1624() + Component1625() + Component1626() + Component1627() + Component1628() + Component1629() + Component1630() + Component1631() + Component1632() + Component1633() + Component1634() + Component1635() + Component1636() + Component1637() + Component1638() + Component1639() + Component1640() + Component1641() + Component1642() + Component1643() + Component1644() + Component1645() + Component1646() + Component1647() + Component1648() + Component1649() + Component1650() + Component1651() + Component1652() + Component1653() + Component1654() + Component1655() + Component1656() + Component1657() + Component1658() + Component1659() + Component1660() + Component1661() + Component1662() + Component1663() + Component1664() + Component1665() + Component1666() + Component1667() + Component1668() + Component1669() + Component1670() + Component1671() + Component1672() + Component1673() + Component1674() + Component1675() + Component1676() + Component1677() + Component1678() + Component1679() + Component1680() + Component1681() + Component1682() + Component1683() + Component1684() + Component1685() + Component1686() + Component1687() + Component1688() + Component1689() + Component1690() + Component1691() + Component1692() + Component1693() + Component1694() + Component1695() + Component1696() + Component1697() + Component1698() + Component1699() + Component1700() + Component1701() + Component1702() + Component1703() + Component1704() + Component1705() + Component1706() + Component1707() + Component1708() + Component1709() + Component1710() + Component1711() + Component1712() + Component1713() + Component1714() + Component1715() + Component1716() + Component1717() + Component1718() + Component1719() + Component1720() + Component1721() + Component1722() + Component1723() + Component1724() + Component1725() + Component1726() + Component1727() + Component1728() + Component1729() + Component1730() + Component1731() + Component1732() + Component1733() + Component1734() + Component1735() + Component1736() + Component1737() + Component1738() + Component1739() + Component1740() + Component1741() + Component1742() + Component1743() + Component1744() + Component1745() + Component1746() + Component1747() + Component1748() + Component1749() + Component1750() + Component1751() + Component1752() + Component1753() + Component1754() + Component1755() + Component1756() + Component1757() + Component1758() + Component1759() + Component1760() + Component1761() + Component1762() + Component1763() + Component1764() + Component1765() + Component1766() + Component1767() + Component1768() + Component1769() + Component1770() + Component1771() + Component1772() + Component1773() + Component1774() + Component1775() + Component1776() + Component1777() + Component1778() + Component1779() + Component1780() + Component1781() + Component1782() + Component1783() + Component1784() + Component1785() + Component1786() + Component1787() + Component1788() + Component1789() + Component1790() + Component1791() + Component1792() + Component1793() + Component1794() + Component1795() + Component1796() + Component1797() + Component1798() + Component1799() + Component1800() + Component1801() + Component1802() + Component1803() + Component1804() + Component1805() + Component1806() + Component1807() + Component1808() + Component1809() + Component1810() + Component1811() + Component1812() + Component1813() + Component1814() + Component1815() + Component1816() + Component1817() + Component1818() + Component1819() + Component1820() + Component1821() + Component1822() + Component1823() + Component1824() + Component1825() + Component1826() + Component1827() + Component1828() + Component1829() + Component1830() + Component1831() + Component1832() + Component1833() + Component1834() + Component1835() + Component1836() + Component1837() + Component1838() + Component1839() + Component1840() + Component1841() + Component1842() + Component1843() + Component1844() + Component1845() + Component1846() + Component1847() + Component1848() + Component1849() + Component1850() + Component1851() + Component1852() + Component1853() + Component1854() + Component1855() + Component1856() + Component1857() + Component1858() + Component1859() + Component1860() + Component1861() + Component1862() + Component1863() + Component1864() + Component1865() + Component1866() + Component1867() + Component1868() + Component1869() + Component1870() + Component1871() + Component1872() + Component1873() + Component1874() + Component1875() + Component1876() + Component1877() + Component1878() + Component1879() + Component1880() + Component1881() + Component1882() + Component1883() + Component1884() + Component1885() + Component1886() + Component1887() + Component1888() + Component1889() + Component1890() + Component1891() + Component1892() + Component1893() + Component1894() + Component1895() + Component1896() + Component1897() + Component1898() + Component1899() + Component1900() + Component1901() + Component1902() + Component1903() + Component1904() + Component1905() + Component1906() + Component1907() + Component1908() + Component1909() + Component1910() + Component1911() + Component1912() + Component1913() + Component1914() + Component1915() + Component1916() + Component1917() + Component1918() + Component1919() + Component1920() + Component1921() + Component1922() + Component1923() + Component1924() + Component1925() + Component1926() + Component1927() + Component1928() + Component1929() + Component1930() + Component1931() + Component1932() + Component1933() + Component1934() + Component1935() + Component1936() + Component1937() + Component1938() + Component1939() + Component1940() + Component1941() + Component1942() + Component1943() + Component1944() + Component1945() + Component1946() + Component1947() + Component1948() + Component1949() + Component1950() + Component1951() + Component1952() + Component1953() + Component1954() + Component1955() + Component1956() + Component1957() + Component1958() + Component1959() + Component1960() + Component1961() + Component1962() + Component1963() + Component1964() + Component1965() + Component1966() + Component1967() + Component1968() + Component1969() + Component1970() + Component1971() + Component1972() + Component1973() + Component1974() + Component1975() + Component1976() + Component1977() + Component1978() + Component1979() + Component1980() + Component1981() + Component1982() + Component1983() + Component1984() + Component1985() + Component1986() + Component1987() + Component1988() + Component1989() + Component1990() + Component1991() + Component1992() + Component1993() + Component1994() + Component1995() + Component1996() + Component1997() + Component1998() + Component1999() + + } +} + + +@Component +struct Component0 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component2 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component3 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component4 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component5 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component6 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component7 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component8 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component9 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component10 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component11 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component12 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component13 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component14 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component15 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component16 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component17 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component18 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component19 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component20 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component21 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component22 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component23 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component24 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component25 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component26 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component27 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component28 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component29 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component30 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component31 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component32 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component33 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component34 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component35 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component36 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component37 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component38 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component39 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component40 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component41 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component42 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component43 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component44 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component45 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component46 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component47 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component48 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component49 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component50 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component51 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component52 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component53 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component54 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component55 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component56 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component57 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component58 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component59 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component60 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component61 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component62 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component63 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component64 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component65 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component66 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component67 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component68 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component69 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component70 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component71 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component72 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component73 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component74 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component75 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component76 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component77 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component78 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component79 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component80 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component81 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component82 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component83 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component84 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component85 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component86 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component87 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component88 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component89 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component90 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component91 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component92 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component93 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component94 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component95 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component96 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component97 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component98 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component99 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component100 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component101 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component102 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component103 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component104 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component105 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component106 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component107 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component108 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component109 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component110 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component111 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component112 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component113 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component114 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component115 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component116 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component117 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component118 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component119 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component120 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component121 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component122 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component123 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component124 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component125 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component126 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component127 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component128 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component129 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component130 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component131 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component132 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component133 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component134 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component135 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component136 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component137 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component138 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component139 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component140 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component141 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component142 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component143 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component144 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component145 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component146 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component147 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component148 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component149 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component150 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component151 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component152 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component153 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component154 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component155 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component156 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component157 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component158 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component159 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component160 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component161 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component162 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component163 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component164 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component165 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component166 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component167 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component168 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component169 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component170 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component171 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component172 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component173 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component174 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component175 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component176 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component177 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component178 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component179 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component180 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component181 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component182 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component183 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component184 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component185 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component186 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component187 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component188 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component189 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component190 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component191 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component192 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component193 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component194 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component195 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component196 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component197 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component198 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component199 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component200 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component201 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component202 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component203 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component204 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component205 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component206 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component207 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component208 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component209 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component210 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component211 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component212 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component213 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component214 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component215 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component216 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component217 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component218 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component219 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component220 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component221 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component222 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component223 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component224 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component225 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component226 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component227 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component228 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component229 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component230 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component231 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component232 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component233 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component234 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component235 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component236 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component237 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component238 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component239 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component240 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component241 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component242 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component243 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component244 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component245 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component246 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component247 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component248 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component249 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component250 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component251 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component252 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component253 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component254 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component255 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component256 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component257 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component258 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component259 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component260 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component261 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component262 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component263 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component264 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component265 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component266 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component267 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component268 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component269 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component270 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component271 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component272 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component273 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component274 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component275 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component276 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component277 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component278 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component279 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component280 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component281 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component282 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component283 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component284 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component285 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component286 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component287 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component288 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component289 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component290 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component291 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component292 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component293 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component294 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component295 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component296 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component297 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component298 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component299 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component300 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component301 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component302 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component303 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component304 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component305 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component306 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component307 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component308 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component309 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component310 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component311 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component312 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component313 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component314 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component315 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component316 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component317 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component318 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component319 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component320 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component321 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component322 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component323 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component324 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component325 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component326 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component327 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component328 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component329 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component330 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component331 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component332 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component333 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component334 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component335 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component336 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component337 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component338 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component339 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component340 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component341 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component342 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component343 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component344 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component345 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component346 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component347 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component348 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component349 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component350 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component351 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component352 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component353 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component354 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component355 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component356 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component357 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component358 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component359 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component360 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component361 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component362 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component363 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component364 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component365 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component366 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component367 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component368 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component369 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component370 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component371 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component372 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component373 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component374 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component375 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component376 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component377 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component378 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component379 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component380 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component381 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component382 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component383 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component384 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component385 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component386 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component387 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component388 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component389 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component390 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component391 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component392 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component393 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component394 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component395 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component396 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component397 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component398 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component399 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component400 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component401 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component402 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component403 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component404 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component405 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component406 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component407 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component408 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component409 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component410 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component411 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component412 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component413 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component414 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component415 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component416 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component417 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component418 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component419 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component420 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component421 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component422 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component423 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component424 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component425 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component426 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component427 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component428 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component429 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component430 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component431 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component432 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component433 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component434 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component435 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component436 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component437 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component438 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component439 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component440 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component441 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component442 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component443 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component444 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component445 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component446 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component447 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component448 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component449 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component450 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component451 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component452 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component453 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component454 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component455 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component456 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component457 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component458 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component459 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component460 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component461 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component462 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component463 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component464 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component465 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component466 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component467 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component468 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component469 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component470 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component471 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component472 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component473 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component474 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component475 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component476 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component477 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component478 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component479 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component480 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component481 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component482 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component483 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component484 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component485 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component486 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component487 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component488 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component489 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component490 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component491 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component492 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component493 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component494 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component495 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component496 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component497 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component498 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component499 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component500 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component501 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component502 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component503 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component504 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component505 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component506 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component507 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component508 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component509 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component510 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component511 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component512 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component513 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component514 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component515 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component516 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component517 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component518 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component519 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component520 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component521 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component522 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component523 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component524 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component525 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component526 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component527 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component528 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component529 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component530 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component531 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component532 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component533 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component534 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component535 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component536 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component537 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component538 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component539 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component540 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component541 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component542 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component543 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component544 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component545 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component546 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component547 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component548 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component549 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component550 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component551 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component552 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component553 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component554 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component555 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component556 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component557 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component558 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component559 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component560 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component561 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component562 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component563 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component564 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component565 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component566 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component567 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component568 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component569 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component570 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component571 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component572 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component573 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component574 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component575 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component576 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component577 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component578 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component579 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component580 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component581 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component582 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component583 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component584 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component585 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component586 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component587 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component588 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component589 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component590 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component591 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component592 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component593 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component594 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component595 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component596 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component597 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component598 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component599 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component600 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component601 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component602 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component603 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component604 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component605 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component606 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component607 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component608 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component609 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component610 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component611 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component612 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component613 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component614 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component615 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component616 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component617 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component618 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component619 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component620 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component621 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component622 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component623 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component624 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component625 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component626 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component627 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component628 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component629 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component630 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component631 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component632 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component633 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component634 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component635 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component636 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component637 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component638 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component639 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component640 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component641 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component642 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component643 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component644 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component645 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component646 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component647 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component648 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component649 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component650 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component651 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component652 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component653 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component654 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component655 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component656 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component657 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component658 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component659 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component660 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component661 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component662 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component663 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component664 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component665 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component666 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component667 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component668 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component669 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component670 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component671 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component672 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component673 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component674 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component675 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component676 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component677 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component678 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component679 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component680 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component681 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component682 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component683 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component684 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component685 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component686 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component687 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component688 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component689 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component690 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component691 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component692 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component693 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component694 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component695 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component696 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component697 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component698 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component699 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component700 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component701 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component702 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component703 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component704 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component705 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component706 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component707 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component708 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component709 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component710 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component711 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component712 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component713 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component714 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component715 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component716 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component717 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component718 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component719 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component720 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component721 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component722 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component723 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component724 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component725 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component726 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component727 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component728 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component729 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component730 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component731 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component732 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component733 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component734 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component735 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component736 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component737 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component738 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component739 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component740 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component741 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component742 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component743 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component744 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component745 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component746 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component747 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component748 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component749 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component750 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component751 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component752 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component753 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component754 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component755 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component756 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component757 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component758 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component759 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component760 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component761 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component762 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component763 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component764 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component765 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component766 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component767 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component768 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component769 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component770 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component771 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component772 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component773 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component774 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component775 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component776 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component777 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component778 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component779 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component780 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component781 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component782 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component783 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component784 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component785 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component786 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component787 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component788 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component789 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component790 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component791 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component792 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component793 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component794 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component795 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component796 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component797 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component798 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component799 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component800 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component801 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component802 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component803 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component804 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component805 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component806 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component807 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component808 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component809 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component810 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component811 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component812 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component813 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component814 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component815 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component816 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component817 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component818 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component819 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component820 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component821 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component822 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component823 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component824 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component825 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component826 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component827 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component828 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component829 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component830 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component831 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component832 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component833 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component834 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component835 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component836 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component837 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component838 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component839 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component840 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component841 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component842 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component843 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component844 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component845 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component846 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component847 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component848 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component849 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component850 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component851 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component852 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component853 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component854 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component855 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component856 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component857 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component858 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component859 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component860 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component861 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component862 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component863 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component864 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component865 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component866 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component867 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component868 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component869 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component870 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component871 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component872 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component873 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component874 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component875 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component876 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component877 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component878 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component879 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component880 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component881 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component882 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component883 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component884 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component885 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component886 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component887 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component888 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component889 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component890 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component891 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component892 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component893 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component894 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component895 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component896 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component897 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component898 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component899 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component900 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component901 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component902 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component903 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component904 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component905 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component906 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component907 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component908 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component909 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component910 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component911 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component912 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component913 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component914 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component915 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component916 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component917 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component918 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component919 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component920 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component921 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component922 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component923 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component924 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component925 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component926 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component927 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component928 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component929 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component930 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component931 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component932 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component933 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component934 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component935 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component936 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component937 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component938 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component939 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component940 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component941 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component942 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component943 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component944 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component945 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component946 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component947 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component948 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component949 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component950 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component951 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component952 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component953 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component954 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component955 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component956 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component957 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component958 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component959 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component960 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component961 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component962 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component963 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component964 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component965 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component966 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component967 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component968 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component969 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component970 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component971 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component972 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component973 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component974 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component975 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component976 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component977 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component978 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component979 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component980 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component981 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component982 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component983 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component984 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component985 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component986 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component987 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component988 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component989 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component990 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component991 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component992 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component993 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component994 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component995 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component996 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component997 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component998 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component999 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1000 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1001 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1002 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1003 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1004 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1005 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1006 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1007 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1008 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1009 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1010 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1011 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1012 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1013 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1014 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1015 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1016 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1017 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1018 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1019 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1020 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1021 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1022 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1023 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1024 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1025 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1026 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1027 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1028 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1029 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1030 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1031 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1032 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1033 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1034 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1035 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1036 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1037 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1038 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1039 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1040 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1041 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1042 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1043 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1044 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1045 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1046 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1047 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1048 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1049 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1050 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1051 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1052 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1053 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1054 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1055 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1056 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1057 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1058 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1059 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1060 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1061 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1062 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1063 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1064 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1065 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1066 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1067 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1068 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1069 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1070 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1071 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1072 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1073 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1074 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1075 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1076 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1077 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1078 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1079 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1080 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1081 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1082 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1083 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1084 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1085 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1086 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1087 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1088 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1089 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1090 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1091 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1092 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1093 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1094 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1095 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1096 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1097 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1098 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1099 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1100 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1101 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1102 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1103 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1104 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1105 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1106 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1107 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1108 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1109 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1110 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1111 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1112 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1113 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1114 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1115 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1116 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1117 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1118 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1119 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1120 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1121 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1122 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1123 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1124 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1125 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1126 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1127 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1128 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1129 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1130 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1131 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1132 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1133 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1134 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1135 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1136 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1137 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1138 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1139 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1140 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1141 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1142 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1143 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1144 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1145 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1146 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1147 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1148 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1149 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1150 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1151 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1152 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1153 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1154 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1155 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1156 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1157 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1158 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1159 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1160 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1161 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1162 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1163 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1164 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1165 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1166 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1167 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1168 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1169 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1170 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1171 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1172 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1173 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1174 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1175 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1176 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1177 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1178 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1179 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1180 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1181 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1182 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1183 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1184 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1185 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1186 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1187 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1188 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1189 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1190 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1191 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1192 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1193 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1194 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1195 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1196 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1197 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1198 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1199 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1200 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1201 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1202 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1203 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1204 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1205 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1206 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1207 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1208 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1209 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1210 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1211 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1212 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1213 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1214 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1215 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1216 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1217 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1218 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1219 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1220 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1221 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1222 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1223 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1224 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1225 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1226 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1227 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1228 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1229 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1230 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1231 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1232 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1233 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1234 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1235 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1236 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1237 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1238 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1239 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1240 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1241 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1242 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1243 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1244 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1245 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1246 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1247 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1248 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1249 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1250 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1251 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1252 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1253 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1254 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1255 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1256 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1257 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1258 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1259 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1260 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1261 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1262 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1263 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1264 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1265 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1266 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1267 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1268 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1269 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1270 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1271 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1272 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1273 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1274 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1275 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1276 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1277 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1278 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1279 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1280 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1281 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1282 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1283 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1284 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1285 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1286 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1287 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1288 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1289 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1290 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1291 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1292 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1293 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1294 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1295 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1296 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1297 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1298 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1299 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1300 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1301 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1302 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1303 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1304 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1305 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1306 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1307 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1308 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1309 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1310 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1311 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1312 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1313 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1314 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1315 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1316 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1317 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1318 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1319 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1320 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1321 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1322 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1323 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1324 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1325 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1326 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1327 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1328 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1329 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1330 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1331 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1332 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1333 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1334 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1335 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1336 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1337 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1338 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1339 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1340 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1341 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1342 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1343 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1344 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1345 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1346 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1347 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1348 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1349 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1350 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1351 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1352 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1353 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1354 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1355 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1356 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1357 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1358 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1359 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1360 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1361 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1362 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1363 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1364 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1365 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1366 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1367 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1368 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1369 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1370 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1371 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1372 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1373 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1374 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1375 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1376 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1377 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1378 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1379 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1380 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1381 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1382 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1383 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1384 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1385 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1386 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1387 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1388 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1389 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1390 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1391 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1392 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1393 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1394 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1395 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1396 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1397 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1398 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1399 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1400 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1401 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1402 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1403 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1404 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1405 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1406 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1407 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1408 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1409 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1410 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1411 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1412 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1413 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1414 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1415 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1416 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1417 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1418 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1419 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1420 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1421 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1422 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1423 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1424 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1425 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1426 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1427 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1428 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1429 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1430 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1431 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1432 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1433 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1434 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1435 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1436 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1437 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1438 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1439 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1440 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1441 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1442 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1443 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1444 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1445 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1446 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1447 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1448 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1449 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1450 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1451 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1452 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1453 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1454 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1455 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1456 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1457 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1458 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1459 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1460 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1461 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1462 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1463 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1464 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1465 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1466 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1467 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1468 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1469 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1470 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1471 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1472 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1473 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1474 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1475 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1476 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1477 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1478 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1479 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1480 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1481 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1482 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1483 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1484 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1485 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1486 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1487 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1488 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1489 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1490 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1491 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1492 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1493 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1494 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1495 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1496 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1497 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1498 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1499 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1500 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1501 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1502 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1503 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1504 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1505 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1506 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1507 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1508 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1509 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1510 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1511 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1512 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1513 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1514 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1515 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1516 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1517 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1518 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1519 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1520 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1521 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1522 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1523 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1524 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1525 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1526 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1527 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1528 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1529 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1530 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1531 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1532 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1533 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1534 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1535 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1536 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1537 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1538 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1539 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1540 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1541 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1542 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1543 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1544 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1545 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1546 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1547 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1548 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1549 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1550 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1551 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1552 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1553 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1554 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1555 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1556 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1557 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1558 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1559 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1560 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1561 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1562 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1563 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1564 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1565 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1566 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1567 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1568 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1569 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1570 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1571 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1572 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1573 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1574 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1575 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1576 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1577 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1578 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1579 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1580 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1581 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1582 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1583 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1584 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1585 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1586 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1587 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1588 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1589 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1590 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1591 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1592 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1593 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1594 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1595 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1596 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1597 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1598 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1599 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1600 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1601 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1602 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1603 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1604 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1605 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1606 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1607 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1608 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1609 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1610 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1611 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1612 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1613 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1614 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1615 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1616 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1617 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1618 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1619 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1620 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1621 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1622 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1623 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1624 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1625 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1626 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1627 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1628 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1629 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1630 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1631 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1632 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1633 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1634 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1635 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1636 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1637 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1638 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1639 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1640 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1641 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1642 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1643 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1644 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1645 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1646 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1647 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1648 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1649 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1650 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1651 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1652 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1653 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1654 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1655 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1656 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1657 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1658 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1659 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1660 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1661 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1662 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1663 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1664 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1665 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1666 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1667 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1668 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1669 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1670 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1671 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1672 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1673 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1674 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1675 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1676 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1677 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1678 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1679 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1680 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1681 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1682 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1683 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1684 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1685 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1686 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1687 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1688 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1689 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1690 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1691 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1692 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1693 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1694 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1695 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1696 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1697 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1698 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1699 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1700 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1701 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1702 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1703 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1704 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1705 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1706 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1707 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1708 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1709 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1710 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1711 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1712 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1713 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1714 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1715 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1716 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1717 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1718 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1719 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1720 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1721 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1722 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1723 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1724 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1725 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1726 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1727 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1728 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1729 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1730 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1731 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1732 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1733 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1734 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1735 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1736 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1737 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1738 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1739 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1740 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1741 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1742 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1743 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1744 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1745 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1746 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1747 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1748 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1749 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1750 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1751 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1752 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1753 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1754 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1755 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1756 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1757 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1758 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1759 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1760 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1761 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1762 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1763 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1764 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1765 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1766 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1767 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1768 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1769 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1770 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1771 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1772 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1773 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1774 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1775 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1776 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1777 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1778 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1779 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1780 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1781 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1782 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1783 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1784 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1785 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1786 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1787 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1788 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1789 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1790 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1791 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1792 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1793 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1794 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1795 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1796 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1797 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1798 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1799 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1800 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1801 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1802 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1803 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1804 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1805 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1806 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1807 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1808 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1809 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1810 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1811 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1812 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1813 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1814 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1815 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1816 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1817 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1818 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1819 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1820 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1821 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1822 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1823 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1824 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1825 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1826 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1827 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1828 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1829 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1830 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1831 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1832 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1833 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1834 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1835 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1836 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1837 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1838 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1839 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1840 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1841 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1842 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1843 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1844 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1845 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1846 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1847 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1848 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1849 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1850 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1851 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1852 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1853 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1854 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1855 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1856 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1857 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1858 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1859 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1860 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1861 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1862 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1863 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1864 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1865 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1866 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1867 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1868 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1869 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1870 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1871 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1872 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1873 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1874 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1875 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1876 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1877 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1878 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1879 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1880 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1881 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1882 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1883 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1884 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1885 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1886 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1887 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1888 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1889 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1890 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1891 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1892 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1893 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1894 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1895 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1896 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1897 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1898 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1899 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1900 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1901 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1902 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1903 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1904 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1905 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1906 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1907 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1908 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1909 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1910 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1911 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1912 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1913 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1914 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1915 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1916 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1917 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1918 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1919 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1920 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1921 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1922 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1923 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1924 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1925 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1926 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1927 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1928 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1929 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1930 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1931 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1932 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1933 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1934 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1935 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1936 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1937 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1938 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1939 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1940 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1941 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1942 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1943 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1944 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1945 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1946 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1947 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1948 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1949 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1950 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1951 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1952 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1953 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1954 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1955 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1956 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1957 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1958 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1959 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1960 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1961 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1962 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1963 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1964 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1965 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1966 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1967 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1968 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1969 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1970 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1971 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1972 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1973 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1974 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1975 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1976 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1977 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1978 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1979 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1980 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1981 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1982 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1983 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1984 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1985 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1986 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1987 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1988 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1989 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1990 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1991 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1992 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1993 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1994 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1995 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1996 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1997 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1998 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + +@Component +struct Component1999 { + @State message: string = "hello world" + + build() { + Column({}) { + Text(this.message) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.message = 'Text clicked!' + }) + } + } +} + + diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile1.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile1.ets new file mode 100644 index 0000000000000000000000000000000000000000..fcea1a149da62bcdb52b85c674bd02ced222c07a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile1.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent2 } from "./manyImportFile2" +import { ManyImportComponent3 } from "./manyImportFile3" + + +@Component +export struct ManyImportComponent1 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent2() + ManyImportComponent3() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile10.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile10.ets new file mode 100644 index 0000000000000000000000000000000000000000..b8f57d9de1da166ac6516fe05ea367c1c83ff937 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile10.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent20 } from "./manyImportFile20" +import { ManyImportComponent21 } from "./manyImportFile21" + + +@Component +export struct ManyImportComponent10 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent20() + ManyImportComponent21() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile100.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile100.ets new file mode 100644 index 0000000000000000000000000000000000000000..7e75b60696764f4c34cb09a694f7cfb3b2f5ea2a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile100.ets @@ -0,0 +1,18 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent200 } from "./manyImportFile200" + + +@Component +export struct ManyImportComponent100 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent200() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile101.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile101.ets new file mode 100644 index 0000000000000000000000000000000000000000..f6bf966c89d65b374965becc221be7ca842bd926 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile101.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent101 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile102.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile102.ets new file mode 100644 index 0000000000000000000000000000000000000000..567418dd941f4a52a1bb9267a638d9fe9c398686 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile102.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent102 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile103.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile103.ets new file mode 100644 index 0000000000000000000000000000000000000000..3cecf34d65d5a64ac023b1a2f6825260265a2939 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile103.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent103 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile104.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile104.ets new file mode 100644 index 0000000000000000000000000000000000000000..9812323538ff62488316b628847fe90ecca74241 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile104.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent104 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile105.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile105.ets new file mode 100644 index 0000000000000000000000000000000000000000..661716c55886ed2dc8ec02753c0a8531f6c94417 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile105.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent105 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile106.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile106.ets new file mode 100644 index 0000000000000000000000000000000000000000..460fe866f385da95580d87d5964de81cab53a3ac --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile106.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent106 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile107.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile107.ets new file mode 100644 index 0000000000000000000000000000000000000000..b039e610f43717160a8912d9a7647bb5212a264b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile107.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent107 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile108.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile108.ets new file mode 100644 index 0000000000000000000000000000000000000000..d0908852442cd2696f9cd9722ce4e903e4e98977 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile108.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent108 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile109.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile109.ets new file mode 100644 index 0000000000000000000000000000000000000000..fff7ed1ff3e7c1f491007f1bf25e4df3aef9e5d1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile109.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent109 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile11.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile11.ets new file mode 100644 index 0000000000000000000000000000000000000000..d6a2679057d6b263d22ac8e03a7dcb094a5fc531 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile11.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent22 } from "./manyImportFile22" +import { ManyImportComponent23 } from "./manyImportFile23" + + +@Component +export struct ManyImportComponent11 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent22() + ManyImportComponent23() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile110.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile110.ets new file mode 100644 index 0000000000000000000000000000000000000000..be4a7095cdfe589f30afea6b371b351ab8e97c91 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile110.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent110 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile111.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile111.ets new file mode 100644 index 0000000000000000000000000000000000000000..ef66065ae3391c89f2a1d7efb739d3b3eb4a5e2a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile111.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent111 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile112.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile112.ets new file mode 100644 index 0000000000000000000000000000000000000000..c44c6dc334e0a3101d0310cb2530dfe127487aff --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile112.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent112 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile113.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile113.ets new file mode 100644 index 0000000000000000000000000000000000000000..0185e0ab4f4e51472f6a5c131240f8f0b0ef6738 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile113.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent113 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile114.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile114.ets new file mode 100644 index 0000000000000000000000000000000000000000..cf7d11bb4c8c18033778832139870fc9f08f61c2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile114.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent114 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile115.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile115.ets new file mode 100644 index 0000000000000000000000000000000000000000..a7e3f47da624e8088538505425cdc1801a634396 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile115.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent115 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile116.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile116.ets new file mode 100644 index 0000000000000000000000000000000000000000..c7e46ac7deadfbc4c19b24d598feba11da1f0b88 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile116.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent116 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile117.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile117.ets new file mode 100644 index 0000000000000000000000000000000000000000..31758bd93e8ef824e64df214ca2ce41519ea64ab --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile117.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent117 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile118.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile118.ets new file mode 100644 index 0000000000000000000000000000000000000000..1ecd3c3973c5f25b59b5d4e3650a07b0224c4f74 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile118.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent118 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile119.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile119.ets new file mode 100644 index 0000000000000000000000000000000000000000..02dbc973820c2f8bd050b086d8881608fc208a8e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile119.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent119 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile12.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile12.ets new file mode 100644 index 0000000000000000000000000000000000000000..7ee47543bd97d81ed9aa991e594fc0a49dc3d290 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile12.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent24 } from "./manyImportFile24" +import { ManyImportComponent25 } from "./manyImportFile25" + + +@Component +export struct ManyImportComponent12 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent24() + ManyImportComponent25() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile120.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile120.ets new file mode 100644 index 0000000000000000000000000000000000000000..9d1d6768a61fa1cdb57e8192297938dde50fc976 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile120.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent120 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile121.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile121.ets new file mode 100644 index 0000000000000000000000000000000000000000..e59413b91be45384ac8dee6addeb4800f2b89f90 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile121.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent121 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile122.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile122.ets new file mode 100644 index 0000000000000000000000000000000000000000..7dff4c143d82ae38bb9ce9eb6e8eea588a1a7d2d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile122.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent122 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile123.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile123.ets new file mode 100644 index 0000000000000000000000000000000000000000..2a295495a83a619655ff3f67f90990601f7b2036 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile123.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent123 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile124.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile124.ets new file mode 100644 index 0000000000000000000000000000000000000000..5030c898dc63c62f01575228c089a893063c1ad2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile124.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent124 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile125.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile125.ets new file mode 100644 index 0000000000000000000000000000000000000000..f9d190e7efccded4479c920a94d3690b0315c744 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile125.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent125 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile126.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile126.ets new file mode 100644 index 0000000000000000000000000000000000000000..4c550e3e27e98378e285eb9f15ed2f4d1ed7ce5f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile126.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent126 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile127.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile127.ets new file mode 100644 index 0000000000000000000000000000000000000000..942cf19491cc188d88248df7ae19253817c9c7fa --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile127.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent127 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile128.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile128.ets new file mode 100644 index 0000000000000000000000000000000000000000..5580e45ab618f3e99fe31685dd971652da24efc8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile128.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent128 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile129.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile129.ets new file mode 100644 index 0000000000000000000000000000000000000000..5e9e6e77807488ccbfa8a3ce57ee2ec0e03e5553 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile129.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent129 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile13.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile13.ets new file mode 100644 index 0000000000000000000000000000000000000000..73bbed3ddb4b6cae137c1ef168ba2f957c5753d5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile13.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent26 } from "./manyImportFile26" +import { ManyImportComponent27 } from "./manyImportFile27" + + +@Component +export struct ManyImportComponent13 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent26() + ManyImportComponent27() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile130.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile130.ets new file mode 100644 index 0000000000000000000000000000000000000000..819e6a3aeb706847a250f2c71e234c9d3439f30a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile130.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent130 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile131.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile131.ets new file mode 100644 index 0000000000000000000000000000000000000000..16dc31aa69500affac2e7048207168be0387eaa7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile131.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent131 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile132.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile132.ets new file mode 100644 index 0000000000000000000000000000000000000000..2a438107a5ed29cf496b712c7ad768464f84b7dc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile132.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent132 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile133.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile133.ets new file mode 100644 index 0000000000000000000000000000000000000000..db251fafd11156ce6866030b18223f15517bd224 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile133.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent133 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile134.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile134.ets new file mode 100644 index 0000000000000000000000000000000000000000..9039c705947278ac51003d2d4d20249b0f0798d0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile134.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent134 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile135.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile135.ets new file mode 100644 index 0000000000000000000000000000000000000000..b60b3ccdb5cbceeecf4cf48bfef0612023dd458e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile135.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent135 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile136.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile136.ets new file mode 100644 index 0000000000000000000000000000000000000000..8b2ba5f6ce4c9fbd77b0212399f5765d62a9cae4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile136.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent136 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile137.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile137.ets new file mode 100644 index 0000000000000000000000000000000000000000..b513ed14923a6d00e504743544711fbb76dd0fa4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile137.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent137 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile138.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile138.ets new file mode 100644 index 0000000000000000000000000000000000000000..6c29ea038126bacaab823041e88aa035ac4ac576 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile138.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent138 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile139.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile139.ets new file mode 100644 index 0000000000000000000000000000000000000000..80fcd3ac3968732518a6b9d5af5f021a60072de2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile139.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent139 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile14.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile14.ets new file mode 100644 index 0000000000000000000000000000000000000000..7df0637e5b6846060ec294f0f07d91bf48962478 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile14.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent28 } from "./manyImportFile28" +import { ManyImportComponent29 } from "./manyImportFile29" + + +@Component +export struct ManyImportComponent14 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent28() + ManyImportComponent29() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile140.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile140.ets new file mode 100644 index 0000000000000000000000000000000000000000..42293b0b27f2e6a38339151841c9fd62af6b46b3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile140.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent140 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile141.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile141.ets new file mode 100644 index 0000000000000000000000000000000000000000..61569f9b549c9818c2a254acb736fb2063fdce68 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile141.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent141 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile142.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile142.ets new file mode 100644 index 0000000000000000000000000000000000000000..843cc3e6ce5e15aabc5d760f845b0e024df644fa --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile142.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent142 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile143.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile143.ets new file mode 100644 index 0000000000000000000000000000000000000000..569c02838fe578953344474e718d7d36fdd92e69 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile143.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent143 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile144.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile144.ets new file mode 100644 index 0000000000000000000000000000000000000000..3e16e48d707e4780bcb174eda87492fab87d043f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile144.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent144 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile145.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile145.ets new file mode 100644 index 0000000000000000000000000000000000000000..ec6955b9e89aaca225e9dbc9d52b1bce05e442e2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile145.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent145 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile146.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile146.ets new file mode 100644 index 0000000000000000000000000000000000000000..a071360ed68a9d0f274e29f808e4535afa5d042d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile146.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent146 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile147.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile147.ets new file mode 100644 index 0000000000000000000000000000000000000000..aa850367dd4f6210037e2dc6f11c71accd4a1cc7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile147.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent147 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile148.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile148.ets new file mode 100644 index 0000000000000000000000000000000000000000..c0618f7e331f6a27ea465e51e2719e7d51aa658f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile148.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent148 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile149.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile149.ets new file mode 100644 index 0000000000000000000000000000000000000000..91418d2cf5159bded42da913691c90fa9a35925b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile149.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent149 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile15.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile15.ets new file mode 100644 index 0000000000000000000000000000000000000000..7db952ad72d9ff49f4e356c6af791b9e423d8203 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile15.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent30 } from "./manyImportFile30" +import { ManyImportComponent31 } from "./manyImportFile31" + + +@Component +export struct ManyImportComponent15 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent30() + ManyImportComponent31() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile150.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile150.ets new file mode 100644 index 0000000000000000000000000000000000000000..1bdca4698a19d9cfbe4da454012b7cf21d1f247a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile150.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent150 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile151.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile151.ets new file mode 100644 index 0000000000000000000000000000000000000000..0186e2a589e94d16da53f2f812da9dfd5212589f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile151.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent151 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile152.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile152.ets new file mode 100644 index 0000000000000000000000000000000000000000..b068a4988989104755ff09d8a7eae93b65eea6c6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile152.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent152 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile153.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile153.ets new file mode 100644 index 0000000000000000000000000000000000000000..0330f18330b8ec4432945c31ed718df7f81fdd43 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile153.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent153 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile154.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile154.ets new file mode 100644 index 0000000000000000000000000000000000000000..070e9eee3a0ed7079fb4d5eaed2897f700de2fd2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile154.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent154 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile155.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile155.ets new file mode 100644 index 0000000000000000000000000000000000000000..41790a0d703571e6f866e21b6c070120f2173de7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile155.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent155 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile156.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile156.ets new file mode 100644 index 0000000000000000000000000000000000000000..577bd81cf90ad227cbdd7aae623ebac4965f6605 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile156.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent156 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile157.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile157.ets new file mode 100644 index 0000000000000000000000000000000000000000..d972b955ade8a3992995123c4a21d61edfa990d9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile157.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent157 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile158.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile158.ets new file mode 100644 index 0000000000000000000000000000000000000000..513154355dfc79df6cb724bbf5841d2f6f2320b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile158.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent158 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile159.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile159.ets new file mode 100644 index 0000000000000000000000000000000000000000..ecce9a3f1cc6f32b1671fb1a6cf250cb5b511037 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile159.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent159 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile16.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile16.ets new file mode 100644 index 0000000000000000000000000000000000000000..777f7f660c279eb291a2d1f81dc94fc5fda7c4ec --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile16.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent32 } from "./manyImportFile32" +import { ManyImportComponent33 } from "./manyImportFile33" + + +@Component +export struct ManyImportComponent16 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent32() + ManyImportComponent33() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile160.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile160.ets new file mode 100644 index 0000000000000000000000000000000000000000..61eeabc78b7d8710dbc907e23356fc831033ebc6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile160.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent160 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile161.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile161.ets new file mode 100644 index 0000000000000000000000000000000000000000..f28d22304d665cf65e5c24481dbcb25758ee0588 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile161.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent161 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile162.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile162.ets new file mode 100644 index 0000000000000000000000000000000000000000..6b70d6535ab3e9c7a0136fbd01adb58ba094c486 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile162.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent162 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile163.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile163.ets new file mode 100644 index 0000000000000000000000000000000000000000..6fbf2712e907c43134b4ee9023a4ab2f535ef14e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile163.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent163 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile164.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile164.ets new file mode 100644 index 0000000000000000000000000000000000000000..e72369b84386f077979b836b92cdfae9246369dc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile164.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent164 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile165.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile165.ets new file mode 100644 index 0000000000000000000000000000000000000000..1eab4c077a5d576a5be6d3f8be2a925df53d021c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile165.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent165 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile166.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile166.ets new file mode 100644 index 0000000000000000000000000000000000000000..14083d6674e9ba9f3dda423dfb45f2d98cb02808 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile166.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent166 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile167.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile167.ets new file mode 100644 index 0000000000000000000000000000000000000000..0c40f60a569c575c4524e8be0e7afa2ae4e69f18 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile167.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent167 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile168.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile168.ets new file mode 100644 index 0000000000000000000000000000000000000000..9dd2b1f70bb6312cc5fac029506022414bdda253 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile168.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent168 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile169.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile169.ets new file mode 100644 index 0000000000000000000000000000000000000000..939287eb9356d332d4cd93ab98140fda370d407a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile169.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent169 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile17.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile17.ets new file mode 100644 index 0000000000000000000000000000000000000000..7a8130da7634435420066ffee84c7770d8baa5e4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile17.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent34 } from "./manyImportFile34" +import { ManyImportComponent35 } from "./manyImportFile35" + + +@Component +export struct ManyImportComponent17 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent34() + ManyImportComponent35() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile170.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile170.ets new file mode 100644 index 0000000000000000000000000000000000000000..3db0de8732f4c7727a090596200ffb3855343727 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile170.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent170 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile171.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile171.ets new file mode 100644 index 0000000000000000000000000000000000000000..f47588dc0838e3e62ce6c963d1442134011949db --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile171.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent171 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile172.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile172.ets new file mode 100644 index 0000000000000000000000000000000000000000..8ca0b19848b3135e9fca665c5b80bc4c6e9e6424 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile172.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent172 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile173.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile173.ets new file mode 100644 index 0000000000000000000000000000000000000000..bcd62649bc37b1ab2984f526adf9b3709495e46b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile173.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent173 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile174.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile174.ets new file mode 100644 index 0000000000000000000000000000000000000000..0a84ae6e1e0f15668ddbc570566283ccac2ca95d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile174.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent174 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile175.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile175.ets new file mode 100644 index 0000000000000000000000000000000000000000..2c072cb89e96660c64e827cfca34b934da4994bb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile175.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent175 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile176.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile176.ets new file mode 100644 index 0000000000000000000000000000000000000000..0929d3f652fb579640ba2734754589bef765bbde --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile176.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent176 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile177.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile177.ets new file mode 100644 index 0000000000000000000000000000000000000000..2b9d387bab806f73ca6aea3c27135fe2d0802af0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile177.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent177 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile178.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile178.ets new file mode 100644 index 0000000000000000000000000000000000000000..c813c877d0a85ce8634c53e9d1408881eecac507 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile178.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent178 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile179.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile179.ets new file mode 100644 index 0000000000000000000000000000000000000000..bff339061d8a17d52161d92988a1412b8b1aeb13 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile179.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent179 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile18.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile18.ets new file mode 100644 index 0000000000000000000000000000000000000000..1a15258928c0a481a0ff92d2d7ec53ea68b31595 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile18.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent36 } from "./manyImportFile36" +import { ManyImportComponent37 } from "./manyImportFile37" + + +@Component +export struct ManyImportComponent18 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent36() + ManyImportComponent37() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile180.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile180.ets new file mode 100644 index 0000000000000000000000000000000000000000..7594a099f9501696525e2ba2282f95dc6351bba7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile180.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent180 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile181.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile181.ets new file mode 100644 index 0000000000000000000000000000000000000000..06b8c8367d50389e363b83cfdc2c5c0ea94307cb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile181.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent181 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile182.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile182.ets new file mode 100644 index 0000000000000000000000000000000000000000..e0948042b74fc08e898abcf7ca8f1da6122ed9f5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile182.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent182 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile183.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile183.ets new file mode 100644 index 0000000000000000000000000000000000000000..ea0180b3c46fa980586cf8f519f6696ea939ac37 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile183.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent183 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile184.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile184.ets new file mode 100644 index 0000000000000000000000000000000000000000..72533111e298a2ace64bf068c86a9f171ae38317 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile184.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent184 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile185.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile185.ets new file mode 100644 index 0000000000000000000000000000000000000000..1799469014c192654671c146bcc1e5975d9d1d14 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile185.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent185 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile186.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile186.ets new file mode 100644 index 0000000000000000000000000000000000000000..1d5238796ab4a17e740286ccee37836f1a7aa56a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile186.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent186 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile187.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile187.ets new file mode 100644 index 0000000000000000000000000000000000000000..853c833b31dca3ea08c1c73b2bad3518cedfeb59 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile187.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent187 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile188.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile188.ets new file mode 100644 index 0000000000000000000000000000000000000000..c4ee5c94c8b197ead8371f882908fbc9d18531c2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile188.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent188 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile189.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile189.ets new file mode 100644 index 0000000000000000000000000000000000000000..e8a69a1427174b14cd52399003258c9ac6e54415 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile189.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent189 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile19.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile19.ets new file mode 100644 index 0000000000000000000000000000000000000000..b7c08337e72d30dee668e8b9c66bdb25a71afc66 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile19.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent38 } from "./manyImportFile38" +import { ManyImportComponent39 } from "./manyImportFile39" + + +@Component +export struct ManyImportComponent19 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent38() + ManyImportComponent39() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile190.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile190.ets new file mode 100644 index 0000000000000000000000000000000000000000..505aa5a6a3322c12c2f10a5fe7a0dc47053f5957 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile190.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent190 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile191.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile191.ets new file mode 100644 index 0000000000000000000000000000000000000000..f6a2fc460f3e7c09067c007be0e503596cde78ab --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile191.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent191 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile192.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile192.ets new file mode 100644 index 0000000000000000000000000000000000000000..22f02494464f420655cdd7d873f18dd1e66c1078 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile192.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent192 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile193.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile193.ets new file mode 100644 index 0000000000000000000000000000000000000000..bf8905ef84bf08c61f6ea8faedd90c93833cb263 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile193.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent193 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile194.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile194.ets new file mode 100644 index 0000000000000000000000000000000000000000..55d51de09bcd5bee337b027922ba14b7f7f532e8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile194.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent194 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile195.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile195.ets new file mode 100644 index 0000000000000000000000000000000000000000..49e9694c30d9bda0669918d8603265a87762b9d3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile195.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent195 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile196.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile196.ets new file mode 100644 index 0000000000000000000000000000000000000000..cb2d336be8d2dc8b06c65657d4949566f31bd62d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile196.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent196 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile197.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile197.ets new file mode 100644 index 0000000000000000000000000000000000000000..3e9074cedf7f76b39d632149c716d6075375fd20 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile197.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent197 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile198.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile198.ets new file mode 100644 index 0000000000000000000000000000000000000000..1f1497d69fcb8862af237619f7957f0cf7640ae0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile198.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent198 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile199.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile199.ets new file mode 100644 index 0000000000000000000000000000000000000000..1b5774e0f4d25a601c93423ef7da36afa223bcb9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile199.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent199 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile2.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile2.ets new file mode 100644 index 0000000000000000000000000000000000000000..92eeec4a3301be03038c0f1cb593d336e4742dc2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile2.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent4 } from "./manyImportFile4" +import { ManyImportComponent5 } from "./manyImportFile5" + + +@Component +export struct ManyImportComponent2 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent4() + ManyImportComponent5() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile20.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile20.ets new file mode 100644 index 0000000000000000000000000000000000000000..b93add500788126cd2cc8e8ef91c2e0002edf6c2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile20.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent40 } from "./manyImportFile40" +import { ManyImportComponent41 } from "./manyImportFile41" + + +@Component +export struct ManyImportComponent20 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent40() + ManyImportComponent41() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile200.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile200.ets new file mode 100644 index 0000000000000000000000000000000000000000..08ac7ed85a17bb8f3434b27db6f22228bb1fb5ff --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile200.ets @@ -0,0 +1,16 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" + + +@Component +export struct ManyImportComponent200 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile21.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile21.ets new file mode 100644 index 0000000000000000000000000000000000000000..03851952bb9f614bc2417353e2bb194df812a35b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile21.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent42 } from "./manyImportFile42" +import { ManyImportComponent43 } from "./manyImportFile43" + + +@Component +export struct ManyImportComponent21 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent42() + ManyImportComponent43() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile22.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile22.ets new file mode 100644 index 0000000000000000000000000000000000000000..c4438d9a4c89732fdeb11743725e69ce288e642b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile22.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent44 } from "./manyImportFile44" +import { ManyImportComponent45 } from "./manyImportFile45" + + +@Component +export struct ManyImportComponent22 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent44() + ManyImportComponent45() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile23.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile23.ets new file mode 100644 index 0000000000000000000000000000000000000000..e0720fa07f125484040959258a550cae5c4b2154 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile23.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent46 } from "./manyImportFile46" +import { ManyImportComponent47 } from "./manyImportFile47" + + +@Component +export struct ManyImportComponent23 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent46() + ManyImportComponent47() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile24.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile24.ets new file mode 100644 index 0000000000000000000000000000000000000000..097076b23204729823afedb93d86c07fe91b423d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile24.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent48 } from "./manyImportFile48" +import { ManyImportComponent49 } from "./manyImportFile49" + + +@Component +export struct ManyImportComponent24 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent48() + ManyImportComponent49() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile25.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile25.ets new file mode 100644 index 0000000000000000000000000000000000000000..803a744b353de64c7d7e6d9b45254d59f502e2b1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile25.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent50 } from "./manyImportFile50" +import { ManyImportComponent51 } from "./manyImportFile51" + + +@Component +export struct ManyImportComponent25 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent50() + ManyImportComponent51() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile26.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile26.ets new file mode 100644 index 0000000000000000000000000000000000000000..3676f88ab7edf4313bed4bab5ee70246f8b358ba --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile26.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent52 } from "./manyImportFile52" +import { ManyImportComponent53 } from "./manyImportFile53" + + +@Component +export struct ManyImportComponent26 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent52() + ManyImportComponent53() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile27.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile27.ets new file mode 100644 index 0000000000000000000000000000000000000000..3455b872fc84216ee05920c928890710434c2795 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile27.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent54 } from "./manyImportFile54" +import { ManyImportComponent55 } from "./manyImportFile55" + + +@Component +export struct ManyImportComponent27 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent54() + ManyImportComponent55() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile28.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile28.ets new file mode 100644 index 0000000000000000000000000000000000000000..5cdf63b4015f77a42d98f5e98a53584c8fb8a29a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile28.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent56 } from "./manyImportFile56" +import { ManyImportComponent57 } from "./manyImportFile57" + + +@Component +export struct ManyImportComponent28 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent56() + ManyImportComponent57() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile29.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile29.ets new file mode 100644 index 0000000000000000000000000000000000000000..4da01737be074bfe7c0e778497eb55031d193409 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile29.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent58 } from "./manyImportFile58" +import { ManyImportComponent59 } from "./manyImportFile59" + + +@Component +export struct ManyImportComponent29 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent58() + ManyImportComponent59() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile3.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile3.ets new file mode 100644 index 0000000000000000000000000000000000000000..19c45bc8e786ec4557487c0f9779809293d772ea --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile3.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent6 } from "./manyImportFile6" +import { ManyImportComponent7 } from "./manyImportFile7" + + +@Component +export struct ManyImportComponent3 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent6() + ManyImportComponent7() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile30.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile30.ets new file mode 100644 index 0000000000000000000000000000000000000000..d3bdacae8e97025d01363cd4914ffa361fd32bdf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile30.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent60 } from "./manyImportFile60" +import { ManyImportComponent61 } from "./manyImportFile61" + + +@Component +export struct ManyImportComponent30 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent60() + ManyImportComponent61() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile31.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile31.ets new file mode 100644 index 0000000000000000000000000000000000000000..37fca9b2561f4f67267a2344fa92f7d7a6ee79c0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile31.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent62 } from "./manyImportFile62" +import { ManyImportComponent63 } from "./manyImportFile63" + + +@Component +export struct ManyImportComponent31 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent62() + ManyImportComponent63() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile32.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile32.ets new file mode 100644 index 0000000000000000000000000000000000000000..7a9818b110b035e7f79c317759f2007a8c278892 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile32.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent64 } from "./manyImportFile64" +import { ManyImportComponent65 } from "./manyImportFile65" + + +@Component +export struct ManyImportComponent32 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent64() + ManyImportComponent65() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile33.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile33.ets new file mode 100644 index 0000000000000000000000000000000000000000..776406b9bbd31eea21fc29edebfe26b0908df687 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile33.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent66 } from "./manyImportFile66" +import { ManyImportComponent67 } from "./manyImportFile67" + + +@Component +export struct ManyImportComponent33 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent66() + ManyImportComponent67() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile34.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile34.ets new file mode 100644 index 0000000000000000000000000000000000000000..bdc00351c95f01fbcf12ddb035ae6533fd628dc9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile34.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent68 } from "./manyImportFile68" +import { ManyImportComponent69 } from "./manyImportFile69" + + +@Component +export struct ManyImportComponent34 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent68() + ManyImportComponent69() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile35.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile35.ets new file mode 100644 index 0000000000000000000000000000000000000000..f36f81d4585541297c4a9f208550f79ce53afef6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile35.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent70 } from "./manyImportFile70" +import { ManyImportComponent71 } from "./manyImportFile71" + + +@Component +export struct ManyImportComponent35 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent70() + ManyImportComponent71() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile36.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile36.ets new file mode 100644 index 0000000000000000000000000000000000000000..75d4da0b244d358e31f94c136a4b90680d6f3355 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile36.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent72 } from "./manyImportFile72" +import { ManyImportComponent73 } from "./manyImportFile73" + + +@Component +export struct ManyImportComponent36 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent72() + ManyImportComponent73() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile37.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile37.ets new file mode 100644 index 0000000000000000000000000000000000000000..4aec57489f31fb3bf9c7cee55dcc5ac2e0663142 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile37.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent74 } from "./manyImportFile74" +import { ManyImportComponent75 } from "./manyImportFile75" + + +@Component +export struct ManyImportComponent37 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent74() + ManyImportComponent75() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile38.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile38.ets new file mode 100644 index 0000000000000000000000000000000000000000..b7a6bc09a4614d3a1cd12505abeaf27864b72fea --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile38.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent76 } from "./manyImportFile76" +import { ManyImportComponent77 } from "./manyImportFile77" + + +@Component +export struct ManyImportComponent38 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent76() + ManyImportComponent77() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile39.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile39.ets new file mode 100644 index 0000000000000000000000000000000000000000..afe235dae62f8c4898096703593eb5e6b8547a2e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile39.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent78 } from "./manyImportFile78" +import { ManyImportComponent79 } from "./manyImportFile79" + + +@Component +export struct ManyImportComponent39 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent78() + ManyImportComponent79() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile4.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile4.ets new file mode 100644 index 0000000000000000000000000000000000000000..2e02a2756b06957e9d05c56e624a1bd1ad5eec9e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile4.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent8 } from "./manyImportFile8" +import { ManyImportComponent9 } from "./manyImportFile9" + + +@Component +export struct ManyImportComponent4 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent8() + ManyImportComponent9() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile40.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile40.ets new file mode 100644 index 0000000000000000000000000000000000000000..49d052ce2b3bbcb49717f02a2ddbc8bd1bd9b8c7 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile40.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent80 } from "./manyImportFile80" +import { ManyImportComponent81 } from "./manyImportFile81" + + +@Component +export struct ManyImportComponent40 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent80() + ManyImportComponent81() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile41.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile41.ets new file mode 100644 index 0000000000000000000000000000000000000000..6193e67964be3eea3ce3d3d30680815d1e35a50c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile41.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent82 } from "./manyImportFile82" +import { ManyImportComponent83 } from "./manyImportFile83" + + +@Component +export struct ManyImportComponent41 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent82() + ManyImportComponent83() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile42.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile42.ets new file mode 100644 index 0000000000000000000000000000000000000000..6adc775b7b53a17bd9a4a0225f03a8b78082aadd --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile42.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent84 } from "./manyImportFile84" +import { ManyImportComponent85 } from "./manyImportFile85" + + +@Component +export struct ManyImportComponent42 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent84() + ManyImportComponent85() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile43.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile43.ets new file mode 100644 index 0000000000000000000000000000000000000000..7ddebdec27c41cd8d23f6f0e13cf7fcb6d7c23cf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile43.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent86 } from "./manyImportFile86" +import { ManyImportComponent87 } from "./manyImportFile87" + + +@Component +export struct ManyImportComponent43 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent86() + ManyImportComponent87() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile44.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile44.ets new file mode 100644 index 0000000000000000000000000000000000000000..53c82bcb00da99bb035d883c9e7cc48fb2eafea4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile44.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent88 } from "./manyImportFile88" +import { ManyImportComponent89 } from "./manyImportFile89" + + +@Component +export struct ManyImportComponent44 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent88() + ManyImportComponent89() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile45.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile45.ets new file mode 100644 index 0000000000000000000000000000000000000000..3989124d340b525fdce7a953bb2bfbd6e01cbc38 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile45.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent90 } from "./manyImportFile90" +import { ManyImportComponent91 } from "./manyImportFile91" + + +@Component +export struct ManyImportComponent45 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent90() + ManyImportComponent91() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile46.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile46.ets new file mode 100644 index 0000000000000000000000000000000000000000..2f544ae80b13158735f8d3cd680bdf4347b1471c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile46.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent92 } from "./manyImportFile92" +import { ManyImportComponent93 } from "./manyImportFile93" + + +@Component +export struct ManyImportComponent46 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent92() + ManyImportComponent93() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile47.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile47.ets new file mode 100644 index 0000000000000000000000000000000000000000..221c8c1a20594ee7dd4c4839dc708bf17c9fca10 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile47.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent94 } from "./manyImportFile94" +import { ManyImportComponent95 } from "./manyImportFile95" + + +@Component +export struct ManyImportComponent47 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent94() + ManyImportComponent95() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile48.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile48.ets new file mode 100644 index 0000000000000000000000000000000000000000..c3744d9518b560786b6ce5b895698e5da8ea21a9 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile48.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent96 } from "./manyImportFile96" +import { ManyImportComponent97 } from "./manyImportFile97" + + +@Component +export struct ManyImportComponent48 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent96() + ManyImportComponent97() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile49.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile49.ets new file mode 100644 index 0000000000000000000000000000000000000000..151e9c98d77dd81fdaad59aca198330aedda6f9b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile49.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent98 } from "./manyImportFile98" +import { ManyImportComponent99 } from "./manyImportFile99" + + +@Component +export struct ManyImportComponent49 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent98() + ManyImportComponent99() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile5.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile5.ets new file mode 100644 index 0000000000000000000000000000000000000000..848efea9c2142a14fdfcc08fa534efc33703e6a4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile5.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent10 } from "./manyImportFile10" +import { ManyImportComponent11 } from "./manyImportFile11" + + +@Component +export struct ManyImportComponent5 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent10() + ManyImportComponent11() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile50.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile50.ets new file mode 100644 index 0000000000000000000000000000000000000000..a221b767b45d2ddc6540f00d5a82f57ea38cdc15 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile50.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent100 } from "./manyImportFile100" +import { ManyImportComponent101 } from "./manyImportFile101" + + +@Component +export struct ManyImportComponent50 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent100() + ManyImportComponent101() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile51.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile51.ets new file mode 100644 index 0000000000000000000000000000000000000000..ae407860022286fa7c97bd049436b2a038a58589 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile51.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent102 } from "./manyImportFile102" +import { ManyImportComponent103 } from "./manyImportFile103" + + +@Component +export struct ManyImportComponent51 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent102() + ManyImportComponent103() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile52.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile52.ets new file mode 100644 index 0000000000000000000000000000000000000000..03faa4b8d2954a99328ac56ad8cadcdb304904a6 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile52.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent104 } from "./manyImportFile104" +import { ManyImportComponent105 } from "./manyImportFile105" + + +@Component +export struct ManyImportComponent52 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent104() + ManyImportComponent105() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile53.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile53.ets new file mode 100644 index 0000000000000000000000000000000000000000..1d316205bb243a448ce2bb75b77fe9c91613f3b4 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile53.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent106 } from "./manyImportFile106" +import { ManyImportComponent107 } from "./manyImportFile107" + + +@Component +export struct ManyImportComponent53 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent106() + ManyImportComponent107() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile54.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile54.ets new file mode 100644 index 0000000000000000000000000000000000000000..4d4069513eebeeb19fe7a93a9565ba00e8ecaa00 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile54.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent108 } from "./manyImportFile108" +import { ManyImportComponent109 } from "./manyImportFile109" + + +@Component +export struct ManyImportComponent54 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent108() + ManyImportComponent109() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile55.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile55.ets new file mode 100644 index 0000000000000000000000000000000000000000..8eee9fbc45c95fc427d871d24396d2e2ca6836ad --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile55.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent110 } from "./manyImportFile110" +import { ManyImportComponent111 } from "./manyImportFile111" + + +@Component +export struct ManyImportComponent55 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent110() + ManyImportComponent111() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile56.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile56.ets new file mode 100644 index 0000000000000000000000000000000000000000..76b540e2985b9ce36c9b2d5a5338cbbf16388e78 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile56.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent112 } from "./manyImportFile112" +import { ManyImportComponent113 } from "./manyImportFile113" + + +@Component +export struct ManyImportComponent56 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent112() + ManyImportComponent113() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile57.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile57.ets new file mode 100644 index 0000000000000000000000000000000000000000..2062de07115386c578fddc52bbd5b418a4f638e5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile57.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent114 } from "./manyImportFile114" +import { ManyImportComponent115 } from "./manyImportFile115" + + +@Component +export struct ManyImportComponent57 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent114() + ManyImportComponent115() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile58.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile58.ets new file mode 100644 index 0000000000000000000000000000000000000000..30a47f3a9001f01f1c718e57b7ac9f923f89195c --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile58.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent116 } from "./manyImportFile116" +import { ManyImportComponent117 } from "./manyImportFile117" + + +@Component +export struct ManyImportComponent58 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent116() + ManyImportComponent117() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile59.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile59.ets new file mode 100644 index 0000000000000000000000000000000000000000..b7ecab2cbdf354cca95cf0bd044d4b01f5cceb63 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile59.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent118 } from "./manyImportFile118" +import { ManyImportComponent119 } from "./manyImportFile119" + + +@Component +export struct ManyImportComponent59 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent118() + ManyImportComponent119() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile6.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile6.ets new file mode 100644 index 0000000000000000000000000000000000000000..0c9ad6f70fc6d1cea548707a12f0d5780f31ff5b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile6.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent12 } from "./manyImportFile12" +import { ManyImportComponent13 } from "./manyImportFile13" + + +@Component +export struct ManyImportComponent6 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent12() + ManyImportComponent13() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile60.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile60.ets new file mode 100644 index 0000000000000000000000000000000000000000..e20e5ba99cde954bde931e42af80900074dcea40 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile60.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent120 } from "./manyImportFile120" +import { ManyImportComponent121 } from "./manyImportFile121" + + +@Component +export struct ManyImportComponent60 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent120() + ManyImportComponent121() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile61.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile61.ets new file mode 100644 index 0000000000000000000000000000000000000000..373f6f64d3db5ac0e9e98e1824df394a93d184b3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile61.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent122 } from "./manyImportFile122" +import { ManyImportComponent123 } from "./manyImportFile123" + + +@Component +export struct ManyImportComponent61 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent122() + ManyImportComponent123() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile62.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile62.ets new file mode 100644 index 0000000000000000000000000000000000000000..499f5380de6a0b238c5fe467cd4274f12b6e7045 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile62.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent124 } from "./manyImportFile124" +import { ManyImportComponent125 } from "./manyImportFile125" + + +@Component +export struct ManyImportComponent62 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent124() + ManyImportComponent125() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile63.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile63.ets new file mode 100644 index 0000000000000000000000000000000000000000..149bea57d275db4cbb132e935f65301f0e73f6fe --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile63.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent126 } from "./manyImportFile126" +import { ManyImportComponent127 } from "./manyImportFile127" + + +@Component +export struct ManyImportComponent63 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent126() + ManyImportComponent127() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile64.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile64.ets new file mode 100644 index 0000000000000000000000000000000000000000..0df6b9c64c8c6093b2895b045ac062ae6d2d3f36 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile64.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent128 } from "./manyImportFile128" +import { ManyImportComponent129 } from "./manyImportFile129" + + +@Component +export struct ManyImportComponent64 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent128() + ManyImportComponent129() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile65.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile65.ets new file mode 100644 index 0000000000000000000000000000000000000000..385ca3c5c5eabd0822da80cac7d42524088b9f01 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile65.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent130 } from "./manyImportFile130" +import { ManyImportComponent131 } from "./manyImportFile131" + + +@Component +export struct ManyImportComponent65 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent130() + ManyImportComponent131() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile66.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile66.ets new file mode 100644 index 0000000000000000000000000000000000000000..82f9626500ae841f47e871a95975fc044e701eb1 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile66.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent132 } from "./manyImportFile132" +import { ManyImportComponent133 } from "./manyImportFile133" + + +@Component +export struct ManyImportComponent66 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent132() + ManyImportComponent133() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile67.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile67.ets new file mode 100644 index 0000000000000000000000000000000000000000..028bf13aa32e5637885b3aa9c8670696cb9f101f --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile67.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent134 } from "./manyImportFile134" +import { ManyImportComponent135 } from "./manyImportFile135" + + +@Component +export struct ManyImportComponent67 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent134() + ManyImportComponent135() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile68.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile68.ets new file mode 100644 index 0000000000000000000000000000000000000000..b5690b3f6b7b0c1d8dbed74faa448d49b75576b2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile68.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent136 } from "./manyImportFile136" +import { ManyImportComponent137 } from "./manyImportFile137" + + +@Component +export struct ManyImportComponent68 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent136() + ManyImportComponent137() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile69.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile69.ets new file mode 100644 index 0000000000000000000000000000000000000000..1be1feb61fc9bd3df115ba22a373cc9f120a4e75 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile69.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent138 } from "./manyImportFile138" +import { ManyImportComponent139 } from "./manyImportFile139" + + +@Component +export struct ManyImportComponent69 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent138() + ManyImportComponent139() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile7.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile7.ets new file mode 100644 index 0000000000000000000000000000000000000000..ed0e9d497f1a15a5b5c75583f6412b32ea963986 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile7.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent14 } from "./manyImportFile14" +import { ManyImportComponent15 } from "./manyImportFile15" + + +@Component +export struct ManyImportComponent7 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent14() + ManyImportComponent15() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile70.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile70.ets new file mode 100644 index 0000000000000000000000000000000000000000..7ddde9aa60003a28930dce7351f5b97023df15d0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile70.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent140 } from "./manyImportFile140" +import { ManyImportComponent141 } from "./manyImportFile141" + + +@Component +export struct ManyImportComponent70 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent140() + ManyImportComponent141() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile71.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile71.ets new file mode 100644 index 0000000000000000000000000000000000000000..fd5f6019ed051aca000444fad04d7ba504188f9e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile71.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent142 } from "./manyImportFile142" +import { ManyImportComponent143 } from "./manyImportFile143" + + +@Component +export struct ManyImportComponent71 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent142() + ManyImportComponent143() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile72.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile72.ets new file mode 100644 index 0000000000000000000000000000000000000000..5d0aed5ffbe3e0000b5bbbb6fd8f40511f9fc4fc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile72.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent144 } from "./manyImportFile144" +import { ManyImportComponent145 } from "./manyImportFile145" + + +@Component +export struct ManyImportComponent72 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent144() + ManyImportComponent145() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile73.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile73.ets new file mode 100644 index 0000000000000000000000000000000000000000..cdb3fbdae28efab96024f26f1c7c54076ce93bc8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile73.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent146 } from "./manyImportFile146" +import { ManyImportComponent147 } from "./manyImportFile147" + + +@Component +export struct ManyImportComponent73 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent146() + ManyImportComponent147() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile74.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile74.ets new file mode 100644 index 0000000000000000000000000000000000000000..66ee3c114eac2f6ea6e6313265931edf368998eb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile74.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent148 } from "./manyImportFile148" +import { ManyImportComponent149 } from "./manyImportFile149" + + +@Component +export struct ManyImportComponent74 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent148() + ManyImportComponent149() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile75.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile75.ets new file mode 100644 index 0000000000000000000000000000000000000000..e4e11b58ef2f8ad5dd7b25c9f78984a7c84531bf --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile75.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent150 } from "./manyImportFile150" +import { ManyImportComponent151 } from "./manyImportFile151" + + +@Component +export struct ManyImportComponent75 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent150() + ManyImportComponent151() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile76.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile76.ets new file mode 100644 index 0000000000000000000000000000000000000000..44f6dfbed3ed4ef685bfab461850432a7cb3fcb5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile76.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent152 } from "./manyImportFile152" +import { ManyImportComponent153 } from "./manyImportFile153" + + +@Component +export struct ManyImportComponent76 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent152() + ManyImportComponent153() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile77.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile77.ets new file mode 100644 index 0000000000000000000000000000000000000000..7037c2c822a3346295500a9a5ad22be97ec637c0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile77.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent154 } from "./manyImportFile154" +import { ManyImportComponent155 } from "./manyImportFile155" + + +@Component +export struct ManyImportComponent77 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent154() + ManyImportComponent155() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile78.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile78.ets new file mode 100644 index 0000000000000000000000000000000000000000..a24a9097070cc130532b58c320ce0d7c87430fb8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile78.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent156 } from "./manyImportFile156" +import { ManyImportComponent157 } from "./manyImportFile157" + + +@Component +export struct ManyImportComponent78 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent156() + ManyImportComponent157() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile79.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile79.ets new file mode 100644 index 0000000000000000000000000000000000000000..c6ca97f1124dd1975f40d5defa407ffe64b06824 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile79.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent158 } from "./manyImportFile158" +import { ManyImportComponent159 } from "./manyImportFile159" + + +@Component +export struct ManyImportComponent79 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent158() + ManyImportComponent159() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile8.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile8.ets new file mode 100644 index 0000000000000000000000000000000000000000..0650dabbd8ad40a7de31277041a327deb5480bf5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile8.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent16 } from "./manyImportFile16" +import { ManyImportComponent17 } from "./manyImportFile17" + + +@Component +export struct ManyImportComponent8 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent16() + ManyImportComponent17() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile80.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile80.ets new file mode 100644 index 0000000000000000000000000000000000000000..b246365df4fed4aac937160953a46dd4a94724f3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile80.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent160 } from "./manyImportFile160" +import { ManyImportComponent161 } from "./manyImportFile161" + + +@Component +export struct ManyImportComponent80 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent160() + ManyImportComponent161() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile81.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile81.ets new file mode 100644 index 0000000000000000000000000000000000000000..c63cf34fb83640b32bcea589b706ab818a031d17 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile81.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent162 } from "./manyImportFile162" +import { ManyImportComponent163 } from "./manyImportFile163" + + +@Component +export struct ManyImportComponent81 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent162() + ManyImportComponent163() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile82.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile82.ets new file mode 100644 index 0000000000000000000000000000000000000000..1b357f5575e0f366f880764f409a554f2fbd8574 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile82.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent164 } from "./manyImportFile164" +import { ManyImportComponent165 } from "./manyImportFile165" + + +@Component +export struct ManyImportComponent82 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent164() + ManyImportComponent165() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile83.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile83.ets new file mode 100644 index 0000000000000000000000000000000000000000..de5fba1975838d029b1027985d86a90a6a8bc8bc --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile83.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent166 } from "./manyImportFile166" +import { ManyImportComponent167 } from "./manyImportFile167" + + +@Component +export struct ManyImportComponent83 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent166() + ManyImportComponent167() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile84.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile84.ets new file mode 100644 index 0000000000000000000000000000000000000000..4ee52e33357a4bc146e4b838d384d03d8344593a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile84.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent168 } from "./manyImportFile168" +import { ManyImportComponent169 } from "./manyImportFile169" + + +@Component +export struct ManyImportComponent84 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent168() + ManyImportComponent169() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile85.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile85.ets new file mode 100644 index 0000000000000000000000000000000000000000..e98cc16014adf6109c8098043d3ab813eced517e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile85.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent170 } from "./manyImportFile170" +import { ManyImportComponent171 } from "./manyImportFile171" + + +@Component +export struct ManyImportComponent85 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent170() + ManyImportComponent171() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile86.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile86.ets new file mode 100644 index 0000000000000000000000000000000000000000..7fe2a4cf9d8de28453d91ae73adc8980a787eb9d --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile86.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent172 } from "./manyImportFile172" +import { ManyImportComponent173 } from "./manyImportFile173" + + +@Component +export struct ManyImportComponent86 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent172() + ManyImportComponent173() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile87.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile87.ets new file mode 100644 index 0000000000000000000000000000000000000000..8157e2f4472eb685cfc059183093d4d013f0bb62 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile87.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent174 } from "./manyImportFile174" +import { ManyImportComponent175 } from "./manyImportFile175" + + +@Component +export struct ManyImportComponent87 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent174() + ManyImportComponent175() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile88.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile88.ets new file mode 100644 index 0000000000000000000000000000000000000000..9f1b2966531d59b56fa54eeb6ff1ace952822b20 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile88.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent176 } from "./manyImportFile176" +import { ManyImportComponent177 } from "./manyImportFile177" + + +@Component +export struct ManyImportComponent88 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent176() + ManyImportComponent177() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile89.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile89.ets new file mode 100644 index 0000000000000000000000000000000000000000..1353ee5e45288e8d836f2878dd9409d35e0da1f5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile89.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent178 } from "./manyImportFile178" +import { ManyImportComponent179 } from "./manyImportFile179" + + +@Component +export struct ManyImportComponent89 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent178() + ManyImportComponent179() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile9.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile9.ets new file mode 100644 index 0000000000000000000000000000000000000000..062730d4da95e2c11b80a13b3a3182e77a4a4f60 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile9.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent18 } from "./manyImportFile18" +import { ManyImportComponent19 } from "./manyImportFile19" + + +@Component +export struct ManyImportComponent9 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent18() + ManyImportComponent19() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile90.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile90.ets new file mode 100644 index 0000000000000000000000000000000000000000..2dbfdfba60c380212aaacc92aeb839010dd90b1a --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile90.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent180 } from "./manyImportFile180" +import { ManyImportComponent181 } from "./manyImportFile181" + + +@Component +export struct ManyImportComponent90 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent180() + ManyImportComponent181() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile91.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile91.ets new file mode 100644 index 0000000000000000000000000000000000000000..3a4a4517466d5c2114ebcddb4977c95003f30c4b --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile91.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent182 } from "./manyImportFile182" +import { ManyImportComponent183 } from "./manyImportFile183" + + +@Component +export struct ManyImportComponent91 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent182() + ManyImportComponent183() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile92.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile92.ets new file mode 100644 index 0000000000000000000000000000000000000000..b85d58c07ccbc5e3175e8fee2379780da25692c0 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile92.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent184 } from "./manyImportFile184" +import { ManyImportComponent185 } from "./manyImportFile185" + + +@Component +export struct ManyImportComponent92 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent184() + ManyImportComponent185() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile93.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile93.ets new file mode 100644 index 0000000000000000000000000000000000000000..39631ded6f17fd4ec3cb927dc413a5bc39b03da3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile93.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent186 } from "./manyImportFile186" +import { ManyImportComponent187 } from "./manyImportFile187" + + +@Component +export struct ManyImportComponent93 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent186() + ManyImportComponent187() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile94.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile94.ets new file mode 100644 index 0000000000000000000000000000000000000000..e855773601331cbf17d6822555424d6d3ce7d9b5 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile94.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent188 } from "./manyImportFile188" +import { ManyImportComponent189 } from "./manyImportFile189" + + +@Component +export struct ManyImportComponent94 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent188() + ManyImportComponent189() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile95.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile95.ets new file mode 100644 index 0000000000000000000000000000000000000000..c869cf6406fd41a7a4a37e4af66de83065e89566 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile95.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent190 } from "./manyImportFile190" +import { ManyImportComponent191 } from "./manyImportFile191" + + +@Component +export struct ManyImportComponent95 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent190() + ManyImportComponent191() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile96.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile96.ets new file mode 100644 index 0000000000000000000000000000000000000000..fdb74353f1f2e17f804e0256d26d870f185367cb --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile96.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent192 } from "./manyImportFile192" +import { ManyImportComponent193 } from "./manyImportFile193" + + +@Component +export struct ManyImportComponent96 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent192() + ManyImportComponent193() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile97.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile97.ets new file mode 100644 index 0000000000000000000000000000000000000000..b0224809e3120b87a65400b9ed95aeee13941fb3 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile97.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent194 } from "./manyImportFile194" +import { ManyImportComponent195 } from "./manyImportFile195" + + +@Component +export struct ManyImportComponent97 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent194() + ManyImportComponent195() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile98.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile98.ets new file mode 100644 index 0000000000000000000000000000000000000000..f9e528e6933c4cc1109c213104b09169403483e2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile98.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent196 } from "./manyImportFile196" +import { ManyImportComponent197 } from "./manyImportFile197" + + +@Component +export struct ManyImportComponent98 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent196() + ManyImportComponent197() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile99.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile99.ets new file mode 100644 index 0000000000000000000000000000000000000000..9bca5ed2f519976d010272a1e9c64e781653181e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportFiles/manyImportFile99.ets @@ -0,0 +1,20 @@ + +import { Component, Column, Text } from "@ohos.arkui" +import { State } from "@ohos.arkui" +import { ManyImportComponent198 } from "./manyImportFile198" +import { ManyImportComponent199 } from "./manyImportFile199" + + +@Component +export struct ManyImportComponent99 { + @State message: string = 'Hello ArkTS' + + build() { + Column() { + Text(this.message) + ManyImportComponent198() + ManyImportComponent199() + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportMain.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportMain.ets new file mode 100644 index 0000000000000000000000000000000000000000..aeaddd8f5efc8d210f7493f33a437d66da63fcb2 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/manyImportMain.ets @@ -0,0 +1,16 @@ + +/** + * 多级import manyImportMain.ets + */ + +import { Component, Column } from "@ohos.arkui" +import { ManyImportComponent1 } from "./manyImportFiles/manyImportFile1" + +@Component +struct ManyImportMain { + build() { + Column() { + ManyImportComponent1() + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/positionalMemoization.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/positionalMemoization.ets new file mode 100644 index 0000000000000000000000000000000000000000..1a2d01bef53cb4c3e3fdf0757ee5f92b5f7fc5a8 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/positionalMemoization.ets @@ -0,0 +1,12025 @@ + +/** + * memo positionalMemoization.ets + */ + +import { Component, Column, Text, ClickEvent, Button, FontWeight } from "@ohos.arkui" +import { State, memo } from "@ohos.arkui" + +@Component +struct PositionalMemoizationMain { + @State num: number = 0; + + + @memo + add0(a: number, b: number): number { + return a + b; + } + + @memo + add1(a: number, b: number): number { + return a + b; + } + + @memo + add2(a: number, b: number): number { + return a + b; + } + + @memo + add3(a: number, b: number): number { + return a + b; + } + + @memo + add4(a: number, b: number): number { + return a + b; + } + + @memo + add5(a: number, b: number): number { + return a + b; + } + + @memo + add6(a: number, b: number): number { + return a + b; + } + + @memo + add7(a: number, b: number): number { + return a + b; + } + + @memo + add8(a: number, b: number): number { + return a + b; + } + + @memo + add9(a: number, b: number): number { + return a + b; + } + + @memo + add10(a: number, b: number): number { + return a + b; + } + + @memo + add11(a: number, b: number): number { + return a + b; + } + + @memo + add12(a: number, b: number): number { + return a + b; + } + + @memo + add13(a: number, b: number): number { + return a + b; + } + + @memo + add14(a: number, b: number): number { + return a + b; + } + + @memo + add15(a: number, b: number): number { + return a + b; + } + + @memo + add16(a: number, b: number): number { + return a + b; + } + + @memo + add17(a: number, b: number): number { + return a + b; + } + + @memo + add18(a: number, b: number): number { + return a + b; + } + + @memo + add19(a: number, b: number): number { + return a + b; + } + + @memo + add20(a: number, b: number): number { + return a + b; + } + + @memo + add21(a: number, b: number): number { + return a + b; + } + + @memo + add22(a: number, b: number): number { + return a + b; + } + + @memo + add23(a: number, b: number): number { + return a + b; + } + + @memo + add24(a: number, b: number): number { + return a + b; + } + + @memo + add25(a: number, b: number): number { + return a + b; + } + + @memo + add26(a: number, b: number): number { + return a + b; + } + + @memo + add27(a: number, b: number): number { + return a + b; + } + + @memo + add28(a: number, b: number): number { + return a + b; + } + + @memo + add29(a: number, b: number): number { + return a + b; + } + + @memo + add30(a: number, b: number): number { + return a + b; + } + + @memo + add31(a: number, b: number): number { + return a + b; + } + + @memo + add32(a: number, b: number): number { + return a + b; + } + + @memo + add33(a: number, b: number): number { + return a + b; + } + + @memo + add34(a: number, b: number): number { + return a + b; + } + + @memo + add35(a: number, b: number): number { + return a + b; + } + + @memo + add36(a: number, b: number): number { + return a + b; + } + + @memo + add37(a: number, b: number): number { + return a + b; + } + + @memo + add38(a: number, b: number): number { + return a + b; + } + + @memo + add39(a: number, b: number): number { + return a + b; + } + + @memo + add40(a: number, b: number): number { + return a + b; + } + + @memo + add41(a: number, b: number): number { + return a + b; + } + + @memo + add42(a: number, b: number): number { + return a + b; + } + + @memo + add43(a: number, b: number): number { + return a + b; + } + + @memo + add44(a: number, b: number): number { + return a + b; + } + + @memo + add45(a: number, b: number): number { + return a + b; + } + + @memo + add46(a: number, b: number): number { + return a + b; + } + + @memo + add47(a: number, b: number): number { + return a + b; + } + + @memo + add48(a: number, b: number): number { + return a + b; + } + + @memo + add49(a: number, b: number): number { + return a + b; + } + + @memo + add50(a: number, b: number): number { + return a + b; + } + + @memo + add51(a: number, b: number): number { + return a + b; + } + + @memo + add52(a: number, b: number): number { + return a + b; + } + + @memo + add53(a: number, b: number): number { + return a + b; + } + + @memo + add54(a: number, b: number): number { + return a + b; + } + + @memo + add55(a: number, b: number): number { + return a + b; + } + + @memo + add56(a: number, b: number): number { + return a + b; + } + + @memo + add57(a: number, b: number): number { + return a + b; + } + + @memo + add58(a: number, b: number): number { + return a + b; + } + + @memo + add59(a: number, b: number): number { + return a + b; + } + + @memo + add60(a: number, b: number): number { + return a + b; + } + + @memo + add61(a: number, b: number): number { + return a + b; + } + + @memo + add62(a: number, b: number): number { + return a + b; + } + + @memo + add63(a: number, b: number): number { + return a + b; + } + + @memo + add64(a: number, b: number): number { + return a + b; + } + + @memo + add65(a: number, b: number): number { + return a + b; + } + + @memo + add66(a: number, b: number): number { + return a + b; + } + + @memo + add67(a: number, b: number): number { + return a + b; + } + + @memo + add68(a: number, b: number): number { + return a + b; + } + + @memo + add69(a: number, b: number): number { + return a + b; + } + + @memo + add70(a: number, b: number): number { + return a + b; + } + + @memo + add71(a: number, b: number): number { + return a + b; + } + + @memo + add72(a: number, b: number): number { + return a + b; + } + + @memo + add73(a: number, b: number): number { + return a + b; + } + + @memo + add74(a: number, b: number): number { + return a + b; + } + + @memo + add75(a: number, b: number): number { + return a + b; + } + + @memo + add76(a: number, b: number): number { + return a + b; + } + + @memo + add77(a: number, b: number): number { + return a + b; + } + + @memo + add78(a: number, b: number): number { + return a + b; + } + + @memo + add79(a: number, b: number): number { + return a + b; + } + + @memo + add80(a: number, b: number): number { + return a + b; + } + + @memo + add81(a: number, b: number): number { + return a + b; + } + + @memo + add82(a: number, b: number): number { + return a + b; + } + + @memo + add83(a: number, b: number): number { + return a + b; + } + + @memo + add84(a: number, b: number): number { + return a + b; + } + + @memo + add85(a: number, b: number): number { + return a + b; + } + + @memo + add86(a: number, b: number): number { + return a + b; + } + + @memo + add87(a: number, b: number): number { + return a + b; + } + + @memo + add88(a: number, b: number): number { + return a + b; + } + + @memo + add89(a: number, b: number): number { + return a + b; + } + + @memo + add90(a: number, b: number): number { + return a + b; + } + + @memo + add91(a: number, b: number): number { + return a + b; + } + + @memo + add92(a: number, b: number): number { + return a + b; + } + + @memo + add93(a: number, b: number): number { + return a + b; + } + + @memo + add94(a: number, b: number): number { + return a + b; + } + + @memo + add95(a: number, b: number): number { + return a + b; + } + + @memo + add96(a: number, b: number): number { + return a + b; + } + + @memo + add97(a: number, b: number): number { + return a + b; + } + + @memo + add98(a: number, b: number): number { + return a + b; + } + + @memo + add99(a: number, b: number): number { + return a + b; + } + + @memo + add100(a: number, b: number): number { + return a + b; + } + + @memo + add101(a: number, b: number): number { + return a + b; + } + + @memo + add102(a: number, b: number): number { + return a + b; + } + + @memo + add103(a: number, b: number): number { + return a + b; + } + + @memo + add104(a: number, b: number): number { + return a + b; + } + + @memo + add105(a: number, b: number): number { + return a + b; + } + + @memo + add106(a: number, b: number): number { + return a + b; + } + + @memo + add107(a: number, b: number): number { + return a + b; + } + + @memo + add108(a: number, b: number): number { + return a + b; + } + + @memo + add109(a: number, b: number): number { + return a + b; + } + + @memo + add110(a: number, b: number): number { + return a + b; + } + + @memo + add111(a: number, b: number): number { + return a + b; + } + + @memo + add112(a: number, b: number): number { + return a + b; + } + + @memo + add113(a: number, b: number): number { + return a + b; + } + + @memo + add114(a: number, b: number): number { + return a + b; + } + + @memo + add115(a: number, b: number): number { + return a + b; + } + + @memo + add116(a: number, b: number): number { + return a + b; + } + + @memo + add117(a: number, b: number): number { + return a + b; + } + + @memo + add118(a: number, b: number): number { + return a + b; + } + + @memo + add119(a: number, b: number): number { + return a + b; + } + + @memo + add120(a: number, b: number): number { + return a + b; + } + + @memo + add121(a: number, b: number): number { + return a + b; + } + + @memo + add122(a: number, b: number): number { + return a + b; + } + + @memo + add123(a: number, b: number): number { + return a + b; + } + + @memo + add124(a: number, b: number): number { + return a + b; + } + + @memo + add125(a: number, b: number): number { + return a + b; + } + + @memo + add126(a: number, b: number): number { + return a + b; + } + + @memo + add127(a: number, b: number): number { + return a + b; + } + + @memo + add128(a: number, b: number): number { + return a + b; + } + + @memo + add129(a: number, b: number): number { + return a + b; + } + + @memo + add130(a: number, b: number): number { + return a + b; + } + + @memo + add131(a: number, b: number): number { + return a + b; + } + + @memo + add132(a: number, b: number): number { + return a + b; + } + + @memo + add133(a: number, b: number): number { + return a + b; + } + + @memo + add134(a: number, b: number): number { + return a + b; + } + + @memo + add135(a: number, b: number): number { + return a + b; + } + + @memo + add136(a: number, b: number): number { + return a + b; + } + + @memo + add137(a: number, b: number): number { + return a + b; + } + + @memo + add138(a: number, b: number): number { + return a + b; + } + + @memo + add139(a: number, b: number): number { + return a + b; + } + + @memo + add140(a: number, b: number): number { + return a + b; + } + + @memo + add141(a: number, b: number): number { + return a + b; + } + + @memo + add142(a: number, b: number): number { + return a + b; + } + + @memo + add143(a: number, b: number): number { + return a + b; + } + + @memo + add144(a: number, b: number): number { + return a + b; + } + + @memo + add145(a: number, b: number): number { + return a + b; + } + + @memo + add146(a: number, b: number): number { + return a + b; + } + + @memo + add147(a: number, b: number): number { + return a + b; + } + + @memo + add148(a: number, b: number): number { + return a + b; + } + + @memo + add149(a: number, b: number): number { + return a + b; + } + + @memo + add150(a: number, b: number): number { + return a + b; + } + + @memo + add151(a: number, b: number): number { + return a + b; + } + + @memo + add152(a: number, b: number): number { + return a + b; + } + + @memo + add153(a: number, b: number): number { + return a + b; + } + + @memo + add154(a: number, b: number): number { + return a + b; + } + + @memo + add155(a: number, b: number): number { + return a + b; + } + + @memo + add156(a: number, b: number): number { + return a + b; + } + + @memo + add157(a: number, b: number): number { + return a + b; + } + + @memo + add158(a: number, b: number): number { + return a + b; + } + + @memo + add159(a: number, b: number): number { + return a + b; + } + + @memo + add160(a: number, b: number): number { + return a + b; + } + + @memo + add161(a: number, b: number): number { + return a + b; + } + + @memo + add162(a: number, b: number): number { + return a + b; + } + + @memo + add163(a: number, b: number): number { + return a + b; + } + + @memo + add164(a: number, b: number): number { + return a + b; + } + + @memo + add165(a: number, b: number): number { + return a + b; + } + + @memo + add166(a: number, b: number): number { + return a + b; + } + + @memo + add167(a: number, b: number): number { + return a + b; + } + + @memo + add168(a: number, b: number): number { + return a + b; + } + + @memo + add169(a: number, b: number): number { + return a + b; + } + + @memo + add170(a: number, b: number): number { + return a + b; + } + + @memo + add171(a: number, b: number): number { + return a + b; + } + + @memo + add172(a: number, b: number): number { + return a + b; + } + + @memo + add173(a: number, b: number): number { + return a + b; + } + + @memo + add174(a: number, b: number): number { + return a + b; + } + + @memo + add175(a: number, b: number): number { + return a + b; + } + + @memo + add176(a: number, b: number): number { + return a + b; + } + + @memo + add177(a: number, b: number): number { + return a + b; + } + + @memo + add178(a: number, b: number): number { + return a + b; + } + + @memo + add179(a: number, b: number): number { + return a + b; + } + + @memo + add180(a: number, b: number): number { + return a + b; + } + + @memo + add181(a: number, b: number): number { + return a + b; + } + + @memo + add182(a: number, b: number): number { + return a + b; + } + + @memo + add183(a: number, b: number): number { + return a + b; + } + + @memo + add184(a: number, b: number): number { + return a + b; + } + + @memo + add185(a: number, b: number): number { + return a + b; + } + + @memo + add186(a: number, b: number): number { + return a + b; + } + + @memo + add187(a: number, b: number): number { + return a + b; + } + + @memo + add188(a: number, b: number): number { + return a + b; + } + + @memo + add189(a: number, b: number): number { + return a + b; + } + + @memo + add190(a: number, b: number): number { + return a + b; + } + + @memo + add191(a: number, b: number): number { + return a + b; + } + + @memo + add192(a: number, b: number): number { + return a + b; + } + + @memo + add193(a: number, b: number): number { + return a + b; + } + + @memo + add194(a: number, b: number): number { + return a + b; + } + + @memo + add195(a: number, b: number): number { + return a + b; + } + + @memo + add196(a: number, b: number): number { + return a + b; + } + + @memo + add197(a: number, b: number): number { + return a + b; + } + + @memo + add198(a: number, b: number): number { + return a + b; + } + + @memo + add199(a: number, b: number): number { + return a + b; + } + + @memo + add200(a: number, b: number): number { + return a + b; + } + + @memo + add201(a: number, b: number): number { + return a + b; + } + + @memo + add202(a: number, b: number): number { + return a + b; + } + + @memo + add203(a: number, b: number): number { + return a + b; + } + + @memo + add204(a: number, b: number): number { + return a + b; + } + + @memo + add205(a: number, b: number): number { + return a + b; + } + + @memo + add206(a: number, b: number): number { + return a + b; + } + + @memo + add207(a: number, b: number): number { + return a + b; + } + + @memo + add208(a: number, b: number): number { + return a + b; + } + + @memo + add209(a: number, b: number): number { + return a + b; + } + + @memo + add210(a: number, b: number): number { + return a + b; + } + + @memo + add211(a: number, b: number): number { + return a + b; + } + + @memo + add212(a: number, b: number): number { + return a + b; + } + + @memo + add213(a: number, b: number): number { + return a + b; + } + + @memo + add214(a: number, b: number): number { + return a + b; + } + + @memo + add215(a: number, b: number): number { + return a + b; + } + + @memo + add216(a: number, b: number): number { + return a + b; + } + + @memo + add217(a: number, b: number): number { + return a + b; + } + + @memo + add218(a: number, b: number): number { + return a + b; + } + + @memo + add219(a: number, b: number): number { + return a + b; + } + + @memo + add220(a: number, b: number): number { + return a + b; + } + + @memo + add221(a: number, b: number): number { + return a + b; + } + + @memo + add222(a: number, b: number): number { + return a + b; + } + + @memo + add223(a: number, b: number): number { + return a + b; + } + + @memo + add224(a: number, b: number): number { + return a + b; + } + + @memo + add225(a: number, b: number): number { + return a + b; + } + + @memo + add226(a: number, b: number): number { + return a + b; + } + + @memo + add227(a: number, b: number): number { + return a + b; + } + + @memo + add228(a: number, b: number): number { + return a + b; + } + + @memo + add229(a: number, b: number): number { + return a + b; + } + + @memo + add230(a: number, b: number): number { + return a + b; + } + + @memo + add231(a: number, b: number): number { + return a + b; + } + + @memo + add232(a: number, b: number): number { + return a + b; + } + + @memo + add233(a: number, b: number): number { + return a + b; + } + + @memo + add234(a: number, b: number): number { + return a + b; + } + + @memo + add235(a: number, b: number): number { + return a + b; + } + + @memo + add236(a: number, b: number): number { + return a + b; + } + + @memo + add237(a: number, b: number): number { + return a + b; + } + + @memo + add238(a: number, b: number): number { + return a + b; + } + + @memo + add239(a: number, b: number): number { + return a + b; + } + + @memo + add240(a: number, b: number): number { + return a + b; + } + + @memo + add241(a: number, b: number): number { + return a + b; + } + + @memo + add242(a: number, b: number): number { + return a + b; + } + + @memo + add243(a: number, b: number): number { + return a + b; + } + + @memo + add244(a: number, b: number): number { + return a + b; + } + + @memo + add245(a: number, b: number): number { + return a + b; + } + + @memo + add246(a: number, b: number): number { + return a + b; + } + + @memo + add247(a: number, b: number): number { + return a + b; + } + + @memo + add248(a: number, b: number): number { + return a + b; + } + + @memo + add249(a: number, b: number): number { + return a + b; + } + + @memo + add250(a: number, b: number): number { + return a + b; + } + + @memo + add251(a: number, b: number): number { + return a + b; + } + + @memo + add252(a: number, b: number): number { + return a + b; + } + + @memo + add253(a: number, b: number): number { + return a + b; + } + + @memo + add254(a: number, b: number): number { + return a + b; + } + + @memo + add255(a: number, b: number): number { + return a + b; + } + + @memo + add256(a: number, b: number): number { + return a + b; + } + + @memo + add257(a: number, b: number): number { + return a + b; + } + + @memo + add258(a: number, b: number): number { + return a + b; + } + + @memo + add259(a: number, b: number): number { + return a + b; + } + + @memo + add260(a: number, b: number): number { + return a + b; + } + + @memo + add261(a: number, b: number): number { + return a + b; + } + + @memo + add262(a: number, b: number): number { + return a + b; + } + + @memo + add263(a: number, b: number): number { + return a + b; + } + + @memo + add264(a: number, b: number): number { + return a + b; + } + + @memo + add265(a: number, b: number): number { + return a + b; + } + + @memo + add266(a: number, b: number): number { + return a + b; + } + + @memo + add267(a: number, b: number): number { + return a + b; + } + + @memo + add268(a: number, b: number): number { + return a + b; + } + + @memo + add269(a: number, b: number): number { + return a + b; + } + + @memo + add270(a: number, b: number): number { + return a + b; + } + + @memo + add271(a: number, b: number): number { + return a + b; + } + + @memo + add272(a: number, b: number): number { + return a + b; + } + + @memo + add273(a: number, b: number): number { + return a + b; + } + + @memo + add274(a: number, b: number): number { + return a + b; + } + + @memo + add275(a: number, b: number): number { + return a + b; + } + + @memo + add276(a: number, b: number): number { + return a + b; + } + + @memo + add277(a: number, b: number): number { + return a + b; + } + + @memo + add278(a: number, b: number): number { + return a + b; + } + + @memo + add279(a: number, b: number): number { + return a + b; + } + + @memo + add280(a: number, b: number): number { + return a + b; + } + + @memo + add281(a: number, b: number): number { + return a + b; + } + + @memo + add282(a: number, b: number): number { + return a + b; + } + + @memo + add283(a: number, b: number): number { + return a + b; + } + + @memo + add284(a: number, b: number): number { + return a + b; + } + + @memo + add285(a: number, b: number): number { + return a + b; + } + + @memo + add286(a: number, b: number): number { + return a + b; + } + + @memo + add287(a: number, b: number): number { + return a + b; + } + + @memo + add288(a: number, b: number): number { + return a + b; + } + + @memo + add289(a: number, b: number): number { + return a + b; + } + + @memo + add290(a: number, b: number): number { + return a + b; + } + + @memo + add291(a: number, b: number): number { + return a + b; + } + + @memo + add292(a: number, b: number): number { + return a + b; + } + + @memo + add293(a: number, b: number): number { + return a + b; + } + + @memo + add294(a: number, b: number): number { + return a + b; + } + + @memo + add295(a: number, b: number): number { + return a + b; + } + + @memo + add296(a: number, b: number): number { + return a + b; + } + + @memo + add297(a: number, b: number): number { + return a + b; + } + + @memo + add298(a: number, b: number): number { + return a + b; + } + + @memo + add299(a: number, b: number): number { + return a + b; + } + + @memo + add300(a: number, b: number): number { + return a + b; + } + + @memo + add301(a: number, b: number): number { + return a + b; + } + + @memo + add302(a: number, b: number): number { + return a + b; + } + + @memo + add303(a: number, b: number): number { + return a + b; + } + + @memo + add304(a: number, b: number): number { + return a + b; + } + + @memo + add305(a: number, b: number): number { + return a + b; + } + + @memo + add306(a: number, b: number): number { + return a + b; + } + + @memo + add307(a: number, b: number): number { + return a + b; + } + + @memo + add308(a: number, b: number): number { + return a + b; + } + + @memo + add309(a: number, b: number): number { + return a + b; + } + + @memo + add310(a: number, b: number): number { + return a + b; + } + + @memo + add311(a: number, b: number): number { + return a + b; + } + + @memo + add312(a: number, b: number): number { + return a + b; + } + + @memo + add313(a: number, b: number): number { + return a + b; + } + + @memo + add314(a: number, b: number): number { + return a + b; + } + + @memo + add315(a: number, b: number): number { + return a + b; + } + + @memo + add316(a: number, b: number): number { + return a + b; + } + + @memo + add317(a: number, b: number): number { + return a + b; + } + + @memo + add318(a: number, b: number): number { + return a + b; + } + + @memo + add319(a: number, b: number): number { + return a + b; + } + + @memo + add320(a: number, b: number): number { + return a + b; + } + + @memo + add321(a: number, b: number): number { + return a + b; + } + + @memo + add322(a: number, b: number): number { + return a + b; + } + + @memo + add323(a: number, b: number): number { + return a + b; + } + + @memo + add324(a: number, b: number): number { + return a + b; + } + + @memo + add325(a: number, b: number): number { + return a + b; + } + + @memo + add326(a: number, b: number): number { + return a + b; + } + + @memo + add327(a: number, b: number): number { + return a + b; + } + + @memo + add328(a: number, b: number): number { + return a + b; + } + + @memo + add329(a: number, b: number): number { + return a + b; + } + + @memo + add330(a: number, b: number): number { + return a + b; + } + + @memo + add331(a: number, b: number): number { + return a + b; + } + + @memo + add332(a: number, b: number): number { + return a + b; + } + + @memo + add333(a: number, b: number): number { + return a + b; + } + + @memo + add334(a: number, b: number): number { + return a + b; + } + + @memo + add335(a: number, b: number): number { + return a + b; + } + + @memo + add336(a: number, b: number): number { + return a + b; + } + + @memo + add337(a: number, b: number): number { + return a + b; + } + + @memo + add338(a: number, b: number): number { + return a + b; + } + + @memo + add339(a: number, b: number): number { + return a + b; + } + + @memo + add340(a: number, b: number): number { + return a + b; + } + + @memo + add341(a: number, b: number): number { + return a + b; + } + + @memo + add342(a: number, b: number): number { + return a + b; + } + + @memo + add343(a: number, b: number): number { + return a + b; + } + + @memo + add344(a: number, b: number): number { + return a + b; + } + + @memo + add345(a: number, b: number): number { + return a + b; + } + + @memo + add346(a: number, b: number): number { + return a + b; + } + + @memo + add347(a: number, b: number): number { + return a + b; + } + + @memo + add348(a: number, b: number): number { + return a + b; + } + + @memo + add349(a: number, b: number): number { + return a + b; + } + + @memo + add350(a: number, b: number): number { + return a + b; + } + + @memo + add351(a: number, b: number): number { + return a + b; + } + + @memo + add352(a: number, b: number): number { + return a + b; + } + + @memo + add353(a: number, b: number): number { + return a + b; + } + + @memo + add354(a: number, b: number): number { + return a + b; + } + + @memo + add355(a: number, b: number): number { + return a + b; + } + + @memo + add356(a: number, b: number): number { + return a + b; + } + + @memo + add357(a: number, b: number): number { + return a + b; + } + + @memo + add358(a: number, b: number): number { + return a + b; + } + + @memo + add359(a: number, b: number): number { + return a + b; + } + + @memo + add360(a: number, b: number): number { + return a + b; + } + + @memo + add361(a: number, b: number): number { + return a + b; + } + + @memo + add362(a: number, b: number): number { + return a + b; + } + + @memo + add363(a: number, b: number): number { + return a + b; + } + + @memo + add364(a: number, b: number): number { + return a + b; + } + + @memo + add365(a: number, b: number): number { + return a + b; + } + + @memo + add366(a: number, b: number): number { + return a + b; + } + + @memo + add367(a: number, b: number): number { + return a + b; + } + + @memo + add368(a: number, b: number): number { + return a + b; + } + + @memo + add369(a: number, b: number): number { + return a + b; + } + + @memo + add370(a: number, b: number): number { + return a + b; + } + + @memo + add371(a: number, b: number): number { + return a + b; + } + + @memo + add372(a: number, b: number): number { + return a + b; + } + + @memo + add373(a: number, b: number): number { + return a + b; + } + + @memo + add374(a: number, b: number): number { + return a + b; + } + + @memo + add375(a: number, b: number): number { + return a + b; + } + + @memo + add376(a: number, b: number): number { + return a + b; + } + + @memo + add377(a: number, b: number): number { + return a + b; + } + + @memo + add378(a: number, b: number): number { + return a + b; + } + + @memo + add379(a: number, b: number): number { + return a + b; + } + + @memo + add380(a: number, b: number): number { + return a + b; + } + + @memo + add381(a: number, b: number): number { + return a + b; + } + + @memo + add382(a: number, b: number): number { + return a + b; + } + + @memo + add383(a: number, b: number): number { + return a + b; + } + + @memo + add384(a: number, b: number): number { + return a + b; + } + + @memo + add385(a: number, b: number): number { + return a + b; + } + + @memo + add386(a: number, b: number): number { + return a + b; + } + + @memo + add387(a: number, b: number): number { + return a + b; + } + + @memo + add388(a: number, b: number): number { + return a + b; + } + + @memo + add389(a: number, b: number): number { + return a + b; + } + + @memo + add390(a: number, b: number): number { + return a + b; + } + + @memo + add391(a: number, b: number): number { + return a + b; + } + + @memo + add392(a: number, b: number): number { + return a + b; + } + + @memo + add393(a: number, b: number): number { + return a + b; + } + + @memo + add394(a: number, b: number): number { + return a + b; + } + + @memo + add395(a: number, b: number): number { + return a + b; + } + + @memo + add396(a: number, b: number): number { + return a + b; + } + + @memo + add397(a: number, b: number): number { + return a + b; + } + + @memo + add398(a: number, b: number): number { + return a + b; + } + + @memo + add399(a: number, b: number): number { + return a + b; + } + + @memo + add400(a: number, b: number): number { + return a + b; + } + + @memo + add401(a: number, b: number): number { + return a + b; + } + + @memo + add402(a: number, b: number): number { + return a + b; + } + + @memo + add403(a: number, b: number): number { + return a + b; + } + + @memo + add404(a: number, b: number): number { + return a + b; + } + + @memo + add405(a: number, b: number): number { + return a + b; + } + + @memo + add406(a: number, b: number): number { + return a + b; + } + + @memo + add407(a: number, b: number): number { + return a + b; + } + + @memo + add408(a: number, b: number): number { + return a + b; + } + + @memo + add409(a: number, b: number): number { + return a + b; + } + + @memo + add410(a: number, b: number): number { + return a + b; + } + + @memo + add411(a: number, b: number): number { + return a + b; + } + + @memo + add412(a: number, b: number): number { + return a + b; + } + + @memo + add413(a: number, b: number): number { + return a + b; + } + + @memo + add414(a: number, b: number): number { + return a + b; + } + + @memo + add415(a: number, b: number): number { + return a + b; + } + + @memo + add416(a: number, b: number): number { + return a + b; + } + + @memo + add417(a: number, b: number): number { + return a + b; + } + + @memo + add418(a: number, b: number): number { + return a + b; + } + + @memo + add419(a: number, b: number): number { + return a + b; + } + + @memo + add420(a: number, b: number): number { + return a + b; + } + + @memo + add421(a: number, b: number): number { + return a + b; + } + + @memo + add422(a: number, b: number): number { + return a + b; + } + + @memo + add423(a: number, b: number): number { + return a + b; + } + + @memo + add424(a: number, b: number): number { + return a + b; + } + + @memo + add425(a: number, b: number): number { + return a + b; + } + + @memo + add426(a: number, b: number): number { + return a + b; + } + + @memo + add427(a: number, b: number): number { + return a + b; + } + + @memo + add428(a: number, b: number): number { + return a + b; + } + + @memo + add429(a: number, b: number): number { + return a + b; + } + + @memo + add430(a: number, b: number): number { + return a + b; + } + + @memo + add431(a: number, b: number): number { + return a + b; + } + + @memo + add432(a: number, b: number): number { + return a + b; + } + + @memo + add433(a: number, b: number): number { + return a + b; + } + + @memo + add434(a: number, b: number): number { + return a + b; + } + + @memo + add435(a: number, b: number): number { + return a + b; + } + + @memo + add436(a: number, b: number): number { + return a + b; + } + + @memo + add437(a: number, b: number): number { + return a + b; + } + + @memo + add438(a: number, b: number): number { + return a + b; + } + + @memo + add439(a: number, b: number): number { + return a + b; + } + + @memo + add440(a: number, b: number): number { + return a + b; + } + + @memo + add441(a: number, b: number): number { + return a + b; + } + + @memo + add442(a: number, b: number): number { + return a + b; + } + + @memo + add443(a: number, b: number): number { + return a + b; + } + + @memo + add444(a: number, b: number): number { + return a + b; + } + + @memo + add445(a: number, b: number): number { + return a + b; + } + + @memo + add446(a: number, b: number): number { + return a + b; + } + + @memo + add447(a: number, b: number): number { + return a + b; + } + + @memo + add448(a: number, b: number): number { + return a + b; + } + + @memo + add449(a: number, b: number): number { + return a + b; + } + + @memo + add450(a: number, b: number): number { + return a + b; + } + + @memo + add451(a: number, b: number): number { + return a + b; + } + + @memo + add452(a: number, b: number): number { + return a + b; + } + + @memo + add453(a: number, b: number): number { + return a + b; + } + + @memo + add454(a: number, b: number): number { + return a + b; + } + + @memo + add455(a: number, b: number): number { + return a + b; + } + + @memo + add456(a: number, b: number): number { + return a + b; + } + + @memo + add457(a: number, b: number): number { + return a + b; + } + + @memo + add458(a: number, b: number): number { + return a + b; + } + + @memo + add459(a: number, b: number): number { + return a + b; + } + + @memo + add460(a: number, b: number): number { + return a + b; + } + + @memo + add461(a: number, b: number): number { + return a + b; + } + + @memo + add462(a: number, b: number): number { + return a + b; + } + + @memo + add463(a: number, b: number): number { + return a + b; + } + + @memo + add464(a: number, b: number): number { + return a + b; + } + + @memo + add465(a: number, b: number): number { + return a + b; + } + + @memo + add466(a: number, b: number): number { + return a + b; + } + + @memo + add467(a: number, b: number): number { + return a + b; + } + + @memo + add468(a: number, b: number): number { + return a + b; + } + + @memo + add469(a: number, b: number): number { + return a + b; + } + + @memo + add470(a: number, b: number): number { + return a + b; + } + + @memo + add471(a: number, b: number): number { + return a + b; + } + + @memo + add472(a: number, b: number): number { + return a + b; + } + + @memo + add473(a: number, b: number): number { + return a + b; + } + + @memo + add474(a: number, b: number): number { + return a + b; + } + + @memo + add475(a: number, b: number): number { + return a + b; + } + + @memo + add476(a: number, b: number): number { + return a + b; + } + + @memo + add477(a: number, b: number): number { + return a + b; + } + + @memo + add478(a: number, b: number): number { + return a + b; + } + + @memo + add479(a: number, b: number): number { + return a + b; + } + + @memo + add480(a: number, b: number): number { + return a + b; + } + + @memo + add481(a: number, b: number): number { + return a + b; + } + + @memo + add482(a: number, b: number): number { + return a + b; + } + + @memo + add483(a: number, b: number): number { + return a + b; + } + + @memo + add484(a: number, b: number): number { + return a + b; + } + + @memo + add485(a: number, b: number): number { + return a + b; + } + + @memo + add486(a: number, b: number): number { + return a + b; + } + + @memo + add487(a: number, b: number): number { + return a + b; + } + + @memo + add488(a: number, b: number): number { + return a + b; + } + + @memo + add489(a: number, b: number): number { + return a + b; + } + + @memo + add490(a: number, b: number): number { + return a + b; + } + + @memo + add491(a: number, b: number): number { + return a + b; + } + + @memo + add492(a: number, b: number): number { + return a + b; + } + + @memo + add493(a: number, b: number): number { + return a + b; + } + + @memo + add494(a: number, b: number): number { + return a + b; + } + + @memo + add495(a: number, b: number): number { + return a + b; + } + + @memo + add496(a: number, b: number): number { + return a + b; + } + + @memo + add497(a: number, b: number): number { + return a + b; + } + + @memo + add498(a: number, b: number): number { + return a + b; + } + + @memo + add499(a: number, b: number): number { + return a + b; + } + + @memo + add500(a: number, b: number): number { + return a + b; + } + + @memo + add501(a: number, b: number): number { + return a + b; + } + + @memo + add502(a: number, b: number): number { + return a + b; + } + + @memo + add503(a: number, b: number): number { + return a + b; + } + + @memo + add504(a: number, b: number): number { + return a + b; + } + + @memo + add505(a: number, b: number): number { + return a + b; + } + + @memo + add506(a: number, b: number): number { + return a + b; + } + + @memo + add507(a: number, b: number): number { + return a + b; + } + + @memo + add508(a: number, b: number): number { + return a + b; + } + + @memo + add509(a: number, b: number): number { + return a + b; + } + + @memo + add510(a: number, b: number): number { + return a + b; + } + + @memo + add511(a: number, b: number): number { + return a + b; + } + + @memo + add512(a: number, b: number): number { + return a + b; + } + + @memo + add513(a: number, b: number): number { + return a + b; + } + + @memo + add514(a: number, b: number): number { + return a + b; + } + + @memo + add515(a: number, b: number): number { + return a + b; + } + + @memo + add516(a: number, b: number): number { + return a + b; + } + + @memo + add517(a: number, b: number): number { + return a + b; + } + + @memo + add518(a: number, b: number): number { + return a + b; + } + + @memo + add519(a: number, b: number): number { + return a + b; + } + + @memo + add520(a: number, b: number): number { + return a + b; + } + + @memo + add521(a: number, b: number): number { + return a + b; + } + + @memo + add522(a: number, b: number): number { + return a + b; + } + + @memo + add523(a: number, b: number): number { + return a + b; + } + + @memo + add524(a: number, b: number): number { + return a + b; + } + + @memo + add525(a: number, b: number): number { + return a + b; + } + + @memo + add526(a: number, b: number): number { + return a + b; + } + + @memo + add527(a: number, b: number): number { + return a + b; + } + + @memo + add528(a: number, b: number): number { + return a + b; + } + + @memo + add529(a: number, b: number): number { + return a + b; + } + + @memo + add530(a: number, b: number): number { + return a + b; + } + + @memo + add531(a: number, b: number): number { + return a + b; + } + + @memo + add532(a: number, b: number): number { + return a + b; + } + + @memo + add533(a: number, b: number): number { + return a + b; + } + + @memo + add534(a: number, b: number): number { + return a + b; + } + + @memo + add535(a: number, b: number): number { + return a + b; + } + + @memo + add536(a: number, b: number): number { + return a + b; + } + + @memo + add537(a: number, b: number): number { + return a + b; + } + + @memo + add538(a: number, b: number): number { + return a + b; + } + + @memo + add539(a: number, b: number): number { + return a + b; + } + + @memo + add540(a: number, b: number): number { + return a + b; + } + + @memo + add541(a: number, b: number): number { + return a + b; + } + + @memo + add542(a: number, b: number): number { + return a + b; + } + + @memo + add543(a: number, b: number): number { + return a + b; + } + + @memo + add544(a: number, b: number): number { + return a + b; + } + + @memo + add545(a: number, b: number): number { + return a + b; + } + + @memo + add546(a: number, b: number): number { + return a + b; + } + + @memo + add547(a: number, b: number): number { + return a + b; + } + + @memo + add548(a: number, b: number): number { + return a + b; + } + + @memo + add549(a: number, b: number): number { + return a + b; + } + + @memo + add550(a: number, b: number): number { + return a + b; + } + + @memo + add551(a: number, b: number): number { + return a + b; + } + + @memo + add552(a: number, b: number): number { + return a + b; + } + + @memo + add553(a: number, b: number): number { + return a + b; + } + + @memo + add554(a: number, b: number): number { + return a + b; + } + + @memo + add555(a: number, b: number): number { + return a + b; + } + + @memo + add556(a: number, b: number): number { + return a + b; + } + + @memo + add557(a: number, b: number): number { + return a + b; + } + + @memo + add558(a: number, b: number): number { + return a + b; + } + + @memo + add559(a: number, b: number): number { + return a + b; + } + + @memo + add560(a: number, b: number): number { + return a + b; + } + + @memo + add561(a: number, b: number): number { + return a + b; + } + + @memo + add562(a: number, b: number): number { + return a + b; + } + + @memo + add563(a: number, b: number): number { + return a + b; + } + + @memo + add564(a: number, b: number): number { + return a + b; + } + + @memo + add565(a: number, b: number): number { + return a + b; + } + + @memo + add566(a: number, b: number): number { + return a + b; + } + + @memo + add567(a: number, b: number): number { + return a + b; + } + + @memo + add568(a: number, b: number): number { + return a + b; + } + + @memo + add569(a: number, b: number): number { + return a + b; + } + + @memo + add570(a: number, b: number): number { + return a + b; + } + + @memo + add571(a: number, b: number): number { + return a + b; + } + + @memo + add572(a: number, b: number): number { + return a + b; + } + + @memo + add573(a: number, b: number): number { + return a + b; + } + + @memo + add574(a: number, b: number): number { + return a + b; + } + + @memo + add575(a: number, b: number): number { + return a + b; + } + + @memo + add576(a: number, b: number): number { + return a + b; + } + + @memo + add577(a: number, b: number): number { + return a + b; + } + + @memo + add578(a: number, b: number): number { + return a + b; + } + + @memo + add579(a: number, b: number): number { + return a + b; + } + + @memo + add580(a: number, b: number): number { + return a + b; + } + + @memo + add581(a: number, b: number): number { + return a + b; + } + + @memo + add582(a: number, b: number): number { + return a + b; + } + + @memo + add583(a: number, b: number): number { + return a + b; + } + + @memo + add584(a: number, b: number): number { + return a + b; + } + + @memo + add585(a: number, b: number): number { + return a + b; + } + + @memo + add586(a: number, b: number): number { + return a + b; + } + + @memo + add587(a: number, b: number): number { + return a + b; + } + + @memo + add588(a: number, b: number): number { + return a + b; + } + + @memo + add589(a: number, b: number): number { + return a + b; + } + + @memo + add590(a: number, b: number): number { + return a + b; + } + + @memo + add591(a: number, b: number): number { + return a + b; + } + + @memo + add592(a: number, b: number): number { + return a + b; + } + + @memo + add593(a: number, b: number): number { + return a + b; + } + + @memo + add594(a: number, b: number): number { + return a + b; + } + + @memo + add595(a: number, b: number): number { + return a + b; + } + + @memo + add596(a: number, b: number): number { + return a + b; + } + + @memo + add597(a: number, b: number): number { + return a + b; + } + + @memo + add598(a: number, b: number): number { + return a + b; + } + + @memo + add599(a: number, b: number): number { + return a + b; + } + + @memo + add600(a: number, b: number): number { + return a + b; + } + + @memo + add601(a: number, b: number): number { + return a + b; + } + + @memo + add602(a: number, b: number): number { + return a + b; + } + + @memo + add603(a: number, b: number): number { + return a + b; + } + + @memo + add604(a: number, b: number): number { + return a + b; + } + + @memo + add605(a: number, b: number): number { + return a + b; + } + + @memo + add606(a: number, b: number): number { + return a + b; + } + + @memo + add607(a: number, b: number): number { + return a + b; + } + + @memo + add608(a: number, b: number): number { + return a + b; + } + + @memo + add609(a: number, b: number): number { + return a + b; + } + + @memo + add610(a: number, b: number): number { + return a + b; + } + + @memo + add611(a: number, b: number): number { + return a + b; + } + + @memo + add612(a: number, b: number): number { + return a + b; + } + + @memo + add613(a: number, b: number): number { + return a + b; + } + + @memo + add614(a: number, b: number): number { + return a + b; + } + + @memo + add615(a: number, b: number): number { + return a + b; + } + + @memo + add616(a: number, b: number): number { + return a + b; + } + + @memo + add617(a: number, b: number): number { + return a + b; + } + + @memo + add618(a: number, b: number): number { + return a + b; + } + + @memo + add619(a: number, b: number): number { + return a + b; + } + + @memo + add620(a: number, b: number): number { + return a + b; + } + + @memo + add621(a: number, b: number): number { + return a + b; + } + + @memo + add622(a: number, b: number): number { + return a + b; + } + + @memo + add623(a: number, b: number): number { + return a + b; + } + + @memo + add624(a: number, b: number): number { + return a + b; + } + + @memo + add625(a: number, b: number): number { + return a + b; + } + + @memo + add626(a: number, b: number): number { + return a + b; + } + + @memo + add627(a: number, b: number): number { + return a + b; + } + + @memo + add628(a: number, b: number): number { + return a + b; + } + + @memo + add629(a: number, b: number): number { + return a + b; + } + + @memo + add630(a: number, b: number): number { + return a + b; + } + + @memo + add631(a: number, b: number): number { + return a + b; + } + + @memo + add632(a: number, b: number): number { + return a + b; + } + + @memo + add633(a: number, b: number): number { + return a + b; + } + + @memo + add634(a: number, b: number): number { + return a + b; + } + + @memo + add635(a: number, b: number): number { + return a + b; + } + + @memo + add636(a: number, b: number): number { + return a + b; + } + + @memo + add637(a: number, b: number): number { + return a + b; + } + + @memo + add638(a: number, b: number): number { + return a + b; + } + + @memo + add639(a: number, b: number): number { + return a + b; + } + + @memo + add640(a: number, b: number): number { + return a + b; + } + + @memo + add641(a: number, b: number): number { + return a + b; + } + + @memo + add642(a: number, b: number): number { + return a + b; + } + + @memo + add643(a: number, b: number): number { + return a + b; + } + + @memo + add644(a: number, b: number): number { + return a + b; + } + + @memo + add645(a: number, b: number): number { + return a + b; + } + + @memo + add646(a: number, b: number): number { + return a + b; + } + + @memo + add647(a: number, b: number): number { + return a + b; + } + + @memo + add648(a: number, b: number): number { + return a + b; + } + + @memo + add649(a: number, b: number): number { + return a + b; + } + + @memo + add650(a: number, b: number): number { + return a + b; + } + + @memo + add651(a: number, b: number): number { + return a + b; + } + + @memo + add652(a: number, b: number): number { + return a + b; + } + + @memo + add653(a: number, b: number): number { + return a + b; + } + + @memo + add654(a: number, b: number): number { + return a + b; + } + + @memo + add655(a: number, b: number): number { + return a + b; + } + + @memo + add656(a: number, b: number): number { + return a + b; + } + + @memo + add657(a: number, b: number): number { + return a + b; + } + + @memo + add658(a: number, b: number): number { + return a + b; + } + + @memo + add659(a: number, b: number): number { + return a + b; + } + + @memo + add660(a: number, b: number): number { + return a + b; + } + + @memo + add661(a: number, b: number): number { + return a + b; + } + + @memo + add662(a: number, b: number): number { + return a + b; + } + + @memo + add663(a: number, b: number): number { + return a + b; + } + + @memo + add664(a: number, b: number): number { + return a + b; + } + + @memo + add665(a: number, b: number): number { + return a + b; + } + + @memo + add666(a: number, b: number): number { + return a + b; + } + + @memo + add667(a: number, b: number): number { + return a + b; + } + + @memo + add668(a: number, b: number): number { + return a + b; + } + + @memo + add669(a: number, b: number): number { + return a + b; + } + + @memo + add670(a: number, b: number): number { + return a + b; + } + + @memo + add671(a: number, b: number): number { + return a + b; + } + + @memo + add672(a: number, b: number): number { + return a + b; + } + + @memo + add673(a: number, b: number): number { + return a + b; + } + + @memo + add674(a: number, b: number): number { + return a + b; + } + + @memo + add675(a: number, b: number): number { + return a + b; + } + + @memo + add676(a: number, b: number): number { + return a + b; + } + + @memo + add677(a: number, b: number): number { + return a + b; + } + + @memo + add678(a: number, b: number): number { + return a + b; + } + + @memo + add679(a: number, b: number): number { + return a + b; + } + + @memo + add680(a: number, b: number): number { + return a + b; + } + + @memo + add681(a: number, b: number): number { + return a + b; + } + + @memo + add682(a: number, b: number): number { + return a + b; + } + + @memo + add683(a: number, b: number): number { + return a + b; + } + + @memo + add684(a: number, b: number): number { + return a + b; + } + + @memo + add685(a: number, b: number): number { + return a + b; + } + + @memo + add686(a: number, b: number): number { + return a + b; + } + + @memo + add687(a: number, b: number): number { + return a + b; + } + + @memo + add688(a: number, b: number): number { + return a + b; + } + + @memo + add689(a: number, b: number): number { + return a + b; + } + + @memo + add690(a: number, b: number): number { + return a + b; + } + + @memo + add691(a: number, b: number): number { + return a + b; + } + + @memo + add692(a: number, b: number): number { + return a + b; + } + + @memo + add693(a: number, b: number): number { + return a + b; + } + + @memo + add694(a: number, b: number): number { + return a + b; + } + + @memo + add695(a: number, b: number): number { + return a + b; + } + + @memo + add696(a: number, b: number): number { + return a + b; + } + + @memo + add697(a: number, b: number): number { + return a + b; + } + + @memo + add698(a: number, b: number): number { + return a + b; + } + + @memo + add699(a: number, b: number): number { + return a + b; + } + + @memo + add700(a: number, b: number): number { + return a + b; + } + + @memo + add701(a: number, b: number): number { + return a + b; + } + + @memo + add702(a: number, b: number): number { + return a + b; + } + + @memo + add703(a: number, b: number): number { + return a + b; + } + + @memo + add704(a: number, b: number): number { + return a + b; + } + + @memo + add705(a: number, b: number): number { + return a + b; + } + + @memo + add706(a: number, b: number): number { + return a + b; + } + + @memo + add707(a: number, b: number): number { + return a + b; + } + + @memo + add708(a: number, b: number): number { + return a + b; + } + + @memo + add709(a: number, b: number): number { + return a + b; + } + + @memo + add710(a: number, b: number): number { + return a + b; + } + + @memo + add711(a: number, b: number): number { + return a + b; + } + + @memo + add712(a: number, b: number): number { + return a + b; + } + + @memo + add713(a: number, b: number): number { + return a + b; + } + + @memo + add714(a: number, b: number): number { + return a + b; + } + + @memo + add715(a: number, b: number): number { + return a + b; + } + + @memo + add716(a: number, b: number): number { + return a + b; + } + + @memo + add717(a: number, b: number): number { + return a + b; + } + + @memo + add718(a: number, b: number): number { + return a + b; + } + + @memo + add719(a: number, b: number): number { + return a + b; + } + + @memo + add720(a: number, b: number): number { + return a + b; + } + + @memo + add721(a: number, b: number): number { + return a + b; + } + + @memo + add722(a: number, b: number): number { + return a + b; + } + + @memo + add723(a: number, b: number): number { + return a + b; + } + + @memo + add724(a: number, b: number): number { + return a + b; + } + + @memo + add725(a: number, b: number): number { + return a + b; + } + + @memo + add726(a: number, b: number): number { + return a + b; + } + + @memo + add727(a: number, b: number): number { + return a + b; + } + + @memo + add728(a: number, b: number): number { + return a + b; + } + + @memo + add729(a: number, b: number): number { + return a + b; + } + + @memo + add730(a: number, b: number): number { + return a + b; + } + + @memo + add731(a: number, b: number): number { + return a + b; + } + + @memo + add732(a: number, b: number): number { + return a + b; + } + + @memo + add733(a: number, b: number): number { + return a + b; + } + + @memo + add734(a: number, b: number): number { + return a + b; + } + + @memo + add735(a: number, b: number): number { + return a + b; + } + + @memo + add736(a: number, b: number): number { + return a + b; + } + + @memo + add737(a: number, b: number): number { + return a + b; + } + + @memo + add738(a: number, b: number): number { + return a + b; + } + + @memo + add739(a: number, b: number): number { + return a + b; + } + + @memo + add740(a: number, b: number): number { + return a + b; + } + + @memo + add741(a: number, b: number): number { + return a + b; + } + + @memo + add742(a: number, b: number): number { + return a + b; + } + + @memo + add743(a: number, b: number): number { + return a + b; + } + + @memo + add744(a: number, b: number): number { + return a + b; + } + + @memo + add745(a: number, b: number): number { + return a + b; + } + + @memo + add746(a: number, b: number): number { + return a + b; + } + + @memo + add747(a: number, b: number): number { + return a + b; + } + + @memo + add748(a: number, b: number): number { + return a + b; + } + + @memo + add749(a: number, b: number): number { + return a + b; + } + + @memo + add750(a: number, b: number): number { + return a + b; + } + + @memo + add751(a: number, b: number): number { + return a + b; + } + + @memo + add752(a: number, b: number): number { + return a + b; + } + + @memo + add753(a: number, b: number): number { + return a + b; + } + + @memo + add754(a: number, b: number): number { + return a + b; + } + + @memo + add755(a: number, b: number): number { + return a + b; + } + + @memo + add756(a: number, b: number): number { + return a + b; + } + + @memo + add757(a: number, b: number): number { + return a + b; + } + + @memo + add758(a: number, b: number): number { + return a + b; + } + + @memo + add759(a: number, b: number): number { + return a + b; + } + + @memo + add760(a: number, b: number): number { + return a + b; + } + + @memo + add761(a: number, b: number): number { + return a + b; + } + + @memo + add762(a: number, b: number): number { + return a + b; + } + + @memo + add763(a: number, b: number): number { + return a + b; + } + + @memo + add764(a: number, b: number): number { + return a + b; + } + + @memo + add765(a: number, b: number): number { + return a + b; + } + + @memo + add766(a: number, b: number): number { + return a + b; + } + + @memo + add767(a: number, b: number): number { + return a + b; + } + + @memo + add768(a: number, b: number): number { + return a + b; + } + + @memo + add769(a: number, b: number): number { + return a + b; + } + + @memo + add770(a: number, b: number): number { + return a + b; + } + + @memo + add771(a: number, b: number): number { + return a + b; + } + + @memo + add772(a: number, b: number): number { + return a + b; + } + + @memo + add773(a: number, b: number): number { + return a + b; + } + + @memo + add774(a: number, b: number): number { + return a + b; + } + + @memo + add775(a: number, b: number): number { + return a + b; + } + + @memo + add776(a: number, b: number): number { + return a + b; + } + + @memo + add777(a: number, b: number): number { + return a + b; + } + + @memo + add778(a: number, b: number): number { + return a + b; + } + + @memo + add779(a: number, b: number): number { + return a + b; + } + + @memo + add780(a: number, b: number): number { + return a + b; + } + + @memo + add781(a: number, b: number): number { + return a + b; + } + + @memo + add782(a: number, b: number): number { + return a + b; + } + + @memo + add783(a: number, b: number): number { + return a + b; + } + + @memo + add784(a: number, b: number): number { + return a + b; + } + + @memo + add785(a: number, b: number): number { + return a + b; + } + + @memo + add786(a: number, b: number): number { + return a + b; + } + + @memo + add787(a: number, b: number): number { + return a + b; + } + + @memo + add788(a: number, b: number): number { + return a + b; + } + + @memo + add789(a: number, b: number): number { + return a + b; + } + + @memo + add790(a: number, b: number): number { + return a + b; + } + + @memo + add791(a: number, b: number): number { + return a + b; + } + + @memo + add792(a: number, b: number): number { + return a + b; + } + + @memo + add793(a: number, b: number): number { + return a + b; + } + + @memo + add794(a: number, b: number): number { + return a + b; + } + + @memo + add795(a: number, b: number): number { + return a + b; + } + + @memo + add796(a: number, b: number): number { + return a + b; + } + + @memo + add797(a: number, b: number): number { + return a + b; + } + + @memo + add798(a: number, b: number): number { + return a + b; + } + + @memo + add799(a: number, b: number): number { + return a + b; + } + + @memo + add800(a: number, b: number): number { + return a + b; + } + + @memo + add801(a: number, b: number): number { + return a + b; + } + + @memo + add802(a: number, b: number): number { + return a + b; + } + + @memo + add803(a: number, b: number): number { + return a + b; + } + + @memo + add804(a: number, b: number): number { + return a + b; + } + + @memo + add805(a: number, b: number): number { + return a + b; + } + + @memo + add806(a: number, b: number): number { + return a + b; + } + + @memo + add807(a: number, b: number): number { + return a + b; + } + + @memo + add808(a: number, b: number): number { + return a + b; + } + + @memo + add809(a: number, b: number): number { + return a + b; + } + + @memo + add810(a: number, b: number): number { + return a + b; + } + + @memo + add811(a: number, b: number): number { + return a + b; + } + + @memo + add812(a: number, b: number): number { + return a + b; + } + + @memo + add813(a: number, b: number): number { + return a + b; + } + + @memo + add814(a: number, b: number): number { + return a + b; + } + + @memo + add815(a: number, b: number): number { + return a + b; + } + + @memo + add816(a: number, b: number): number { + return a + b; + } + + @memo + add817(a: number, b: number): number { + return a + b; + } + + @memo + add818(a: number, b: number): number { + return a + b; + } + + @memo + add819(a: number, b: number): number { + return a + b; + } + + @memo + add820(a: number, b: number): number { + return a + b; + } + + @memo + add821(a: number, b: number): number { + return a + b; + } + + @memo + add822(a: number, b: number): number { + return a + b; + } + + @memo + add823(a: number, b: number): number { + return a + b; + } + + @memo + add824(a: number, b: number): number { + return a + b; + } + + @memo + add825(a: number, b: number): number { + return a + b; + } + + @memo + add826(a: number, b: number): number { + return a + b; + } + + @memo + add827(a: number, b: number): number { + return a + b; + } + + @memo + add828(a: number, b: number): number { + return a + b; + } + + @memo + add829(a: number, b: number): number { + return a + b; + } + + @memo + add830(a: number, b: number): number { + return a + b; + } + + @memo + add831(a: number, b: number): number { + return a + b; + } + + @memo + add832(a: number, b: number): number { + return a + b; + } + + @memo + add833(a: number, b: number): number { + return a + b; + } + + @memo + add834(a: number, b: number): number { + return a + b; + } + + @memo + add835(a: number, b: number): number { + return a + b; + } + + @memo + add836(a: number, b: number): number { + return a + b; + } + + @memo + add837(a: number, b: number): number { + return a + b; + } + + @memo + add838(a: number, b: number): number { + return a + b; + } + + @memo + add839(a: number, b: number): number { + return a + b; + } + + @memo + add840(a: number, b: number): number { + return a + b; + } + + @memo + add841(a: number, b: number): number { + return a + b; + } + + @memo + add842(a: number, b: number): number { + return a + b; + } + + @memo + add843(a: number, b: number): number { + return a + b; + } + + @memo + add844(a: number, b: number): number { + return a + b; + } + + @memo + add845(a: number, b: number): number { + return a + b; + } + + @memo + add846(a: number, b: number): number { + return a + b; + } + + @memo + add847(a: number, b: number): number { + return a + b; + } + + @memo + add848(a: number, b: number): number { + return a + b; + } + + @memo + add849(a: number, b: number): number { + return a + b; + } + + @memo + add850(a: number, b: number): number { + return a + b; + } + + @memo + add851(a: number, b: number): number { + return a + b; + } + + @memo + add852(a: number, b: number): number { + return a + b; + } + + @memo + add853(a: number, b: number): number { + return a + b; + } + + @memo + add854(a: number, b: number): number { + return a + b; + } + + @memo + add855(a: number, b: number): number { + return a + b; + } + + @memo + add856(a: number, b: number): number { + return a + b; + } + + @memo + add857(a: number, b: number): number { + return a + b; + } + + @memo + add858(a: number, b: number): number { + return a + b; + } + + @memo + add859(a: number, b: number): number { + return a + b; + } + + @memo + add860(a: number, b: number): number { + return a + b; + } + + @memo + add861(a: number, b: number): number { + return a + b; + } + + @memo + add862(a: number, b: number): number { + return a + b; + } + + @memo + add863(a: number, b: number): number { + return a + b; + } + + @memo + add864(a: number, b: number): number { + return a + b; + } + + @memo + add865(a: number, b: number): number { + return a + b; + } + + @memo + add866(a: number, b: number): number { + return a + b; + } + + @memo + add867(a: number, b: number): number { + return a + b; + } + + @memo + add868(a: number, b: number): number { + return a + b; + } + + @memo + add869(a: number, b: number): number { + return a + b; + } + + @memo + add870(a: number, b: number): number { + return a + b; + } + + @memo + add871(a: number, b: number): number { + return a + b; + } + + @memo + add872(a: number, b: number): number { + return a + b; + } + + @memo + add873(a: number, b: number): number { + return a + b; + } + + @memo + add874(a: number, b: number): number { + return a + b; + } + + @memo + add875(a: number, b: number): number { + return a + b; + } + + @memo + add876(a: number, b: number): number { + return a + b; + } + + @memo + add877(a: number, b: number): number { + return a + b; + } + + @memo + add878(a: number, b: number): number { + return a + b; + } + + @memo + add879(a: number, b: number): number { + return a + b; + } + + @memo + add880(a: number, b: number): number { + return a + b; + } + + @memo + add881(a: number, b: number): number { + return a + b; + } + + @memo + add882(a: number, b: number): number { + return a + b; + } + + @memo + add883(a: number, b: number): number { + return a + b; + } + + @memo + add884(a: number, b: number): number { + return a + b; + } + + @memo + add885(a: number, b: number): number { + return a + b; + } + + @memo + add886(a: number, b: number): number { + return a + b; + } + + @memo + add887(a: number, b: number): number { + return a + b; + } + + @memo + add888(a: number, b: number): number { + return a + b; + } + + @memo + add889(a: number, b: number): number { + return a + b; + } + + @memo + add890(a: number, b: number): number { + return a + b; + } + + @memo + add891(a: number, b: number): number { + return a + b; + } + + @memo + add892(a: number, b: number): number { + return a + b; + } + + @memo + add893(a: number, b: number): number { + return a + b; + } + + @memo + add894(a: number, b: number): number { + return a + b; + } + + @memo + add895(a: number, b: number): number { + return a + b; + } + + @memo + add896(a: number, b: number): number { + return a + b; + } + + @memo + add897(a: number, b: number): number { + return a + b; + } + + @memo + add898(a: number, b: number): number { + return a + b; + } + + @memo + add899(a: number, b: number): number { + return a + b; + } + + @memo + add900(a: number, b: number): number { + return a + b; + } + + @memo + add901(a: number, b: number): number { + return a + b; + } + + @memo + add902(a: number, b: number): number { + return a + b; + } + + @memo + add903(a: number, b: number): number { + return a + b; + } + + @memo + add904(a: number, b: number): number { + return a + b; + } + + @memo + add905(a: number, b: number): number { + return a + b; + } + + @memo + add906(a: number, b: number): number { + return a + b; + } + + @memo + add907(a: number, b: number): number { + return a + b; + } + + @memo + add908(a: number, b: number): number { + return a + b; + } + + @memo + add909(a: number, b: number): number { + return a + b; + } + + @memo + add910(a: number, b: number): number { + return a + b; + } + + @memo + add911(a: number, b: number): number { + return a + b; + } + + @memo + add912(a: number, b: number): number { + return a + b; + } + + @memo + add913(a: number, b: number): number { + return a + b; + } + + @memo + add914(a: number, b: number): number { + return a + b; + } + + @memo + add915(a: number, b: number): number { + return a + b; + } + + @memo + add916(a: number, b: number): number { + return a + b; + } + + @memo + add917(a: number, b: number): number { + return a + b; + } + + @memo + add918(a: number, b: number): number { + return a + b; + } + + @memo + add919(a: number, b: number): number { + return a + b; + } + + @memo + add920(a: number, b: number): number { + return a + b; + } + + @memo + add921(a: number, b: number): number { + return a + b; + } + + @memo + add922(a: number, b: number): number { + return a + b; + } + + @memo + add923(a: number, b: number): number { + return a + b; + } + + @memo + add924(a: number, b: number): number { + return a + b; + } + + @memo + add925(a: number, b: number): number { + return a + b; + } + + @memo + add926(a: number, b: number): number { + return a + b; + } + + @memo + add927(a: number, b: number): number { + return a + b; + } + + @memo + add928(a: number, b: number): number { + return a + b; + } + + @memo + add929(a: number, b: number): number { + return a + b; + } + + @memo + add930(a: number, b: number): number { + return a + b; + } + + @memo + add931(a: number, b: number): number { + return a + b; + } + + @memo + add932(a: number, b: number): number { + return a + b; + } + + @memo + add933(a: number, b: number): number { + return a + b; + } + + @memo + add934(a: number, b: number): number { + return a + b; + } + + @memo + add935(a: number, b: number): number { + return a + b; + } + + @memo + add936(a: number, b: number): number { + return a + b; + } + + @memo + add937(a: number, b: number): number { + return a + b; + } + + @memo + add938(a: number, b: number): number { + return a + b; + } + + @memo + add939(a: number, b: number): number { + return a + b; + } + + @memo + add940(a: number, b: number): number { + return a + b; + } + + @memo + add941(a: number, b: number): number { + return a + b; + } + + @memo + add942(a: number, b: number): number { + return a + b; + } + + @memo + add943(a: number, b: number): number { + return a + b; + } + + @memo + add944(a: number, b: number): number { + return a + b; + } + + @memo + add945(a: number, b: number): number { + return a + b; + } + + @memo + add946(a: number, b: number): number { + return a + b; + } + + @memo + add947(a: number, b: number): number { + return a + b; + } + + @memo + add948(a: number, b: number): number { + return a + b; + } + + @memo + add949(a: number, b: number): number { + return a + b; + } + + @memo + add950(a: number, b: number): number { + return a + b; + } + + @memo + add951(a: number, b: number): number { + return a + b; + } + + @memo + add952(a: number, b: number): number { + return a + b; + } + + @memo + add953(a: number, b: number): number { + return a + b; + } + + @memo + add954(a: number, b: number): number { + return a + b; + } + + @memo + add955(a: number, b: number): number { + return a + b; + } + + @memo + add956(a: number, b: number): number { + return a + b; + } + + @memo + add957(a: number, b: number): number { + return a + b; + } + + @memo + add958(a: number, b: number): number { + return a + b; + } + + @memo + add959(a: number, b: number): number { + return a + b; + } + + @memo + add960(a: number, b: number): number { + return a + b; + } + + @memo + add961(a: number, b: number): number { + return a + b; + } + + @memo + add962(a: number, b: number): number { + return a + b; + } + + @memo + add963(a: number, b: number): number { + return a + b; + } + + @memo + add964(a: number, b: number): number { + return a + b; + } + + @memo + add965(a: number, b: number): number { + return a + b; + } + + @memo + add966(a: number, b: number): number { + return a + b; + } + + @memo + add967(a: number, b: number): number { + return a + b; + } + + @memo + add968(a: number, b: number): number { + return a + b; + } + + @memo + add969(a: number, b: number): number { + return a + b; + } + + @memo + add970(a: number, b: number): number { + return a + b; + } + + @memo + add971(a: number, b: number): number { + return a + b; + } + + @memo + add972(a: number, b: number): number { + return a + b; + } + + @memo + add973(a: number, b: number): number { + return a + b; + } + + @memo + add974(a: number, b: number): number { + return a + b; + } + + @memo + add975(a: number, b: number): number { + return a + b; + } + + @memo + add976(a: number, b: number): number { + return a + b; + } + + @memo + add977(a: number, b: number): number { + return a + b; + } + + @memo + add978(a: number, b: number): number { + return a + b; + } + + @memo + add979(a: number, b: number): number { + return a + b; + } + + @memo + add980(a: number, b: number): number { + return a + b; + } + + @memo + add981(a: number, b: number): number { + return a + b; + } + + @memo + add982(a: number, b: number): number { + return a + b; + } + + @memo + add983(a: number, b: number): number { + return a + b; + } + + @memo + add984(a: number, b: number): number { + return a + b; + } + + @memo + add985(a: number, b: number): number { + return a + b; + } + + @memo + add986(a: number, b: number): number { + return a + b; + } + + @memo + add987(a: number, b: number): number { + return a + b; + } + + @memo + add988(a: number, b: number): number { + return a + b; + } + + @memo + add989(a: number, b: number): number { + return a + b; + } + + @memo + add990(a: number, b: number): number { + return a + b; + } + + @memo + add991(a: number, b: number): number { + return a + b; + } + + @memo + add992(a: number, b: number): number { + return a + b; + } + + @memo + add993(a: number, b: number): number { + return a + b; + } + + @memo + add994(a: number, b: number): number { + return a + b; + } + + @memo + add995(a: number, b: number): number { + return a + b; + } + + @memo + add996(a: number, b: number): number { + return a + b; + } + + @memo + add997(a: number, b: number): number { + return a + b; + } + + @memo + add998(a: number, b: number): number { + return a + b; + } + + @memo + add999(a: number, b: number): number { + return a + b; + } + + @memo + add1000(a: number, b: number): number { + return a + b; + } + + @memo + add1001(a: number, b: number): number { + return a + b; + } + + @memo + add1002(a: number, b: number): number { + return a + b; + } + + @memo + add1003(a: number, b: number): number { + return a + b; + } + + @memo + add1004(a: number, b: number): number { + return a + b; + } + + @memo + add1005(a: number, b: number): number { + return a + b; + } + + @memo + add1006(a: number, b: number): number { + return a + b; + } + + @memo + add1007(a: number, b: number): number { + return a + b; + } + + @memo + add1008(a: number, b: number): number { + return a + b; + } + + @memo + add1009(a: number, b: number): number { + return a + b; + } + + @memo + add1010(a: number, b: number): number { + return a + b; + } + + @memo + add1011(a: number, b: number): number { + return a + b; + } + + @memo + add1012(a: number, b: number): number { + return a + b; + } + + @memo + add1013(a: number, b: number): number { + return a + b; + } + + @memo + add1014(a: number, b: number): number { + return a + b; + } + + @memo + add1015(a: number, b: number): number { + return a + b; + } + + @memo + add1016(a: number, b: number): number { + return a + b; + } + + @memo + add1017(a: number, b: number): number { + return a + b; + } + + @memo + add1018(a: number, b: number): number { + return a + b; + } + + @memo + add1019(a: number, b: number): number { + return a + b; + } + + @memo + add1020(a: number, b: number): number { + return a + b; + } + + @memo + add1021(a: number, b: number): number { + return a + b; + } + + @memo + add1022(a: number, b: number): number { + return a + b; + } + + @memo + add1023(a: number, b: number): number { + return a + b; + } + + @memo + add1024(a: number, b: number): number { + return a + b; + } + + @memo + add1025(a: number, b: number): number { + return a + b; + } + + @memo + add1026(a: number, b: number): number { + return a + b; + } + + @memo + add1027(a: number, b: number): number { + return a + b; + } + + @memo + add1028(a: number, b: number): number { + return a + b; + } + + @memo + add1029(a: number, b: number): number { + return a + b; + } + + @memo + add1030(a: number, b: number): number { + return a + b; + } + + @memo + add1031(a: number, b: number): number { + return a + b; + } + + @memo + add1032(a: number, b: number): number { + return a + b; + } + + @memo + add1033(a: number, b: number): number { + return a + b; + } + + @memo + add1034(a: number, b: number): number { + return a + b; + } + + @memo + add1035(a: number, b: number): number { + return a + b; + } + + @memo + add1036(a: number, b: number): number { + return a + b; + } + + @memo + add1037(a: number, b: number): number { + return a + b; + } + + @memo + add1038(a: number, b: number): number { + return a + b; + } + + @memo + add1039(a: number, b: number): number { + return a + b; + } + + @memo + add1040(a: number, b: number): number { + return a + b; + } + + @memo + add1041(a: number, b: number): number { + return a + b; + } + + @memo + add1042(a: number, b: number): number { + return a + b; + } + + @memo + add1043(a: number, b: number): number { + return a + b; + } + + @memo + add1044(a: number, b: number): number { + return a + b; + } + + @memo + add1045(a: number, b: number): number { + return a + b; + } + + @memo + add1046(a: number, b: number): number { + return a + b; + } + + @memo + add1047(a: number, b: number): number { + return a + b; + } + + @memo + add1048(a: number, b: number): number { + return a + b; + } + + @memo + add1049(a: number, b: number): number { + return a + b; + } + + @memo + add1050(a: number, b: number): number { + return a + b; + } + + @memo + add1051(a: number, b: number): number { + return a + b; + } + + @memo + add1052(a: number, b: number): number { + return a + b; + } + + @memo + add1053(a: number, b: number): number { + return a + b; + } + + @memo + add1054(a: number, b: number): number { + return a + b; + } + + @memo + add1055(a: number, b: number): number { + return a + b; + } + + @memo + add1056(a: number, b: number): number { + return a + b; + } + + @memo + add1057(a: number, b: number): number { + return a + b; + } + + @memo + add1058(a: number, b: number): number { + return a + b; + } + + @memo + add1059(a: number, b: number): number { + return a + b; + } + + @memo + add1060(a: number, b: number): number { + return a + b; + } + + @memo + add1061(a: number, b: number): number { + return a + b; + } + + @memo + add1062(a: number, b: number): number { + return a + b; + } + + @memo + add1063(a: number, b: number): number { + return a + b; + } + + @memo + add1064(a: number, b: number): number { + return a + b; + } + + @memo + add1065(a: number, b: number): number { + return a + b; + } + + @memo + add1066(a: number, b: number): number { + return a + b; + } + + @memo + add1067(a: number, b: number): number { + return a + b; + } + + @memo + add1068(a: number, b: number): number { + return a + b; + } + + @memo + add1069(a: number, b: number): number { + return a + b; + } + + @memo + add1070(a: number, b: number): number { + return a + b; + } + + @memo + add1071(a: number, b: number): number { + return a + b; + } + + @memo + add1072(a: number, b: number): number { + return a + b; + } + + @memo + add1073(a: number, b: number): number { + return a + b; + } + + @memo + add1074(a: number, b: number): number { + return a + b; + } + + @memo + add1075(a: number, b: number): number { + return a + b; + } + + @memo + add1076(a: number, b: number): number { + return a + b; + } + + @memo + add1077(a: number, b: number): number { + return a + b; + } + + @memo + add1078(a: number, b: number): number { + return a + b; + } + + @memo + add1079(a: number, b: number): number { + return a + b; + } + + @memo + add1080(a: number, b: number): number { + return a + b; + } + + @memo + add1081(a: number, b: number): number { + return a + b; + } + + @memo + add1082(a: number, b: number): number { + return a + b; + } + + @memo + add1083(a: number, b: number): number { + return a + b; + } + + @memo + add1084(a: number, b: number): number { + return a + b; + } + + @memo + add1085(a: number, b: number): number { + return a + b; + } + + @memo + add1086(a: number, b: number): number { + return a + b; + } + + @memo + add1087(a: number, b: number): number { + return a + b; + } + + @memo + add1088(a: number, b: number): number { + return a + b; + } + + @memo + add1089(a: number, b: number): number { + return a + b; + } + + @memo + add1090(a: number, b: number): number { + return a + b; + } + + @memo + add1091(a: number, b: number): number { + return a + b; + } + + @memo + add1092(a: number, b: number): number { + return a + b; + } + + @memo + add1093(a: number, b: number): number { + return a + b; + } + + @memo + add1094(a: number, b: number): number { + return a + b; + } + + @memo + add1095(a: number, b: number): number { + return a + b; + } + + @memo + add1096(a: number, b: number): number { + return a + b; + } + + @memo + add1097(a: number, b: number): number { + return a + b; + } + + @memo + add1098(a: number, b: number): number { + return a + b; + } + + @memo + add1099(a: number, b: number): number { + return a + b; + } + + @memo + add1100(a: number, b: number): number { + return a + b; + } + + @memo + add1101(a: number, b: number): number { + return a + b; + } + + @memo + add1102(a: number, b: number): number { + return a + b; + } + + @memo + add1103(a: number, b: number): number { + return a + b; + } + + @memo + add1104(a: number, b: number): number { + return a + b; + } + + @memo + add1105(a: number, b: number): number { + return a + b; + } + + @memo + add1106(a: number, b: number): number { + return a + b; + } + + @memo + add1107(a: number, b: number): number { + return a + b; + } + + @memo + add1108(a: number, b: number): number { + return a + b; + } + + @memo + add1109(a: number, b: number): number { + return a + b; + } + + @memo + add1110(a: number, b: number): number { + return a + b; + } + + @memo + add1111(a: number, b: number): number { + return a + b; + } + + @memo + add1112(a: number, b: number): number { + return a + b; + } + + @memo + add1113(a: number, b: number): number { + return a + b; + } + + @memo + add1114(a: number, b: number): number { + return a + b; + } + + @memo + add1115(a: number, b: number): number { + return a + b; + } + + @memo + add1116(a: number, b: number): number { + return a + b; + } + + @memo + add1117(a: number, b: number): number { + return a + b; + } + + @memo + add1118(a: number, b: number): number { + return a + b; + } + + @memo + add1119(a: number, b: number): number { + return a + b; + } + + @memo + add1120(a: number, b: number): number { + return a + b; + } + + @memo + add1121(a: number, b: number): number { + return a + b; + } + + @memo + add1122(a: number, b: number): number { + return a + b; + } + + @memo + add1123(a: number, b: number): number { + return a + b; + } + + @memo + add1124(a: number, b: number): number { + return a + b; + } + + @memo + add1125(a: number, b: number): number { + return a + b; + } + + @memo + add1126(a: number, b: number): number { + return a + b; + } + + @memo + add1127(a: number, b: number): number { + return a + b; + } + + @memo + add1128(a: number, b: number): number { + return a + b; + } + + @memo + add1129(a: number, b: number): number { + return a + b; + } + + @memo + add1130(a: number, b: number): number { + return a + b; + } + + @memo + add1131(a: number, b: number): number { + return a + b; + } + + @memo + add1132(a: number, b: number): number { + return a + b; + } + + @memo + add1133(a: number, b: number): number { + return a + b; + } + + @memo + add1134(a: number, b: number): number { + return a + b; + } + + @memo + add1135(a: number, b: number): number { + return a + b; + } + + @memo + add1136(a: number, b: number): number { + return a + b; + } + + @memo + add1137(a: number, b: number): number { + return a + b; + } + + @memo + add1138(a: number, b: number): number { + return a + b; + } + + @memo + add1139(a: number, b: number): number { + return a + b; + } + + @memo + add1140(a: number, b: number): number { + return a + b; + } + + @memo + add1141(a: number, b: number): number { + return a + b; + } + + @memo + add1142(a: number, b: number): number { + return a + b; + } + + @memo + add1143(a: number, b: number): number { + return a + b; + } + + @memo + add1144(a: number, b: number): number { + return a + b; + } + + @memo + add1145(a: number, b: number): number { + return a + b; + } + + @memo + add1146(a: number, b: number): number { + return a + b; + } + + @memo + add1147(a: number, b: number): number { + return a + b; + } + + @memo + add1148(a: number, b: number): number { + return a + b; + } + + @memo + add1149(a: number, b: number): number { + return a + b; + } + + @memo + add1150(a: number, b: number): number { + return a + b; + } + + @memo + add1151(a: number, b: number): number { + return a + b; + } + + @memo + add1152(a: number, b: number): number { + return a + b; + } + + @memo + add1153(a: number, b: number): number { + return a + b; + } + + @memo + add1154(a: number, b: number): number { + return a + b; + } + + @memo + add1155(a: number, b: number): number { + return a + b; + } + + @memo + add1156(a: number, b: number): number { + return a + b; + } + + @memo + add1157(a: number, b: number): number { + return a + b; + } + + @memo + add1158(a: number, b: number): number { + return a + b; + } + + @memo + add1159(a: number, b: number): number { + return a + b; + } + + @memo + add1160(a: number, b: number): number { + return a + b; + } + + @memo + add1161(a: number, b: number): number { + return a + b; + } + + @memo + add1162(a: number, b: number): number { + return a + b; + } + + @memo + add1163(a: number, b: number): number { + return a + b; + } + + @memo + add1164(a: number, b: number): number { + return a + b; + } + + @memo + add1165(a: number, b: number): number { + return a + b; + } + + @memo + add1166(a: number, b: number): number { + return a + b; + } + + @memo + add1167(a: number, b: number): number { + return a + b; + } + + @memo + add1168(a: number, b: number): number { + return a + b; + } + + @memo + add1169(a: number, b: number): number { + return a + b; + } + + @memo + add1170(a: number, b: number): number { + return a + b; + } + + @memo + add1171(a: number, b: number): number { + return a + b; + } + + @memo + add1172(a: number, b: number): number { + return a + b; + } + + @memo + add1173(a: number, b: number): number { + return a + b; + } + + @memo + add1174(a: number, b: number): number { + return a + b; + } + + @memo + add1175(a: number, b: number): number { + return a + b; + } + + @memo + add1176(a: number, b: number): number { + return a + b; + } + + @memo + add1177(a: number, b: number): number { + return a + b; + } + + @memo + add1178(a: number, b: number): number { + return a + b; + } + + @memo + add1179(a: number, b: number): number { + return a + b; + } + + @memo + add1180(a: number, b: number): number { + return a + b; + } + + @memo + add1181(a: number, b: number): number { + return a + b; + } + + @memo + add1182(a: number, b: number): number { + return a + b; + } + + @memo + add1183(a: number, b: number): number { + return a + b; + } + + @memo + add1184(a: number, b: number): number { + return a + b; + } + + @memo + add1185(a: number, b: number): number { + return a + b; + } + + @memo + add1186(a: number, b: number): number { + return a + b; + } + + @memo + add1187(a: number, b: number): number { + return a + b; + } + + @memo + add1188(a: number, b: number): number { + return a + b; + } + + @memo + add1189(a: number, b: number): number { + return a + b; + } + + @memo + add1190(a: number, b: number): number { + return a + b; + } + + @memo + add1191(a: number, b: number): number { + return a + b; + } + + @memo + add1192(a: number, b: number): number { + return a + b; + } + + @memo + add1193(a: number, b: number): number { + return a + b; + } + + @memo + add1194(a: number, b: number): number { + return a + b; + } + + @memo + add1195(a: number, b: number): number { + return a + b; + } + + @memo + add1196(a: number, b: number): number { + return a + b; + } + + @memo + add1197(a: number, b: number): number { + return a + b; + } + + @memo + add1198(a: number, b: number): number { + return a + b; + } + + @memo + add1199(a: number, b: number): number { + return a + b; + } + + @memo + add1200(a: number, b: number): number { + return a + b; + } + + @memo + add1201(a: number, b: number): number { + return a + b; + } + + @memo + add1202(a: number, b: number): number { + return a + b; + } + + @memo + add1203(a: number, b: number): number { + return a + b; + } + + @memo + add1204(a: number, b: number): number { + return a + b; + } + + @memo + add1205(a: number, b: number): number { + return a + b; + } + + @memo + add1206(a: number, b: number): number { + return a + b; + } + + @memo + add1207(a: number, b: number): number { + return a + b; + } + + @memo + add1208(a: number, b: number): number { + return a + b; + } + + @memo + add1209(a: number, b: number): number { + return a + b; + } + + @memo + add1210(a: number, b: number): number { + return a + b; + } + + @memo + add1211(a: number, b: number): number { + return a + b; + } + + @memo + add1212(a: number, b: number): number { + return a + b; + } + + @memo + add1213(a: number, b: number): number { + return a + b; + } + + @memo + add1214(a: number, b: number): number { + return a + b; + } + + @memo + add1215(a: number, b: number): number { + return a + b; + } + + @memo + add1216(a: number, b: number): number { + return a + b; + } + + @memo + add1217(a: number, b: number): number { + return a + b; + } + + @memo + add1218(a: number, b: number): number { + return a + b; + } + + @memo + add1219(a: number, b: number): number { + return a + b; + } + + @memo + add1220(a: number, b: number): number { + return a + b; + } + + @memo + add1221(a: number, b: number): number { + return a + b; + } + + @memo + add1222(a: number, b: number): number { + return a + b; + } + + @memo + add1223(a: number, b: number): number { + return a + b; + } + + @memo + add1224(a: number, b: number): number { + return a + b; + } + + @memo + add1225(a: number, b: number): number { + return a + b; + } + + @memo + add1226(a: number, b: number): number { + return a + b; + } + + @memo + add1227(a: number, b: number): number { + return a + b; + } + + @memo + add1228(a: number, b: number): number { + return a + b; + } + + @memo + add1229(a: number, b: number): number { + return a + b; + } + + @memo + add1230(a: number, b: number): number { + return a + b; + } + + @memo + add1231(a: number, b: number): number { + return a + b; + } + + @memo + add1232(a: number, b: number): number { + return a + b; + } + + @memo + add1233(a: number, b: number): number { + return a + b; + } + + @memo + add1234(a: number, b: number): number { + return a + b; + } + + @memo + add1235(a: number, b: number): number { + return a + b; + } + + @memo + add1236(a: number, b: number): number { + return a + b; + } + + @memo + add1237(a: number, b: number): number { + return a + b; + } + + @memo + add1238(a: number, b: number): number { + return a + b; + } + + @memo + add1239(a: number, b: number): number { + return a + b; + } + + @memo + add1240(a: number, b: number): number { + return a + b; + } + + @memo + add1241(a: number, b: number): number { + return a + b; + } + + @memo + add1242(a: number, b: number): number { + return a + b; + } + + @memo + add1243(a: number, b: number): number { + return a + b; + } + + @memo + add1244(a: number, b: number): number { + return a + b; + } + + @memo + add1245(a: number, b: number): number { + return a + b; + } + + @memo + add1246(a: number, b: number): number { + return a + b; + } + + @memo + add1247(a: number, b: number): number { + return a + b; + } + + @memo + add1248(a: number, b: number): number { + return a + b; + } + + @memo + add1249(a: number, b: number): number { + return a + b; + } + + @memo + add1250(a: number, b: number): number { + return a + b; + } + + @memo + add1251(a: number, b: number): number { + return a + b; + } + + @memo + add1252(a: number, b: number): number { + return a + b; + } + + @memo + add1253(a: number, b: number): number { + return a + b; + } + + @memo + add1254(a: number, b: number): number { + return a + b; + } + + @memo + add1255(a: number, b: number): number { + return a + b; + } + + @memo + add1256(a: number, b: number): number { + return a + b; + } + + @memo + add1257(a: number, b: number): number { + return a + b; + } + + @memo + add1258(a: number, b: number): number { + return a + b; + } + + @memo + add1259(a: number, b: number): number { + return a + b; + } + + @memo + add1260(a: number, b: number): number { + return a + b; + } + + @memo + add1261(a: number, b: number): number { + return a + b; + } + + @memo + add1262(a: number, b: number): number { + return a + b; + } + + @memo + add1263(a: number, b: number): number { + return a + b; + } + + @memo + add1264(a: number, b: number): number { + return a + b; + } + + @memo + add1265(a: number, b: number): number { + return a + b; + } + + @memo + add1266(a: number, b: number): number { + return a + b; + } + + @memo + add1267(a: number, b: number): number { + return a + b; + } + + @memo + add1268(a: number, b: number): number { + return a + b; + } + + @memo + add1269(a: number, b: number): number { + return a + b; + } + + @memo + add1270(a: number, b: number): number { + return a + b; + } + + @memo + add1271(a: number, b: number): number { + return a + b; + } + + @memo + add1272(a: number, b: number): number { + return a + b; + } + + @memo + add1273(a: number, b: number): number { + return a + b; + } + + @memo + add1274(a: number, b: number): number { + return a + b; + } + + @memo + add1275(a: number, b: number): number { + return a + b; + } + + @memo + add1276(a: number, b: number): number { + return a + b; + } + + @memo + add1277(a: number, b: number): number { + return a + b; + } + + @memo + add1278(a: number, b: number): number { + return a + b; + } + + @memo + add1279(a: number, b: number): number { + return a + b; + } + + @memo + add1280(a: number, b: number): number { + return a + b; + } + + @memo + add1281(a: number, b: number): number { + return a + b; + } + + @memo + add1282(a: number, b: number): number { + return a + b; + } + + @memo + add1283(a: number, b: number): number { + return a + b; + } + + @memo + add1284(a: number, b: number): number { + return a + b; + } + + @memo + add1285(a: number, b: number): number { + return a + b; + } + + @memo + add1286(a: number, b: number): number { + return a + b; + } + + @memo + add1287(a: number, b: number): number { + return a + b; + } + + @memo + add1288(a: number, b: number): number { + return a + b; + } + + @memo + add1289(a: number, b: number): number { + return a + b; + } + + @memo + add1290(a: number, b: number): number { + return a + b; + } + + @memo + add1291(a: number, b: number): number { + return a + b; + } + + @memo + add1292(a: number, b: number): number { + return a + b; + } + + @memo + add1293(a: number, b: number): number { + return a + b; + } + + @memo + add1294(a: number, b: number): number { + return a + b; + } + + @memo + add1295(a: number, b: number): number { + return a + b; + } + + @memo + add1296(a: number, b: number): number { + return a + b; + } + + @memo + add1297(a: number, b: number): number { + return a + b; + } + + @memo + add1298(a: number, b: number): number { + return a + b; + } + + @memo + add1299(a: number, b: number): number { + return a + b; + } + + @memo + add1300(a: number, b: number): number { + return a + b; + } + + @memo + add1301(a: number, b: number): number { + return a + b; + } + + @memo + add1302(a: number, b: number): number { + return a + b; + } + + @memo + add1303(a: number, b: number): number { + return a + b; + } + + @memo + add1304(a: number, b: number): number { + return a + b; + } + + @memo + add1305(a: number, b: number): number { + return a + b; + } + + @memo + add1306(a: number, b: number): number { + return a + b; + } + + @memo + add1307(a: number, b: number): number { + return a + b; + } + + @memo + add1308(a: number, b: number): number { + return a + b; + } + + @memo + add1309(a: number, b: number): number { + return a + b; + } + + @memo + add1310(a: number, b: number): number { + return a + b; + } + + @memo + add1311(a: number, b: number): number { + return a + b; + } + + @memo + add1312(a: number, b: number): number { + return a + b; + } + + @memo + add1313(a: number, b: number): number { + return a + b; + } + + @memo + add1314(a: number, b: number): number { + return a + b; + } + + @memo + add1315(a: number, b: number): number { + return a + b; + } + + @memo + add1316(a: number, b: number): number { + return a + b; + } + + @memo + add1317(a: number, b: number): number { + return a + b; + } + + @memo + add1318(a: number, b: number): number { + return a + b; + } + + @memo + add1319(a: number, b: number): number { + return a + b; + } + + @memo + add1320(a: number, b: number): number { + return a + b; + } + + @memo + add1321(a: number, b: number): number { + return a + b; + } + + @memo + add1322(a: number, b: number): number { + return a + b; + } + + @memo + add1323(a: number, b: number): number { + return a + b; + } + + @memo + add1324(a: number, b: number): number { + return a + b; + } + + @memo + add1325(a: number, b: number): number { + return a + b; + } + + @memo + add1326(a: number, b: number): number { + return a + b; + } + + @memo + add1327(a: number, b: number): number { + return a + b; + } + + @memo + add1328(a: number, b: number): number { + return a + b; + } + + @memo + add1329(a: number, b: number): number { + return a + b; + } + + @memo + add1330(a: number, b: number): number { + return a + b; + } + + @memo + add1331(a: number, b: number): number { + return a + b; + } + + @memo + add1332(a: number, b: number): number { + return a + b; + } + + @memo + add1333(a: number, b: number): number { + return a + b; + } + + @memo + add1334(a: number, b: number): number { + return a + b; + } + + @memo + add1335(a: number, b: number): number { + return a + b; + } + + @memo + add1336(a: number, b: number): number { + return a + b; + } + + @memo + add1337(a: number, b: number): number { + return a + b; + } + + @memo + add1338(a: number, b: number): number { + return a + b; + } + + @memo + add1339(a: number, b: number): number { + return a + b; + } + + @memo + add1340(a: number, b: number): number { + return a + b; + } + + @memo + add1341(a: number, b: number): number { + return a + b; + } + + @memo + add1342(a: number, b: number): number { + return a + b; + } + + @memo + add1343(a: number, b: number): number { + return a + b; + } + + @memo + add1344(a: number, b: number): number { + return a + b; + } + + @memo + add1345(a: number, b: number): number { + return a + b; + } + + @memo + add1346(a: number, b: number): number { + return a + b; + } + + @memo + add1347(a: number, b: number): number { + return a + b; + } + + @memo + add1348(a: number, b: number): number { + return a + b; + } + + @memo + add1349(a: number, b: number): number { + return a + b; + } + + @memo + add1350(a: number, b: number): number { + return a + b; + } + + @memo + add1351(a: number, b: number): number { + return a + b; + } + + @memo + add1352(a: number, b: number): number { + return a + b; + } + + @memo + add1353(a: number, b: number): number { + return a + b; + } + + @memo + add1354(a: number, b: number): number { + return a + b; + } + + @memo + add1355(a: number, b: number): number { + return a + b; + } + + @memo + add1356(a: number, b: number): number { + return a + b; + } + + @memo + add1357(a: number, b: number): number { + return a + b; + } + + @memo + add1358(a: number, b: number): number { + return a + b; + } + + @memo + add1359(a: number, b: number): number { + return a + b; + } + + @memo + add1360(a: number, b: number): number { + return a + b; + } + + @memo + add1361(a: number, b: number): number { + return a + b; + } + + @memo + add1362(a: number, b: number): number { + return a + b; + } + + @memo + add1363(a: number, b: number): number { + return a + b; + } + + @memo + add1364(a: number, b: number): number { + return a + b; + } + + @memo + add1365(a: number, b: number): number { + return a + b; + } + + @memo + add1366(a: number, b: number): number { + return a + b; + } + + @memo + add1367(a: number, b: number): number { + return a + b; + } + + @memo + add1368(a: number, b: number): number { + return a + b; + } + + @memo + add1369(a: number, b: number): number { + return a + b; + } + + @memo + add1370(a: number, b: number): number { + return a + b; + } + + @memo + add1371(a: number, b: number): number { + return a + b; + } + + @memo + add1372(a: number, b: number): number { + return a + b; + } + + @memo + add1373(a: number, b: number): number { + return a + b; + } + + @memo + add1374(a: number, b: number): number { + return a + b; + } + + @memo + add1375(a: number, b: number): number { + return a + b; + } + + @memo + add1376(a: number, b: number): number { + return a + b; + } + + @memo + add1377(a: number, b: number): number { + return a + b; + } + + @memo + add1378(a: number, b: number): number { + return a + b; + } + + @memo + add1379(a: number, b: number): number { + return a + b; + } + + @memo + add1380(a: number, b: number): number { + return a + b; + } + + @memo + add1381(a: number, b: number): number { + return a + b; + } + + @memo + add1382(a: number, b: number): number { + return a + b; + } + + @memo + add1383(a: number, b: number): number { + return a + b; + } + + @memo + add1384(a: number, b: number): number { + return a + b; + } + + @memo + add1385(a: number, b: number): number { + return a + b; + } + + @memo + add1386(a: number, b: number): number { + return a + b; + } + + @memo + add1387(a: number, b: number): number { + return a + b; + } + + @memo + add1388(a: number, b: number): number { + return a + b; + } + + @memo + add1389(a: number, b: number): number { + return a + b; + } + + @memo + add1390(a: number, b: number): number { + return a + b; + } + + @memo + add1391(a: number, b: number): number { + return a + b; + } + + @memo + add1392(a: number, b: number): number { + return a + b; + } + + @memo + add1393(a: number, b: number): number { + return a + b; + } + + @memo + add1394(a: number, b: number): number { + return a + b; + } + + @memo + add1395(a: number, b: number): number { + return a + b; + } + + @memo + add1396(a: number, b: number): number { + return a + b; + } + + @memo + add1397(a: number, b: number): number { + return a + b; + } + + @memo + add1398(a: number, b: number): number { + return a + b; + } + + @memo + add1399(a: number, b: number): number { + return a + b; + } + + @memo + add1400(a: number, b: number): number { + return a + b; + } + + @memo + add1401(a: number, b: number): number { + return a + b; + } + + @memo + add1402(a: number, b: number): number { + return a + b; + } + + @memo + add1403(a: number, b: number): number { + return a + b; + } + + @memo + add1404(a: number, b: number): number { + return a + b; + } + + @memo + add1405(a: number, b: number): number { + return a + b; + } + + @memo + add1406(a: number, b: number): number { + return a + b; + } + + @memo + add1407(a: number, b: number): number { + return a + b; + } + + @memo + add1408(a: number, b: number): number { + return a + b; + } + + @memo + add1409(a: number, b: number): number { + return a + b; + } + + @memo + add1410(a: number, b: number): number { + return a + b; + } + + @memo + add1411(a: number, b: number): number { + return a + b; + } + + @memo + add1412(a: number, b: number): number { + return a + b; + } + + @memo + add1413(a: number, b: number): number { + return a + b; + } + + @memo + add1414(a: number, b: number): number { + return a + b; + } + + @memo + add1415(a: number, b: number): number { + return a + b; + } + + @memo + add1416(a: number, b: number): number { + return a + b; + } + + @memo + add1417(a: number, b: number): number { + return a + b; + } + + @memo + add1418(a: number, b: number): number { + return a + b; + } + + @memo + add1419(a: number, b: number): number { + return a + b; + } + + @memo + add1420(a: number, b: number): number { + return a + b; + } + + @memo + add1421(a: number, b: number): number { + return a + b; + } + + @memo + add1422(a: number, b: number): number { + return a + b; + } + + @memo + add1423(a: number, b: number): number { + return a + b; + } + + @memo + add1424(a: number, b: number): number { + return a + b; + } + + @memo + add1425(a: number, b: number): number { + return a + b; + } + + @memo + add1426(a: number, b: number): number { + return a + b; + } + + @memo + add1427(a: number, b: number): number { + return a + b; + } + + @memo + add1428(a: number, b: number): number { + return a + b; + } + + @memo + add1429(a: number, b: number): number { + return a + b; + } + + @memo + add1430(a: number, b: number): number { + return a + b; + } + + @memo + add1431(a: number, b: number): number { + return a + b; + } + + @memo + add1432(a: number, b: number): number { + return a + b; + } + + @memo + add1433(a: number, b: number): number { + return a + b; + } + + @memo + add1434(a: number, b: number): number { + return a + b; + } + + @memo + add1435(a: number, b: number): number { + return a + b; + } + + @memo + add1436(a: number, b: number): number { + return a + b; + } + + @memo + add1437(a: number, b: number): number { + return a + b; + } + + @memo + add1438(a: number, b: number): number { + return a + b; + } + + @memo + add1439(a: number, b: number): number { + return a + b; + } + + @memo + add1440(a: number, b: number): number { + return a + b; + } + + @memo + add1441(a: number, b: number): number { + return a + b; + } + + @memo + add1442(a: number, b: number): number { + return a + b; + } + + @memo + add1443(a: number, b: number): number { + return a + b; + } + + @memo + add1444(a: number, b: number): number { + return a + b; + } + + @memo + add1445(a: number, b: number): number { + return a + b; + } + + @memo + add1446(a: number, b: number): number { + return a + b; + } + + @memo + add1447(a: number, b: number): number { + return a + b; + } + + @memo + add1448(a: number, b: number): number { + return a + b; + } + + @memo + add1449(a: number, b: number): number { + return a + b; + } + + @memo + add1450(a: number, b: number): number { + return a + b; + } + + @memo + add1451(a: number, b: number): number { + return a + b; + } + + @memo + add1452(a: number, b: number): number { + return a + b; + } + + @memo + add1453(a: number, b: number): number { + return a + b; + } + + @memo + add1454(a: number, b: number): number { + return a + b; + } + + @memo + add1455(a: number, b: number): number { + return a + b; + } + + @memo + add1456(a: number, b: number): number { + return a + b; + } + + @memo + add1457(a: number, b: number): number { + return a + b; + } + + @memo + add1458(a: number, b: number): number { + return a + b; + } + + @memo + add1459(a: number, b: number): number { + return a + b; + } + + @memo + add1460(a: number, b: number): number { + return a + b; + } + + @memo + add1461(a: number, b: number): number { + return a + b; + } + + @memo + add1462(a: number, b: number): number { + return a + b; + } + + @memo + add1463(a: number, b: number): number { + return a + b; + } + + @memo + add1464(a: number, b: number): number { + return a + b; + } + + @memo + add1465(a: number, b: number): number { + return a + b; + } + + @memo + add1466(a: number, b: number): number { + return a + b; + } + + @memo + add1467(a: number, b: number): number { + return a + b; + } + + @memo + add1468(a: number, b: number): number { + return a + b; + } + + @memo + add1469(a: number, b: number): number { + return a + b; + } + + @memo + add1470(a: number, b: number): number { + return a + b; + } + + @memo + add1471(a: number, b: number): number { + return a + b; + } + + @memo + add1472(a: number, b: number): number { + return a + b; + } + + @memo + add1473(a: number, b: number): number { + return a + b; + } + + @memo + add1474(a: number, b: number): number { + return a + b; + } + + @memo + add1475(a: number, b: number): number { + return a + b; + } + + @memo + add1476(a: number, b: number): number { + return a + b; + } + + @memo + add1477(a: number, b: number): number { + return a + b; + } + + @memo + add1478(a: number, b: number): number { + return a + b; + } + + @memo + add1479(a: number, b: number): number { + return a + b; + } + + @memo + add1480(a: number, b: number): number { + return a + b; + } + + @memo + add1481(a: number, b: number): number { + return a + b; + } + + @memo + add1482(a: number, b: number): number { + return a + b; + } + + @memo + add1483(a: number, b: number): number { + return a + b; + } + + @memo + add1484(a: number, b: number): number { + return a + b; + } + + @memo + add1485(a: number, b: number): number { + return a + b; + } + + @memo + add1486(a: number, b: number): number { + return a + b; + } + + @memo + add1487(a: number, b: number): number { + return a + b; + } + + @memo + add1488(a: number, b: number): number { + return a + b; + } + + @memo + add1489(a: number, b: number): number { + return a + b; + } + + @memo + add1490(a: number, b: number): number { + return a + b; + } + + @memo + add1491(a: number, b: number): number { + return a + b; + } + + @memo + add1492(a: number, b: number): number { + return a + b; + } + + @memo + add1493(a: number, b: number): number { + return a + b; + } + + @memo + add1494(a: number, b: number): number { + return a + b; + } + + @memo + add1495(a: number, b: number): number { + return a + b; + } + + @memo + add1496(a: number, b: number): number { + return a + b; + } + + @memo + add1497(a: number, b: number): number { + return a + b; + } + + @memo + add1498(a: number, b: number): number { + return a + b; + } + + @memo + add1499(a: number, b: number): number { + return a + b; + } + + @memo + add1500(a: number, b: number): number { + return a + b; + } + + @memo + add1501(a: number, b: number): number { + return a + b; + } + + @memo + add1502(a: number, b: number): number { + return a + b; + } + + @memo + add1503(a: number, b: number): number { + return a + b; + } + + @memo + add1504(a: number, b: number): number { + return a + b; + } + + @memo + add1505(a: number, b: number): number { + return a + b; + } + + @memo + add1506(a: number, b: number): number { + return a + b; + } + + @memo + add1507(a: number, b: number): number { + return a + b; + } + + @memo + add1508(a: number, b: number): number { + return a + b; + } + + @memo + add1509(a: number, b: number): number { + return a + b; + } + + @memo + add1510(a: number, b: number): number { + return a + b; + } + + @memo + add1511(a: number, b: number): number { + return a + b; + } + + @memo + add1512(a: number, b: number): number { + return a + b; + } + + @memo + add1513(a: number, b: number): number { + return a + b; + } + + @memo + add1514(a: number, b: number): number { + return a + b; + } + + @memo + add1515(a: number, b: number): number { + return a + b; + } + + @memo + add1516(a: number, b: number): number { + return a + b; + } + + @memo + add1517(a: number, b: number): number { + return a + b; + } + + @memo + add1518(a: number, b: number): number { + return a + b; + } + + @memo + add1519(a: number, b: number): number { + return a + b; + } + + @memo + add1520(a: number, b: number): number { + return a + b; + } + + @memo + add1521(a: number, b: number): number { + return a + b; + } + + @memo + add1522(a: number, b: number): number { + return a + b; + } + + @memo + add1523(a: number, b: number): number { + return a + b; + } + + @memo + add1524(a: number, b: number): number { + return a + b; + } + + @memo + add1525(a: number, b: number): number { + return a + b; + } + + @memo + add1526(a: number, b: number): number { + return a + b; + } + + @memo + add1527(a: number, b: number): number { + return a + b; + } + + @memo + add1528(a: number, b: number): number { + return a + b; + } + + @memo + add1529(a: number, b: number): number { + return a + b; + } + + @memo + add1530(a: number, b: number): number { + return a + b; + } + + @memo + add1531(a: number, b: number): number { + return a + b; + } + + @memo + add1532(a: number, b: number): number { + return a + b; + } + + @memo + add1533(a: number, b: number): number { + return a + b; + } + + @memo + add1534(a: number, b: number): number { + return a + b; + } + + @memo + add1535(a: number, b: number): number { + return a + b; + } + + @memo + add1536(a: number, b: number): number { + return a + b; + } + + @memo + add1537(a: number, b: number): number { + return a + b; + } + + @memo + add1538(a: number, b: number): number { + return a + b; + } + + @memo + add1539(a: number, b: number): number { + return a + b; + } + + @memo + add1540(a: number, b: number): number { + return a + b; + } + + @memo + add1541(a: number, b: number): number { + return a + b; + } + + @memo + add1542(a: number, b: number): number { + return a + b; + } + + @memo + add1543(a: number, b: number): number { + return a + b; + } + + @memo + add1544(a: number, b: number): number { + return a + b; + } + + @memo + add1545(a: number, b: number): number { + return a + b; + } + + @memo + add1546(a: number, b: number): number { + return a + b; + } + + @memo + add1547(a: number, b: number): number { + return a + b; + } + + @memo + add1548(a: number, b: number): number { + return a + b; + } + + @memo + add1549(a: number, b: number): number { + return a + b; + } + + @memo + add1550(a: number, b: number): number { + return a + b; + } + + @memo + add1551(a: number, b: number): number { + return a + b; + } + + @memo + add1552(a: number, b: number): number { + return a + b; + } + + @memo + add1553(a: number, b: number): number { + return a + b; + } + + @memo + add1554(a: number, b: number): number { + return a + b; + } + + @memo + add1555(a: number, b: number): number { + return a + b; + } + + @memo + add1556(a: number, b: number): number { + return a + b; + } + + @memo + add1557(a: number, b: number): number { + return a + b; + } + + @memo + add1558(a: number, b: number): number { + return a + b; + } + + @memo + add1559(a: number, b: number): number { + return a + b; + } + + @memo + add1560(a: number, b: number): number { + return a + b; + } + + @memo + add1561(a: number, b: number): number { + return a + b; + } + + @memo + add1562(a: number, b: number): number { + return a + b; + } + + @memo + add1563(a: number, b: number): number { + return a + b; + } + + @memo + add1564(a: number, b: number): number { + return a + b; + } + + @memo + add1565(a: number, b: number): number { + return a + b; + } + + @memo + add1566(a: number, b: number): number { + return a + b; + } + + @memo + add1567(a: number, b: number): number { + return a + b; + } + + @memo + add1568(a: number, b: number): number { + return a + b; + } + + @memo + add1569(a: number, b: number): number { + return a + b; + } + + @memo + add1570(a: number, b: number): number { + return a + b; + } + + @memo + add1571(a: number, b: number): number { + return a + b; + } + + @memo + add1572(a: number, b: number): number { + return a + b; + } + + @memo + add1573(a: number, b: number): number { + return a + b; + } + + @memo + add1574(a: number, b: number): number { + return a + b; + } + + @memo + add1575(a: number, b: number): number { + return a + b; + } + + @memo + add1576(a: number, b: number): number { + return a + b; + } + + @memo + add1577(a: number, b: number): number { + return a + b; + } + + @memo + add1578(a: number, b: number): number { + return a + b; + } + + @memo + add1579(a: number, b: number): number { + return a + b; + } + + @memo + add1580(a: number, b: number): number { + return a + b; + } + + @memo + add1581(a: number, b: number): number { + return a + b; + } + + @memo + add1582(a: number, b: number): number { + return a + b; + } + + @memo + add1583(a: number, b: number): number { + return a + b; + } + + @memo + add1584(a: number, b: number): number { + return a + b; + } + + @memo + add1585(a: number, b: number): number { + return a + b; + } + + @memo + add1586(a: number, b: number): number { + return a + b; + } + + @memo + add1587(a: number, b: number): number { + return a + b; + } + + @memo + add1588(a: number, b: number): number { + return a + b; + } + + @memo + add1589(a: number, b: number): number { + return a + b; + } + + @memo + add1590(a: number, b: number): number { + return a + b; + } + + @memo + add1591(a: number, b: number): number { + return a + b; + } + + @memo + add1592(a: number, b: number): number { + return a + b; + } + + @memo + add1593(a: number, b: number): number { + return a + b; + } + + @memo + add1594(a: number, b: number): number { + return a + b; + } + + @memo + add1595(a: number, b: number): number { + return a + b; + } + + @memo + add1596(a: number, b: number): number { + return a + b; + } + + @memo + add1597(a: number, b: number): number { + return a + b; + } + + @memo + add1598(a: number, b: number): number { + return a + b; + } + + @memo + add1599(a: number, b: number): number { + return a + b; + } + + @memo + add1600(a: number, b: number): number { + return a + b; + } + + @memo + add1601(a: number, b: number): number { + return a + b; + } + + @memo + add1602(a: number, b: number): number { + return a + b; + } + + @memo + add1603(a: number, b: number): number { + return a + b; + } + + @memo + add1604(a: number, b: number): number { + return a + b; + } + + @memo + add1605(a: number, b: number): number { + return a + b; + } + + @memo + add1606(a: number, b: number): number { + return a + b; + } + + @memo + add1607(a: number, b: number): number { + return a + b; + } + + @memo + add1608(a: number, b: number): number { + return a + b; + } + + @memo + add1609(a: number, b: number): number { + return a + b; + } + + @memo + add1610(a: number, b: number): number { + return a + b; + } + + @memo + add1611(a: number, b: number): number { + return a + b; + } + + @memo + add1612(a: number, b: number): number { + return a + b; + } + + @memo + add1613(a: number, b: number): number { + return a + b; + } + + @memo + add1614(a: number, b: number): number { + return a + b; + } + + @memo + add1615(a: number, b: number): number { + return a + b; + } + + @memo + add1616(a: number, b: number): number { + return a + b; + } + + @memo + add1617(a: number, b: number): number { + return a + b; + } + + @memo + add1618(a: number, b: number): number { + return a + b; + } + + @memo + add1619(a: number, b: number): number { + return a + b; + } + + @memo + add1620(a: number, b: number): number { + return a + b; + } + + @memo + add1621(a: number, b: number): number { + return a + b; + } + + @memo + add1622(a: number, b: number): number { + return a + b; + } + + @memo + add1623(a: number, b: number): number { + return a + b; + } + + @memo + add1624(a: number, b: number): number { + return a + b; + } + + @memo + add1625(a: number, b: number): number { + return a + b; + } + + @memo + add1626(a: number, b: number): number { + return a + b; + } + + @memo + add1627(a: number, b: number): number { + return a + b; + } + + @memo + add1628(a: number, b: number): number { + return a + b; + } + + @memo + add1629(a: number, b: number): number { + return a + b; + } + + @memo + add1630(a: number, b: number): number { + return a + b; + } + + @memo + add1631(a: number, b: number): number { + return a + b; + } + + @memo + add1632(a: number, b: number): number { + return a + b; + } + + @memo + add1633(a: number, b: number): number { + return a + b; + } + + @memo + add1634(a: number, b: number): number { + return a + b; + } + + @memo + add1635(a: number, b: number): number { + return a + b; + } + + @memo + add1636(a: number, b: number): number { + return a + b; + } + + @memo + add1637(a: number, b: number): number { + return a + b; + } + + @memo + add1638(a: number, b: number): number { + return a + b; + } + + @memo + add1639(a: number, b: number): number { + return a + b; + } + + @memo + add1640(a: number, b: number): number { + return a + b; + } + + @memo + add1641(a: number, b: number): number { + return a + b; + } + + @memo + add1642(a: number, b: number): number { + return a + b; + } + + @memo + add1643(a: number, b: number): number { + return a + b; + } + + @memo + add1644(a: number, b: number): number { + return a + b; + } + + @memo + add1645(a: number, b: number): number { + return a + b; + } + + @memo + add1646(a: number, b: number): number { + return a + b; + } + + @memo + add1647(a: number, b: number): number { + return a + b; + } + + @memo + add1648(a: number, b: number): number { + return a + b; + } + + @memo + add1649(a: number, b: number): number { + return a + b; + } + + @memo + add1650(a: number, b: number): number { + return a + b; + } + + @memo + add1651(a: number, b: number): number { + return a + b; + } + + @memo + add1652(a: number, b: number): number { + return a + b; + } + + @memo + add1653(a: number, b: number): number { + return a + b; + } + + @memo + add1654(a: number, b: number): number { + return a + b; + } + + @memo + add1655(a: number, b: number): number { + return a + b; + } + + @memo + add1656(a: number, b: number): number { + return a + b; + } + + @memo + add1657(a: number, b: number): number { + return a + b; + } + + @memo + add1658(a: number, b: number): number { + return a + b; + } + + @memo + add1659(a: number, b: number): number { + return a + b; + } + + @memo + add1660(a: number, b: number): number { + return a + b; + } + + @memo + add1661(a: number, b: number): number { + return a + b; + } + + @memo + add1662(a: number, b: number): number { + return a + b; + } + + @memo + add1663(a: number, b: number): number { + return a + b; + } + + @memo + add1664(a: number, b: number): number { + return a + b; + } + + @memo + add1665(a: number, b: number): number { + return a + b; + } + + @memo + add1666(a: number, b: number): number { + return a + b; + } + + @memo + add1667(a: number, b: number): number { + return a + b; + } + + @memo + add1668(a: number, b: number): number { + return a + b; + } + + @memo + add1669(a: number, b: number): number { + return a + b; + } + + @memo + add1670(a: number, b: number): number { + return a + b; + } + + @memo + add1671(a: number, b: number): number { + return a + b; + } + + @memo + add1672(a: number, b: number): number { + return a + b; + } + + @memo + add1673(a: number, b: number): number { + return a + b; + } + + @memo + add1674(a: number, b: number): number { + return a + b; + } + + @memo + add1675(a: number, b: number): number { + return a + b; + } + + @memo + add1676(a: number, b: number): number { + return a + b; + } + + @memo + add1677(a: number, b: number): number { + return a + b; + } + + @memo + add1678(a: number, b: number): number { + return a + b; + } + + @memo + add1679(a: number, b: number): number { + return a + b; + } + + @memo + add1680(a: number, b: number): number { + return a + b; + } + + @memo + add1681(a: number, b: number): number { + return a + b; + } + + @memo + add1682(a: number, b: number): number { + return a + b; + } + + @memo + add1683(a: number, b: number): number { + return a + b; + } + + @memo + add1684(a: number, b: number): number { + return a + b; + } + + @memo + add1685(a: number, b: number): number { + return a + b; + } + + @memo + add1686(a: number, b: number): number { + return a + b; + } + + @memo + add1687(a: number, b: number): number { + return a + b; + } + + @memo + add1688(a: number, b: number): number { + return a + b; + } + + @memo + add1689(a: number, b: number): number { + return a + b; + } + + @memo + add1690(a: number, b: number): number { + return a + b; + } + + @memo + add1691(a: number, b: number): number { + return a + b; + } + + @memo + add1692(a: number, b: number): number { + return a + b; + } + + @memo + add1693(a: number, b: number): number { + return a + b; + } + + @memo + add1694(a: number, b: number): number { + return a + b; + } + + @memo + add1695(a: number, b: number): number { + return a + b; + } + + @memo + add1696(a: number, b: number): number { + return a + b; + } + + @memo + add1697(a: number, b: number): number { + return a + b; + } + + @memo + add1698(a: number, b: number): number { + return a + b; + } + + @memo + add1699(a: number, b: number): number { + return a + b; + } + + @memo + add1700(a: number, b: number): number { + return a + b; + } + + @memo + add1701(a: number, b: number): number { + return a + b; + } + + @memo + add1702(a: number, b: number): number { + return a + b; + } + + @memo + add1703(a: number, b: number): number { + return a + b; + } + + @memo + add1704(a: number, b: number): number { + return a + b; + } + + @memo + add1705(a: number, b: number): number { + return a + b; + } + + @memo + add1706(a: number, b: number): number { + return a + b; + } + + @memo + add1707(a: number, b: number): number { + return a + b; + } + + @memo + add1708(a: number, b: number): number { + return a + b; + } + + @memo + add1709(a: number, b: number): number { + return a + b; + } + + @memo + add1710(a: number, b: number): number { + return a + b; + } + + @memo + add1711(a: number, b: number): number { + return a + b; + } + + @memo + add1712(a: number, b: number): number { + return a + b; + } + + @memo + add1713(a: number, b: number): number { + return a + b; + } + + @memo + add1714(a: number, b: number): number { + return a + b; + } + + @memo + add1715(a: number, b: number): number { + return a + b; + } + + @memo + add1716(a: number, b: number): number { + return a + b; + } + + @memo + add1717(a: number, b: number): number { + return a + b; + } + + @memo + add1718(a: number, b: number): number { + return a + b; + } + + @memo + add1719(a: number, b: number): number { + return a + b; + } + + @memo + add1720(a: number, b: number): number { + return a + b; + } + + @memo + add1721(a: number, b: number): number { + return a + b; + } + + @memo + add1722(a: number, b: number): number { + return a + b; + } + + @memo + add1723(a: number, b: number): number { + return a + b; + } + + @memo + add1724(a: number, b: number): number { + return a + b; + } + + @memo + add1725(a: number, b: number): number { + return a + b; + } + + @memo + add1726(a: number, b: number): number { + return a + b; + } + + @memo + add1727(a: number, b: number): number { + return a + b; + } + + @memo + add1728(a: number, b: number): number { + return a + b; + } + + @memo + add1729(a: number, b: number): number { + return a + b; + } + + @memo + add1730(a: number, b: number): number { + return a + b; + } + + @memo + add1731(a: number, b: number): number { + return a + b; + } + + @memo + add1732(a: number, b: number): number { + return a + b; + } + + @memo + add1733(a: number, b: number): number { + return a + b; + } + + @memo + add1734(a: number, b: number): number { + return a + b; + } + + @memo + add1735(a: number, b: number): number { + return a + b; + } + + @memo + add1736(a: number, b: number): number { + return a + b; + } + + @memo + add1737(a: number, b: number): number { + return a + b; + } + + @memo + add1738(a: number, b: number): number { + return a + b; + } + + @memo + add1739(a: number, b: number): number { + return a + b; + } + + @memo + add1740(a: number, b: number): number { + return a + b; + } + + @memo + add1741(a: number, b: number): number { + return a + b; + } + + @memo + add1742(a: number, b: number): number { + return a + b; + } + + @memo + add1743(a: number, b: number): number { + return a + b; + } + + @memo + add1744(a: number, b: number): number { + return a + b; + } + + @memo + add1745(a: number, b: number): number { + return a + b; + } + + @memo + add1746(a: number, b: number): number { + return a + b; + } + + @memo + add1747(a: number, b: number): number { + return a + b; + } + + @memo + add1748(a: number, b: number): number { + return a + b; + } + + @memo + add1749(a: number, b: number): number { + return a + b; + } + + @memo + add1750(a: number, b: number): number { + return a + b; + } + + @memo + add1751(a: number, b: number): number { + return a + b; + } + + @memo + add1752(a: number, b: number): number { + return a + b; + } + + @memo + add1753(a: number, b: number): number { + return a + b; + } + + @memo + add1754(a: number, b: number): number { + return a + b; + } + + @memo + add1755(a: number, b: number): number { + return a + b; + } + + @memo + add1756(a: number, b: number): number { + return a + b; + } + + @memo + add1757(a: number, b: number): number { + return a + b; + } + + @memo + add1758(a: number, b: number): number { + return a + b; + } + + @memo + add1759(a: number, b: number): number { + return a + b; + } + + @memo + add1760(a: number, b: number): number { + return a + b; + } + + @memo + add1761(a: number, b: number): number { + return a + b; + } + + @memo + add1762(a: number, b: number): number { + return a + b; + } + + @memo + add1763(a: number, b: number): number { + return a + b; + } + + @memo + add1764(a: number, b: number): number { + return a + b; + } + + @memo + add1765(a: number, b: number): number { + return a + b; + } + + @memo + add1766(a: number, b: number): number { + return a + b; + } + + @memo + add1767(a: number, b: number): number { + return a + b; + } + + @memo + add1768(a: number, b: number): number { + return a + b; + } + + @memo + add1769(a: number, b: number): number { + return a + b; + } + + @memo + add1770(a: number, b: number): number { + return a + b; + } + + @memo + add1771(a: number, b: number): number { + return a + b; + } + + @memo + add1772(a: number, b: number): number { + return a + b; + } + + @memo + add1773(a: number, b: number): number { + return a + b; + } + + @memo + add1774(a: number, b: number): number { + return a + b; + } + + @memo + add1775(a: number, b: number): number { + return a + b; + } + + @memo + add1776(a: number, b: number): number { + return a + b; + } + + @memo + add1777(a: number, b: number): number { + return a + b; + } + + @memo + add1778(a: number, b: number): number { + return a + b; + } + + @memo + add1779(a: number, b: number): number { + return a + b; + } + + @memo + add1780(a: number, b: number): number { + return a + b; + } + + @memo + add1781(a: number, b: number): number { + return a + b; + } + + @memo + add1782(a: number, b: number): number { + return a + b; + } + + @memo + add1783(a: number, b: number): number { + return a + b; + } + + @memo + add1784(a: number, b: number): number { + return a + b; + } + + @memo + add1785(a: number, b: number): number { + return a + b; + } + + @memo + add1786(a: number, b: number): number { + return a + b; + } + + @memo + add1787(a: number, b: number): number { + return a + b; + } + + @memo + add1788(a: number, b: number): number { + return a + b; + } + + @memo + add1789(a: number, b: number): number { + return a + b; + } + + @memo + add1790(a: number, b: number): number { + return a + b; + } + + @memo + add1791(a: number, b: number): number { + return a + b; + } + + @memo + add1792(a: number, b: number): number { + return a + b; + } + + @memo + add1793(a: number, b: number): number { + return a + b; + } + + @memo + add1794(a: number, b: number): number { + return a + b; + } + + @memo + add1795(a: number, b: number): number { + return a + b; + } + + @memo + add1796(a: number, b: number): number { + return a + b; + } + + @memo + add1797(a: number, b: number): number { + return a + b; + } + + @memo + add1798(a: number, b: number): number { + return a + b; + } + + @memo + add1799(a: number, b: number): number { + return a + b; + } + + @memo + add1800(a: number, b: number): number { + return a + b; + } + + @memo + add1801(a: number, b: number): number { + return a + b; + } + + @memo + add1802(a: number, b: number): number { + return a + b; + } + + @memo + add1803(a: number, b: number): number { + return a + b; + } + + @memo + add1804(a: number, b: number): number { + return a + b; + } + + @memo + add1805(a: number, b: number): number { + return a + b; + } + + @memo + add1806(a: number, b: number): number { + return a + b; + } + + @memo + add1807(a: number, b: number): number { + return a + b; + } + + @memo + add1808(a: number, b: number): number { + return a + b; + } + + @memo + add1809(a: number, b: number): number { + return a + b; + } + + @memo + add1810(a: number, b: number): number { + return a + b; + } + + @memo + add1811(a: number, b: number): number { + return a + b; + } + + @memo + add1812(a: number, b: number): number { + return a + b; + } + + @memo + add1813(a: number, b: number): number { + return a + b; + } + + @memo + add1814(a: number, b: number): number { + return a + b; + } + + @memo + add1815(a: number, b: number): number { + return a + b; + } + + @memo + add1816(a: number, b: number): number { + return a + b; + } + + @memo + add1817(a: number, b: number): number { + return a + b; + } + + @memo + add1818(a: number, b: number): number { + return a + b; + } + + @memo + add1819(a: number, b: number): number { + return a + b; + } + + @memo + add1820(a: number, b: number): number { + return a + b; + } + + @memo + add1821(a: number, b: number): number { + return a + b; + } + + @memo + add1822(a: number, b: number): number { + return a + b; + } + + @memo + add1823(a: number, b: number): number { + return a + b; + } + + @memo + add1824(a: number, b: number): number { + return a + b; + } + + @memo + add1825(a: number, b: number): number { + return a + b; + } + + @memo + add1826(a: number, b: number): number { + return a + b; + } + + @memo + add1827(a: number, b: number): number { + return a + b; + } + + @memo + add1828(a: number, b: number): number { + return a + b; + } + + @memo + add1829(a: number, b: number): number { + return a + b; + } + + @memo + add1830(a: number, b: number): number { + return a + b; + } + + @memo + add1831(a: number, b: number): number { + return a + b; + } + + @memo + add1832(a: number, b: number): number { + return a + b; + } + + @memo + add1833(a: number, b: number): number { + return a + b; + } + + @memo + add1834(a: number, b: number): number { + return a + b; + } + + @memo + add1835(a: number, b: number): number { + return a + b; + } + + @memo + add1836(a: number, b: number): number { + return a + b; + } + + @memo + add1837(a: number, b: number): number { + return a + b; + } + + @memo + add1838(a: number, b: number): number { + return a + b; + } + + @memo + add1839(a: number, b: number): number { + return a + b; + } + + @memo + add1840(a: number, b: number): number { + return a + b; + } + + @memo + add1841(a: number, b: number): number { + return a + b; + } + + @memo + add1842(a: number, b: number): number { + return a + b; + } + + @memo + add1843(a: number, b: number): number { + return a + b; + } + + @memo + add1844(a: number, b: number): number { + return a + b; + } + + @memo + add1845(a: number, b: number): number { + return a + b; + } + + @memo + add1846(a: number, b: number): number { + return a + b; + } + + @memo + add1847(a: number, b: number): number { + return a + b; + } + + @memo + add1848(a: number, b: number): number { + return a + b; + } + + @memo + add1849(a: number, b: number): number { + return a + b; + } + + @memo + add1850(a: number, b: number): number { + return a + b; + } + + @memo + add1851(a: number, b: number): number { + return a + b; + } + + @memo + add1852(a: number, b: number): number { + return a + b; + } + + @memo + add1853(a: number, b: number): number { + return a + b; + } + + @memo + add1854(a: number, b: number): number { + return a + b; + } + + @memo + add1855(a: number, b: number): number { + return a + b; + } + + @memo + add1856(a: number, b: number): number { + return a + b; + } + + @memo + add1857(a: number, b: number): number { + return a + b; + } + + @memo + add1858(a: number, b: number): number { + return a + b; + } + + @memo + add1859(a: number, b: number): number { + return a + b; + } + + @memo + add1860(a: number, b: number): number { + return a + b; + } + + @memo + add1861(a: number, b: number): number { + return a + b; + } + + @memo + add1862(a: number, b: number): number { + return a + b; + } + + @memo + add1863(a: number, b: number): number { + return a + b; + } + + @memo + add1864(a: number, b: number): number { + return a + b; + } + + @memo + add1865(a: number, b: number): number { + return a + b; + } + + @memo + add1866(a: number, b: number): number { + return a + b; + } + + @memo + add1867(a: number, b: number): number { + return a + b; + } + + @memo + add1868(a: number, b: number): number { + return a + b; + } + + @memo + add1869(a: number, b: number): number { + return a + b; + } + + @memo + add1870(a: number, b: number): number { + return a + b; + } + + @memo + add1871(a: number, b: number): number { + return a + b; + } + + @memo + add1872(a: number, b: number): number { + return a + b; + } + + @memo + add1873(a: number, b: number): number { + return a + b; + } + + @memo + add1874(a: number, b: number): number { + return a + b; + } + + @memo + add1875(a: number, b: number): number { + return a + b; + } + + @memo + add1876(a: number, b: number): number { + return a + b; + } + + @memo + add1877(a: number, b: number): number { + return a + b; + } + + @memo + add1878(a: number, b: number): number { + return a + b; + } + + @memo + add1879(a: number, b: number): number { + return a + b; + } + + @memo + add1880(a: number, b: number): number { + return a + b; + } + + @memo + add1881(a: number, b: number): number { + return a + b; + } + + @memo + add1882(a: number, b: number): number { + return a + b; + } + + @memo + add1883(a: number, b: number): number { + return a + b; + } + + @memo + add1884(a: number, b: number): number { + return a + b; + } + + @memo + add1885(a: number, b: number): number { + return a + b; + } + + @memo + add1886(a: number, b: number): number { + return a + b; + } + + @memo + add1887(a: number, b: number): number { + return a + b; + } + + @memo + add1888(a: number, b: number): number { + return a + b; + } + + @memo + add1889(a: number, b: number): number { + return a + b; + } + + @memo + add1890(a: number, b: number): number { + return a + b; + } + + @memo + add1891(a: number, b: number): number { + return a + b; + } + + @memo + add1892(a: number, b: number): number { + return a + b; + } + + @memo + add1893(a: number, b: number): number { + return a + b; + } + + @memo + add1894(a: number, b: number): number { + return a + b; + } + + @memo + add1895(a: number, b: number): number { + return a + b; + } + + @memo + add1896(a: number, b: number): number { + return a + b; + } + + @memo + add1897(a: number, b: number): number { + return a + b; + } + + @memo + add1898(a: number, b: number): number { + return a + b; + } + + @memo + add1899(a: number, b: number): number { + return a + b; + } + + @memo + add1900(a: number, b: number): number { + return a + b; + } + + @memo + add1901(a: number, b: number): number { + return a + b; + } + + @memo + add1902(a: number, b: number): number { + return a + b; + } + + @memo + add1903(a: number, b: number): number { + return a + b; + } + + @memo + add1904(a: number, b: number): number { + return a + b; + } + + @memo + add1905(a: number, b: number): number { + return a + b; + } + + @memo + add1906(a: number, b: number): number { + return a + b; + } + + @memo + add1907(a: number, b: number): number { + return a + b; + } + + @memo + add1908(a: number, b: number): number { + return a + b; + } + + @memo + add1909(a: number, b: number): number { + return a + b; + } + + @memo + add1910(a: number, b: number): number { + return a + b; + } + + @memo + add1911(a: number, b: number): number { + return a + b; + } + + @memo + add1912(a: number, b: number): number { + return a + b; + } + + @memo + add1913(a: number, b: number): number { + return a + b; + } + + @memo + add1914(a: number, b: number): number { + return a + b; + } + + @memo + add1915(a: number, b: number): number { + return a + b; + } + + @memo + add1916(a: number, b: number): number { + return a + b; + } + + @memo + add1917(a: number, b: number): number { + return a + b; + } + + @memo + add1918(a: number, b: number): number { + return a + b; + } + + @memo + add1919(a: number, b: number): number { + return a + b; + } + + @memo + add1920(a: number, b: number): number { + return a + b; + } + + @memo + add1921(a: number, b: number): number { + return a + b; + } + + @memo + add1922(a: number, b: number): number { + return a + b; + } + + @memo + add1923(a: number, b: number): number { + return a + b; + } + + @memo + add1924(a: number, b: number): number { + return a + b; + } + + @memo + add1925(a: number, b: number): number { + return a + b; + } + + @memo + add1926(a: number, b: number): number { + return a + b; + } + + @memo + add1927(a: number, b: number): number { + return a + b; + } + + @memo + add1928(a: number, b: number): number { + return a + b; + } + + @memo + add1929(a: number, b: number): number { + return a + b; + } + + @memo + add1930(a: number, b: number): number { + return a + b; + } + + @memo + add1931(a: number, b: number): number { + return a + b; + } + + @memo + add1932(a: number, b: number): number { + return a + b; + } + + @memo + add1933(a: number, b: number): number { + return a + b; + } + + @memo + add1934(a: number, b: number): number { + return a + b; + } + + @memo + add1935(a: number, b: number): number { + return a + b; + } + + @memo + add1936(a: number, b: number): number { + return a + b; + } + + @memo + add1937(a: number, b: number): number { + return a + b; + } + + @memo + add1938(a: number, b: number): number { + return a + b; + } + + @memo + add1939(a: number, b: number): number { + return a + b; + } + + @memo + add1940(a: number, b: number): number { + return a + b; + } + + @memo + add1941(a: number, b: number): number { + return a + b; + } + + @memo + add1942(a: number, b: number): number { + return a + b; + } + + @memo + add1943(a: number, b: number): number { + return a + b; + } + + @memo + add1944(a: number, b: number): number { + return a + b; + } + + @memo + add1945(a: number, b: number): number { + return a + b; + } + + @memo + add1946(a: number, b: number): number { + return a + b; + } + + @memo + add1947(a: number, b: number): number { + return a + b; + } + + @memo + add1948(a: number, b: number): number { + return a + b; + } + + @memo + add1949(a: number, b: number): number { + return a + b; + } + + @memo + add1950(a: number, b: number): number { + return a + b; + } + + @memo + add1951(a: number, b: number): number { + return a + b; + } + + @memo + add1952(a: number, b: number): number { + return a + b; + } + + @memo + add1953(a: number, b: number): number { + return a + b; + } + + @memo + add1954(a: number, b: number): number { + return a + b; + } + + @memo + add1955(a: number, b: number): number { + return a + b; + } + + @memo + add1956(a: number, b: number): number { + return a + b; + } + + @memo + add1957(a: number, b: number): number { + return a + b; + } + + @memo + add1958(a: number, b: number): number { + return a + b; + } + + @memo + add1959(a: number, b: number): number { + return a + b; + } + + @memo + add1960(a: number, b: number): number { + return a + b; + } + + @memo + add1961(a: number, b: number): number { + return a + b; + } + + @memo + add1962(a: number, b: number): number { + return a + b; + } + + @memo + add1963(a: number, b: number): number { + return a + b; + } + + @memo + add1964(a: number, b: number): number { + return a + b; + } + + @memo + add1965(a: number, b: number): number { + return a + b; + } + + @memo + add1966(a: number, b: number): number { + return a + b; + } + + @memo + add1967(a: number, b: number): number { + return a + b; + } + + @memo + add1968(a: number, b: number): number { + return a + b; + } + + @memo + add1969(a: number, b: number): number { + return a + b; + } + + @memo + add1970(a: number, b: number): number { + return a + b; + } + + @memo + add1971(a: number, b: number): number { + return a + b; + } + + @memo + add1972(a: number, b: number): number { + return a + b; + } + + @memo + add1973(a: number, b: number): number { + return a + b; + } + + @memo + add1974(a: number, b: number): number { + return a + b; + } + + @memo + add1975(a: number, b: number): number { + return a + b; + } + + @memo + add1976(a: number, b: number): number { + return a + b; + } + + @memo + add1977(a: number, b: number): number { + return a + b; + } + + @memo + add1978(a: number, b: number): number { + return a + b; + } + + @memo + add1979(a: number, b: number): number { + return a + b; + } + + @memo + add1980(a: number, b: number): number { + return a + b; + } + + @memo + add1981(a: number, b: number): number { + return a + b; + } + + @memo + add1982(a: number, b: number): number { + return a + b; + } + + @memo + add1983(a: number, b: number): number { + return a + b; + } + + @memo + add1984(a: number, b: number): number { + return a + b; + } + + @memo + add1985(a: number, b: number): number { + return a + b; + } + + @memo + add1986(a: number, b: number): number { + return a + b; + } + + @memo + add1987(a: number, b: number): number { + return a + b; + } + + @memo + add1988(a: number, b: number): number { + return a + b; + } + + @memo + add1989(a: number, b: number): number { + return a + b; + } + + @memo + add1990(a: number, b: number): number { + return a + b; + } + + @memo + add1991(a: number, b: number): number { + return a + b; + } + + @memo + add1992(a: number, b: number): number { + return a + b; + } + + @memo + add1993(a: number, b: number): number { + return a + b; + } + + @memo + add1994(a: number, b: number): number { + return a + b; + } + + @memo + add1995(a: number, b: number): number { + return a + b; + } + + @memo + add1996(a: number, b: number): number { + return a + b; + } + + @memo + add1997(a: number, b: number): number { + return a + b; + } + + @memo + add1998(a: number, b: number): number { + return a + b; + } + + @memo + add1999(a: number, b: number): number { + return a + b; + } + + + build() { + Column() { + Button('Click me!') + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick((e:ClickEvent) => { + this.num = this.add0(this.num, this.num); + this.num = this.add1(this.num, this.num); + this.num = this.add2(this.num, this.num); + this.num = this.add3(this.num, this.num); + this.num = this.add4(this.num, this.num); + this.num = this.add5(this.num, this.num); + this.num = this.add6(this.num, this.num); + this.num = this.add7(this.num, this.num); + this.num = this.add8(this.num, this.num); + this.num = this.add9(this.num, this.num); + this.num = this.add10(this.num, this.num); + this.num = this.add11(this.num, this.num); + this.num = this.add12(this.num, this.num); + this.num = this.add13(this.num, this.num); + this.num = this.add14(this.num, this.num); + this.num = this.add15(this.num, this.num); + this.num = this.add16(this.num, this.num); + this.num = this.add17(this.num, this.num); + this.num = this.add18(this.num, this.num); + this.num = this.add19(this.num, this.num); + this.num = this.add20(this.num, this.num); + this.num = this.add21(this.num, this.num); + this.num = this.add22(this.num, this.num); + this.num = this.add23(this.num, this.num); + this.num = this.add24(this.num, this.num); + this.num = this.add25(this.num, this.num); + this.num = this.add26(this.num, this.num); + this.num = this.add27(this.num, this.num); + this.num = this.add28(this.num, this.num); + this.num = this.add29(this.num, this.num); + this.num = this.add30(this.num, this.num); + this.num = this.add31(this.num, this.num); + this.num = this.add32(this.num, this.num); + this.num = this.add33(this.num, this.num); + this.num = this.add34(this.num, this.num); + this.num = this.add35(this.num, this.num); + this.num = this.add36(this.num, this.num); + this.num = this.add37(this.num, this.num); + this.num = this.add38(this.num, this.num); + this.num = this.add39(this.num, this.num); + this.num = this.add40(this.num, this.num); + this.num = this.add41(this.num, this.num); + this.num = this.add42(this.num, this.num); + this.num = this.add43(this.num, this.num); + this.num = this.add44(this.num, this.num); + this.num = this.add45(this.num, this.num); + this.num = this.add46(this.num, this.num); + this.num = this.add47(this.num, this.num); + this.num = this.add48(this.num, this.num); + this.num = this.add49(this.num, this.num); + this.num = this.add50(this.num, this.num); + this.num = this.add51(this.num, this.num); + this.num = this.add52(this.num, this.num); + this.num = this.add53(this.num, this.num); + this.num = this.add54(this.num, this.num); + this.num = this.add55(this.num, this.num); + this.num = this.add56(this.num, this.num); + this.num = this.add57(this.num, this.num); + this.num = this.add58(this.num, this.num); + this.num = this.add59(this.num, this.num); + this.num = this.add60(this.num, this.num); + this.num = this.add61(this.num, this.num); + this.num = this.add62(this.num, this.num); + this.num = this.add63(this.num, this.num); + this.num = this.add64(this.num, this.num); + this.num = this.add65(this.num, this.num); + this.num = this.add66(this.num, this.num); + this.num = this.add67(this.num, this.num); + this.num = this.add68(this.num, this.num); + this.num = this.add69(this.num, this.num); + this.num = this.add70(this.num, this.num); + this.num = this.add71(this.num, this.num); + this.num = this.add72(this.num, this.num); + this.num = this.add73(this.num, this.num); + this.num = this.add74(this.num, this.num); + this.num = this.add75(this.num, this.num); + this.num = this.add76(this.num, this.num); + this.num = this.add77(this.num, this.num); + this.num = this.add78(this.num, this.num); + this.num = this.add79(this.num, this.num); + this.num = this.add80(this.num, this.num); + this.num = this.add81(this.num, this.num); + this.num = this.add82(this.num, this.num); + this.num = this.add83(this.num, this.num); + this.num = this.add84(this.num, this.num); + this.num = this.add85(this.num, this.num); + this.num = this.add86(this.num, this.num); + this.num = this.add87(this.num, this.num); + this.num = this.add88(this.num, this.num); + this.num = this.add89(this.num, this.num); + this.num = this.add90(this.num, this.num); + this.num = this.add91(this.num, this.num); + this.num = this.add92(this.num, this.num); + this.num = this.add93(this.num, this.num); + this.num = this.add94(this.num, this.num); + this.num = this.add95(this.num, this.num); + this.num = this.add96(this.num, this.num); + this.num = this.add97(this.num, this.num); + this.num = this.add98(this.num, this.num); + this.num = this.add99(this.num, this.num); + this.num = this.add100(this.num, this.num); + this.num = this.add101(this.num, this.num); + this.num = this.add102(this.num, this.num); + this.num = this.add103(this.num, this.num); + this.num = this.add104(this.num, this.num); + this.num = this.add105(this.num, this.num); + this.num = this.add106(this.num, this.num); + this.num = this.add107(this.num, this.num); + this.num = this.add108(this.num, this.num); + this.num = this.add109(this.num, this.num); + this.num = this.add110(this.num, this.num); + this.num = this.add111(this.num, this.num); + this.num = this.add112(this.num, this.num); + this.num = this.add113(this.num, this.num); + this.num = this.add114(this.num, this.num); + this.num = this.add115(this.num, this.num); + this.num = this.add116(this.num, this.num); + this.num = this.add117(this.num, this.num); + this.num = this.add118(this.num, this.num); + this.num = this.add119(this.num, this.num); + this.num = this.add120(this.num, this.num); + this.num = this.add121(this.num, this.num); + this.num = this.add122(this.num, this.num); + this.num = this.add123(this.num, this.num); + this.num = this.add124(this.num, this.num); + this.num = this.add125(this.num, this.num); + this.num = this.add126(this.num, this.num); + this.num = this.add127(this.num, this.num); + this.num = this.add128(this.num, this.num); + this.num = this.add129(this.num, this.num); + this.num = this.add130(this.num, this.num); + this.num = this.add131(this.num, this.num); + this.num = this.add132(this.num, this.num); + this.num = this.add133(this.num, this.num); + this.num = this.add134(this.num, this.num); + this.num = this.add135(this.num, this.num); + this.num = this.add136(this.num, this.num); + this.num = this.add137(this.num, this.num); + this.num = this.add138(this.num, this.num); + this.num = this.add139(this.num, this.num); + this.num = this.add140(this.num, this.num); + this.num = this.add141(this.num, this.num); + this.num = this.add142(this.num, this.num); + this.num = this.add143(this.num, this.num); + this.num = this.add144(this.num, this.num); + this.num = this.add145(this.num, this.num); + this.num = this.add146(this.num, this.num); + this.num = this.add147(this.num, this.num); + this.num = this.add148(this.num, this.num); + this.num = this.add149(this.num, this.num); + this.num = this.add150(this.num, this.num); + this.num = this.add151(this.num, this.num); + this.num = this.add152(this.num, this.num); + this.num = this.add153(this.num, this.num); + this.num = this.add154(this.num, this.num); + this.num = this.add155(this.num, this.num); + this.num = this.add156(this.num, this.num); + this.num = this.add157(this.num, this.num); + this.num = this.add158(this.num, this.num); + this.num = this.add159(this.num, this.num); + this.num = this.add160(this.num, this.num); + this.num = this.add161(this.num, this.num); + this.num = this.add162(this.num, this.num); + this.num = this.add163(this.num, this.num); + this.num = this.add164(this.num, this.num); + this.num = this.add165(this.num, this.num); + this.num = this.add166(this.num, this.num); + this.num = this.add167(this.num, this.num); + this.num = this.add168(this.num, this.num); + this.num = this.add169(this.num, this.num); + this.num = this.add170(this.num, this.num); + this.num = this.add171(this.num, this.num); + this.num = this.add172(this.num, this.num); + this.num = this.add173(this.num, this.num); + this.num = this.add174(this.num, this.num); + this.num = this.add175(this.num, this.num); + this.num = this.add176(this.num, this.num); + this.num = this.add177(this.num, this.num); + this.num = this.add178(this.num, this.num); + this.num = this.add179(this.num, this.num); + this.num = this.add180(this.num, this.num); + this.num = this.add181(this.num, this.num); + this.num = this.add182(this.num, this.num); + this.num = this.add183(this.num, this.num); + this.num = this.add184(this.num, this.num); + this.num = this.add185(this.num, this.num); + this.num = this.add186(this.num, this.num); + this.num = this.add187(this.num, this.num); + this.num = this.add188(this.num, this.num); + this.num = this.add189(this.num, this.num); + this.num = this.add190(this.num, this.num); + this.num = this.add191(this.num, this.num); + this.num = this.add192(this.num, this.num); + this.num = this.add193(this.num, this.num); + this.num = this.add194(this.num, this.num); + this.num = this.add195(this.num, this.num); + this.num = this.add196(this.num, this.num); + this.num = this.add197(this.num, this.num); + this.num = this.add198(this.num, this.num); + this.num = this.add199(this.num, this.num); + this.num = this.add200(this.num, this.num); + this.num = this.add201(this.num, this.num); + this.num = this.add202(this.num, this.num); + this.num = this.add203(this.num, this.num); + this.num = this.add204(this.num, this.num); + this.num = this.add205(this.num, this.num); + this.num = this.add206(this.num, this.num); + this.num = this.add207(this.num, this.num); + this.num = this.add208(this.num, this.num); + this.num = this.add209(this.num, this.num); + this.num = this.add210(this.num, this.num); + this.num = this.add211(this.num, this.num); + this.num = this.add212(this.num, this.num); + this.num = this.add213(this.num, this.num); + this.num = this.add214(this.num, this.num); + this.num = this.add215(this.num, this.num); + this.num = this.add216(this.num, this.num); + this.num = this.add217(this.num, this.num); + this.num = this.add218(this.num, this.num); + this.num = this.add219(this.num, this.num); + this.num = this.add220(this.num, this.num); + this.num = this.add221(this.num, this.num); + this.num = this.add222(this.num, this.num); + this.num = this.add223(this.num, this.num); + this.num = this.add224(this.num, this.num); + this.num = this.add225(this.num, this.num); + this.num = this.add226(this.num, this.num); + this.num = this.add227(this.num, this.num); + this.num = this.add228(this.num, this.num); + this.num = this.add229(this.num, this.num); + this.num = this.add230(this.num, this.num); + this.num = this.add231(this.num, this.num); + this.num = this.add232(this.num, this.num); + this.num = this.add233(this.num, this.num); + this.num = this.add234(this.num, this.num); + this.num = this.add235(this.num, this.num); + this.num = this.add236(this.num, this.num); + this.num = this.add237(this.num, this.num); + this.num = this.add238(this.num, this.num); + this.num = this.add239(this.num, this.num); + this.num = this.add240(this.num, this.num); + this.num = this.add241(this.num, this.num); + this.num = this.add242(this.num, this.num); + this.num = this.add243(this.num, this.num); + this.num = this.add244(this.num, this.num); + this.num = this.add245(this.num, this.num); + this.num = this.add246(this.num, this.num); + this.num = this.add247(this.num, this.num); + this.num = this.add248(this.num, this.num); + this.num = this.add249(this.num, this.num); + this.num = this.add250(this.num, this.num); + this.num = this.add251(this.num, this.num); + this.num = this.add252(this.num, this.num); + this.num = this.add253(this.num, this.num); + this.num = this.add254(this.num, this.num); + this.num = this.add255(this.num, this.num); + this.num = this.add256(this.num, this.num); + this.num = this.add257(this.num, this.num); + this.num = this.add258(this.num, this.num); + this.num = this.add259(this.num, this.num); + this.num = this.add260(this.num, this.num); + this.num = this.add261(this.num, this.num); + this.num = this.add262(this.num, this.num); + this.num = this.add263(this.num, this.num); + this.num = this.add264(this.num, this.num); + this.num = this.add265(this.num, this.num); + this.num = this.add266(this.num, this.num); + this.num = this.add267(this.num, this.num); + this.num = this.add268(this.num, this.num); + this.num = this.add269(this.num, this.num); + this.num = this.add270(this.num, this.num); + this.num = this.add271(this.num, this.num); + this.num = this.add272(this.num, this.num); + this.num = this.add273(this.num, this.num); + this.num = this.add274(this.num, this.num); + this.num = this.add275(this.num, this.num); + this.num = this.add276(this.num, this.num); + this.num = this.add277(this.num, this.num); + this.num = this.add278(this.num, this.num); + this.num = this.add279(this.num, this.num); + this.num = this.add280(this.num, this.num); + this.num = this.add281(this.num, this.num); + this.num = this.add282(this.num, this.num); + this.num = this.add283(this.num, this.num); + this.num = this.add284(this.num, this.num); + this.num = this.add285(this.num, this.num); + this.num = this.add286(this.num, this.num); + this.num = this.add287(this.num, this.num); + this.num = this.add288(this.num, this.num); + this.num = this.add289(this.num, this.num); + this.num = this.add290(this.num, this.num); + this.num = this.add291(this.num, this.num); + this.num = this.add292(this.num, this.num); + this.num = this.add293(this.num, this.num); + this.num = this.add294(this.num, this.num); + this.num = this.add295(this.num, this.num); + this.num = this.add296(this.num, this.num); + this.num = this.add297(this.num, this.num); + this.num = this.add298(this.num, this.num); + this.num = this.add299(this.num, this.num); + this.num = this.add300(this.num, this.num); + this.num = this.add301(this.num, this.num); + this.num = this.add302(this.num, this.num); + this.num = this.add303(this.num, this.num); + this.num = this.add304(this.num, this.num); + this.num = this.add305(this.num, this.num); + this.num = this.add306(this.num, this.num); + this.num = this.add307(this.num, this.num); + this.num = this.add308(this.num, this.num); + this.num = this.add309(this.num, this.num); + this.num = this.add310(this.num, this.num); + this.num = this.add311(this.num, this.num); + this.num = this.add312(this.num, this.num); + this.num = this.add313(this.num, this.num); + this.num = this.add314(this.num, this.num); + this.num = this.add315(this.num, this.num); + this.num = this.add316(this.num, this.num); + this.num = this.add317(this.num, this.num); + this.num = this.add318(this.num, this.num); + this.num = this.add319(this.num, this.num); + this.num = this.add320(this.num, this.num); + this.num = this.add321(this.num, this.num); + this.num = this.add322(this.num, this.num); + this.num = this.add323(this.num, this.num); + this.num = this.add324(this.num, this.num); + this.num = this.add325(this.num, this.num); + this.num = this.add326(this.num, this.num); + this.num = this.add327(this.num, this.num); + this.num = this.add328(this.num, this.num); + this.num = this.add329(this.num, this.num); + this.num = this.add330(this.num, this.num); + this.num = this.add331(this.num, this.num); + this.num = this.add332(this.num, this.num); + this.num = this.add333(this.num, this.num); + this.num = this.add334(this.num, this.num); + this.num = this.add335(this.num, this.num); + this.num = this.add336(this.num, this.num); + this.num = this.add337(this.num, this.num); + this.num = this.add338(this.num, this.num); + this.num = this.add339(this.num, this.num); + this.num = this.add340(this.num, this.num); + this.num = this.add341(this.num, this.num); + this.num = this.add342(this.num, this.num); + this.num = this.add343(this.num, this.num); + this.num = this.add344(this.num, this.num); + this.num = this.add345(this.num, this.num); + this.num = this.add346(this.num, this.num); + this.num = this.add347(this.num, this.num); + this.num = this.add348(this.num, this.num); + this.num = this.add349(this.num, this.num); + this.num = this.add350(this.num, this.num); + this.num = this.add351(this.num, this.num); + this.num = this.add352(this.num, this.num); + this.num = this.add353(this.num, this.num); + this.num = this.add354(this.num, this.num); + this.num = this.add355(this.num, this.num); + this.num = this.add356(this.num, this.num); + this.num = this.add357(this.num, this.num); + this.num = this.add358(this.num, this.num); + this.num = this.add359(this.num, this.num); + this.num = this.add360(this.num, this.num); + this.num = this.add361(this.num, this.num); + this.num = this.add362(this.num, this.num); + this.num = this.add363(this.num, this.num); + this.num = this.add364(this.num, this.num); + this.num = this.add365(this.num, this.num); + this.num = this.add366(this.num, this.num); + this.num = this.add367(this.num, this.num); + this.num = this.add368(this.num, this.num); + this.num = this.add369(this.num, this.num); + this.num = this.add370(this.num, this.num); + this.num = this.add371(this.num, this.num); + this.num = this.add372(this.num, this.num); + this.num = this.add373(this.num, this.num); + this.num = this.add374(this.num, this.num); + this.num = this.add375(this.num, this.num); + this.num = this.add376(this.num, this.num); + this.num = this.add377(this.num, this.num); + this.num = this.add378(this.num, this.num); + this.num = this.add379(this.num, this.num); + this.num = this.add380(this.num, this.num); + this.num = this.add381(this.num, this.num); + this.num = this.add382(this.num, this.num); + this.num = this.add383(this.num, this.num); + this.num = this.add384(this.num, this.num); + this.num = this.add385(this.num, this.num); + this.num = this.add386(this.num, this.num); + this.num = this.add387(this.num, this.num); + this.num = this.add388(this.num, this.num); + this.num = this.add389(this.num, this.num); + this.num = this.add390(this.num, this.num); + this.num = this.add391(this.num, this.num); + this.num = this.add392(this.num, this.num); + this.num = this.add393(this.num, this.num); + this.num = this.add394(this.num, this.num); + this.num = this.add395(this.num, this.num); + this.num = this.add396(this.num, this.num); + this.num = this.add397(this.num, this.num); + this.num = this.add398(this.num, this.num); + this.num = this.add399(this.num, this.num); + this.num = this.add400(this.num, this.num); + this.num = this.add401(this.num, this.num); + this.num = this.add402(this.num, this.num); + this.num = this.add403(this.num, this.num); + this.num = this.add404(this.num, this.num); + this.num = this.add405(this.num, this.num); + this.num = this.add406(this.num, this.num); + this.num = this.add407(this.num, this.num); + this.num = this.add408(this.num, this.num); + this.num = this.add409(this.num, this.num); + this.num = this.add410(this.num, this.num); + this.num = this.add411(this.num, this.num); + this.num = this.add412(this.num, this.num); + this.num = this.add413(this.num, this.num); + this.num = this.add414(this.num, this.num); + this.num = this.add415(this.num, this.num); + this.num = this.add416(this.num, this.num); + this.num = this.add417(this.num, this.num); + this.num = this.add418(this.num, this.num); + this.num = this.add419(this.num, this.num); + this.num = this.add420(this.num, this.num); + this.num = this.add421(this.num, this.num); + this.num = this.add422(this.num, this.num); + this.num = this.add423(this.num, this.num); + this.num = this.add424(this.num, this.num); + this.num = this.add425(this.num, this.num); + this.num = this.add426(this.num, this.num); + this.num = this.add427(this.num, this.num); + this.num = this.add428(this.num, this.num); + this.num = this.add429(this.num, this.num); + this.num = this.add430(this.num, this.num); + this.num = this.add431(this.num, this.num); + this.num = this.add432(this.num, this.num); + this.num = this.add433(this.num, this.num); + this.num = this.add434(this.num, this.num); + this.num = this.add435(this.num, this.num); + this.num = this.add436(this.num, this.num); + this.num = this.add437(this.num, this.num); + this.num = this.add438(this.num, this.num); + this.num = this.add439(this.num, this.num); + this.num = this.add440(this.num, this.num); + this.num = this.add441(this.num, this.num); + this.num = this.add442(this.num, this.num); + this.num = this.add443(this.num, this.num); + this.num = this.add444(this.num, this.num); + this.num = this.add445(this.num, this.num); + this.num = this.add446(this.num, this.num); + this.num = this.add447(this.num, this.num); + this.num = this.add448(this.num, this.num); + this.num = this.add449(this.num, this.num); + this.num = this.add450(this.num, this.num); + this.num = this.add451(this.num, this.num); + this.num = this.add452(this.num, this.num); + this.num = this.add453(this.num, this.num); + this.num = this.add454(this.num, this.num); + this.num = this.add455(this.num, this.num); + this.num = this.add456(this.num, this.num); + this.num = this.add457(this.num, this.num); + this.num = this.add458(this.num, this.num); + this.num = this.add459(this.num, this.num); + this.num = this.add460(this.num, this.num); + this.num = this.add461(this.num, this.num); + this.num = this.add462(this.num, this.num); + this.num = this.add463(this.num, this.num); + this.num = this.add464(this.num, this.num); + this.num = this.add465(this.num, this.num); + this.num = this.add466(this.num, this.num); + this.num = this.add467(this.num, this.num); + this.num = this.add468(this.num, this.num); + this.num = this.add469(this.num, this.num); + this.num = this.add470(this.num, this.num); + this.num = this.add471(this.num, this.num); + this.num = this.add472(this.num, this.num); + this.num = this.add473(this.num, this.num); + this.num = this.add474(this.num, this.num); + this.num = this.add475(this.num, this.num); + this.num = this.add476(this.num, this.num); + this.num = this.add477(this.num, this.num); + this.num = this.add478(this.num, this.num); + this.num = this.add479(this.num, this.num); + this.num = this.add480(this.num, this.num); + this.num = this.add481(this.num, this.num); + this.num = this.add482(this.num, this.num); + this.num = this.add483(this.num, this.num); + this.num = this.add484(this.num, this.num); + this.num = this.add485(this.num, this.num); + this.num = this.add486(this.num, this.num); + this.num = this.add487(this.num, this.num); + this.num = this.add488(this.num, this.num); + this.num = this.add489(this.num, this.num); + this.num = this.add490(this.num, this.num); + this.num = this.add491(this.num, this.num); + this.num = this.add492(this.num, this.num); + this.num = this.add493(this.num, this.num); + this.num = this.add494(this.num, this.num); + this.num = this.add495(this.num, this.num); + this.num = this.add496(this.num, this.num); + this.num = this.add497(this.num, this.num); + this.num = this.add498(this.num, this.num); + this.num = this.add499(this.num, this.num); + this.num = this.add500(this.num, this.num); + this.num = this.add501(this.num, this.num); + this.num = this.add502(this.num, this.num); + this.num = this.add503(this.num, this.num); + this.num = this.add504(this.num, this.num); + this.num = this.add505(this.num, this.num); + this.num = this.add506(this.num, this.num); + this.num = this.add507(this.num, this.num); + this.num = this.add508(this.num, this.num); + this.num = this.add509(this.num, this.num); + this.num = this.add510(this.num, this.num); + this.num = this.add511(this.num, this.num); + this.num = this.add512(this.num, this.num); + this.num = this.add513(this.num, this.num); + this.num = this.add514(this.num, this.num); + this.num = this.add515(this.num, this.num); + this.num = this.add516(this.num, this.num); + this.num = this.add517(this.num, this.num); + this.num = this.add518(this.num, this.num); + this.num = this.add519(this.num, this.num); + this.num = this.add520(this.num, this.num); + this.num = this.add521(this.num, this.num); + this.num = this.add522(this.num, this.num); + this.num = this.add523(this.num, this.num); + this.num = this.add524(this.num, this.num); + this.num = this.add525(this.num, this.num); + this.num = this.add526(this.num, this.num); + this.num = this.add527(this.num, this.num); + this.num = this.add528(this.num, this.num); + this.num = this.add529(this.num, this.num); + this.num = this.add530(this.num, this.num); + this.num = this.add531(this.num, this.num); + this.num = this.add532(this.num, this.num); + this.num = this.add533(this.num, this.num); + this.num = this.add534(this.num, this.num); + this.num = this.add535(this.num, this.num); + this.num = this.add536(this.num, this.num); + this.num = this.add537(this.num, this.num); + this.num = this.add538(this.num, this.num); + this.num = this.add539(this.num, this.num); + this.num = this.add540(this.num, this.num); + this.num = this.add541(this.num, this.num); + this.num = this.add542(this.num, this.num); + this.num = this.add543(this.num, this.num); + this.num = this.add544(this.num, this.num); + this.num = this.add545(this.num, this.num); + this.num = this.add546(this.num, this.num); + this.num = this.add547(this.num, this.num); + this.num = this.add548(this.num, this.num); + this.num = this.add549(this.num, this.num); + this.num = this.add550(this.num, this.num); + this.num = this.add551(this.num, this.num); + this.num = this.add552(this.num, this.num); + this.num = this.add553(this.num, this.num); + this.num = this.add554(this.num, this.num); + this.num = this.add555(this.num, this.num); + this.num = this.add556(this.num, this.num); + this.num = this.add557(this.num, this.num); + this.num = this.add558(this.num, this.num); + this.num = this.add559(this.num, this.num); + this.num = this.add560(this.num, this.num); + this.num = this.add561(this.num, this.num); + this.num = this.add562(this.num, this.num); + this.num = this.add563(this.num, this.num); + this.num = this.add564(this.num, this.num); + this.num = this.add565(this.num, this.num); + this.num = this.add566(this.num, this.num); + this.num = this.add567(this.num, this.num); + this.num = this.add568(this.num, this.num); + this.num = this.add569(this.num, this.num); + this.num = this.add570(this.num, this.num); + this.num = this.add571(this.num, this.num); + this.num = this.add572(this.num, this.num); + this.num = this.add573(this.num, this.num); + this.num = this.add574(this.num, this.num); + this.num = this.add575(this.num, this.num); + this.num = this.add576(this.num, this.num); + this.num = this.add577(this.num, this.num); + this.num = this.add578(this.num, this.num); + this.num = this.add579(this.num, this.num); + this.num = this.add580(this.num, this.num); + this.num = this.add581(this.num, this.num); + this.num = this.add582(this.num, this.num); + this.num = this.add583(this.num, this.num); + this.num = this.add584(this.num, this.num); + this.num = this.add585(this.num, this.num); + this.num = this.add586(this.num, this.num); + this.num = this.add587(this.num, this.num); + this.num = this.add588(this.num, this.num); + this.num = this.add589(this.num, this.num); + this.num = this.add590(this.num, this.num); + this.num = this.add591(this.num, this.num); + this.num = this.add592(this.num, this.num); + this.num = this.add593(this.num, this.num); + this.num = this.add594(this.num, this.num); + this.num = this.add595(this.num, this.num); + this.num = this.add596(this.num, this.num); + this.num = this.add597(this.num, this.num); + this.num = this.add598(this.num, this.num); + this.num = this.add599(this.num, this.num); + this.num = this.add600(this.num, this.num); + this.num = this.add601(this.num, this.num); + this.num = this.add602(this.num, this.num); + this.num = this.add603(this.num, this.num); + this.num = this.add604(this.num, this.num); + this.num = this.add605(this.num, this.num); + this.num = this.add606(this.num, this.num); + this.num = this.add607(this.num, this.num); + this.num = this.add608(this.num, this.num); + this.num = this.add609(this.num, this.num); + this.num = this.add610(this.num, this.num); + this.num = this.add611(this.num, this.num); + this.num = this.add612(this.num, this.num); + this.num = this.add613(this.num, this.num); + this.num = this.add614(this.num, this.num); + this.num = this.add615(this.num, this.num); + this.num = this.add616(this.num, this.num); + this.num = this.add617(this.num, this.num); + this.num = this.add618(this.num, this.num); + this.num = this.add619(this.num, this.num); + this.num = this.add620(this.num, this.num); + this.num = this.add621(this.num, this.num); + this.num = this.add622(this.num, this.num); + this.num = this.add623(this.num, this.num); + this.num = this.add624(this.num, this.num); + this.num = this.add625(this.num, this.num); + this.num = this.add626(this.num, this.num); + this.num = this.add627(this.num, this.num); + this.num = this.add628(this.num, this.num); + this.num = this.add629(this.num, this.num); + this.num = this.add630(this.num, this.num); + this.num = this.add631(this.num, this.num); + this.num = this.add632(this.num, this.num); + this.num = this.add633(this.num, this.num); + this.num = this.add634(this.num, this.num); + this.num = this.add635(this.num, this.num); + this.num = this.add636(this.num, this.num); + this.num = this.add637(this.num, this.num); + this.num = this.add638(this.num, this.num); + this.num = this.add639(this.num, this.num); + this.num = this.add640(this.num, this.num); + this.num = this.add641(this.num, this.num); + this.num = this.add642(this.num, this.num); + this.num = this.add643(this.num, this.num); + this.num = this.add644(this.num, this.num); + this.num = this.add645(this.num, this.num); + this.num = this.add646(this.num, this.num); + this.num = this.add647(this.num, this.num); + this.num = this.add648(this.num, this.num); + this.num = this.add649(this.num, this.num); + this.num = this.add650(this.num, this.num); + this.num = this.add651(this.num, this.num); + this.num = this.add652(this.num, this.num); + this.num = this.add653(this.num, this.num); + this.num = this.add654(this.num, this.num); + this.num = this.add655(this.num, this.num); + this.num = this.add656(this.num, this.num); + this.num = this.add657(this.num, this.num); + this.num = this.add658(this.num, this.num); + this.num = this.add659(this.num, this.num); + this.num = this.add660(this.num, this.num); + this.num = this.add661(this.num, this.num); + this.num = this.add662(this.num, this.num); + this.num = this.add663(this.num, this.num); + this.num = this.add664(this.num, this.num); + this.num = this.add665(this.num, this.num); + this.num = this.add666(this.num, this.num); + this.num = this.add667(this.num, this.num); + this.num = this.add668(this.num, this.num); + this.num = this.add669(this.num, this.num); + this.num = this.add670(this.num, this.num); + this.num = this.add671(this.num, this.num); + this.num = this.add672(this.num, this.num); + this.num = this.add673(this.num, this.num); + this.num = this.add674(this.num, this.num); + this.num = this.add675(this.num, this.num); + this.num = this.add676(this.num, this.num); + this.num = this.add677(this.num, this.num); + this.num = this.add678(this.num, this.num); + this.num = this.add679(this.num, this.num); + this.num = this.add680(this.num, this.num); + this.num = this.add681(this.num, this.num); + this.num = this.add682(this.num, this.num); + this.num = this.add683(this.num, this.num); + this.num = this.add684(this.num, this.num); + this.num = this.add685(this.num, this.num); + this.num = this.add686(this.num, this.num); + this.num = this.add687(this.num, this.num); + this.num = this.add688(this.num, this.num); + this.num = this.add689(this.num, this.num); + this.num = this.add690(this.num, this.num); + this.num = this.add691(this.num, this.num); + this.num = this.add692(this.num, this.num); + this.num = this.add693(this.num, this.num); + this.num = this.add694(this.num, this.num); + this.num = this.add695(this.num, this.num); + this.num = this.add696(this.num, this.num); + this.num = this.add697(this.num, this.num); + this.num = this.add698(this.num, this.num); + this.num = this.add699(this.num, this.num); + this.num = this.add700(this.num, this.num); + this.num = this.add701(this.num, this.num); + this.num = this.add702(this.num, this.num); + this.num = this.add703(this.num, this.num); + this.num = this.add704(this.num, this.num); + this.num = this.add705(this.num, this.num); + this.num = this.add706(this.num, this.num); + this.num = this.add707(this.num, this.num); + this.num = this.add708(this.num, this.num); + this.num = this.add709(this.num, this.num); + this.num = this.add710(this.num, this.num); + this.num = this.add711(this.num, this.num); + this.num = this.add712(this.num, this.num); + this.num = this.add713(this.num, this.num); + this.num = this.add714(this.num, this.num); + this.num = this.add715(this.num, this.num); + this.num = this.add716(this.num, this.num); + this.num = this.add717(this.num, this.num); + this.num = this.add718(this.num, this.num); + this.num = this.add719(this.num, this.num); + this.num = this.add720(this.num, this.num); + this.num = this.add721(this.num, this.num); + this.num = this.add722(this.num, this.num); + this.num = this.add723(this.num, this.num); + this.num = this.add724(this.num, this.num); + this.num = this.add725(this.num, this.num); + this.num = this.add726(this.num, this.num); + this.num = this.add727(this.num, this.num); + this.num = this.add728(this.num, this.num); + this.num = this.add729(this.num, this.num); + this.num = this.add730(this.num, this.num); + this.num = this.add731(this.num, this.num); + this.num = this.add732(this.num, this.num); + this.num = this.add733(this.num, this.num); + this.num = this.add734(this.num, this.num); + this.num = this.add735(this.num, this.num); + this.num = this.add736(this.num, this.num); + this.num = this.add737(this.num, this.num); + this.num = this.add738(this.num, this.num); + this.num = this.add739(this.num, this.num); + this.num = this.add740(this.num, this.num); + this.num = this.add741(this.num, this.num); + this.num = this.add742(this.num, this.num); + this.num = this.add743(this.num, this.num); + this.num = this.add744(this.num, this.num); + this.num = this.add745(this.num, this.num); + this.num = this.add746(this.num, this.num); + this.num = this.add747(this.num, this.num); + this.num = this.add748(this.num, this.num); + this.num = this.add749(this.num, this.num); + this.num = this.add750(this.num, this.num); + this.num = this.add751(this.num, this.num); + this.num = this.add752(this.num, this.num); + this.num = this.add753(this.num, this.num); + this.num = this.add754(this.num, this.num); + this.num = this.add755(this.num, this.num); + this.num = this.add756(this.num, this.num); + this.num = this.add757(this.num, this.num); + this.num = this.add758(this.num, this.num); + this.num = this.add759(this.num, this.num); + this.num = this.add760(this.num, this.num); + this.num = this.add761(this.num, this.num); + this.num = this.add762(this.num, this.num); + this.num = this.add763(this.num, this.num); + this.num = this.add764(this.num, this.num); + this.num = this.add765(this.num, this.num); + this.num = this.add766(this.num, this.num); + this.num = this.add767(this.num, this.num); + this.num = this.add768(this.num, this.num); + this.num = this.add769(this.num, this.num); + this.num = this.add770(this.num, this.num); + this.num = this.add771(this.num, this.num); + this.num = this.add772(this.num, this.num); + this.num = this.add773(this.num, this.num); + this.num = this.add774(this.num, this.num); + this.num = this.add775(this.num, this.num); + this.num = this.add776(this.num, this.num); + this.num = this.add777(this.num, this.num); + this.num = this.add778(this.num, this.num); + this.num = this.add779(this.num, this.num); + this.num = this.add780(this.num, this.num); + this.num = this.add781(this.num, this.num); + this.num = this.add782(this.num, this.num); + this.num = this.add783(this.num, this.num); + this.num = this.add784(this.num, this.num); + this.num = this.add785(this.num, this.num); + this.num = this.add786(this.num, this.num); + this.num = this.add787(this.num, this.num); + this.num = this.add788(this.num, this.num); + this.num = this.add789(this.num, this.num); + this.num = this.add790(this.num, this.num); + this.num = this.add791(this.num, this.num); + this.num = this.add792(this.num, this.num); + this.num = this.add793(this.num, this.num); + this.num = this.add794(this.num, this.num); + this.num = this.add795(this.num, this.num); + this.num = this.add796(this.num, this.num); + this.num = this.add797(this.num, this.num); + this.num = this.add798(this.num, this.num); + this.num = this.add799(this.num, this.num); + this.num = this.add800(this.num, this.num); + this.num = this.add801(this.num, this.num); + this.num = this.add802(this.num, this.num); + this.num = this.add803(this.num, this.num); + this.num = this.add804(this.num, this.num); + this.num = this.add805(this.num, this.num); + this.num = this.add806(this.num, this.num); + this.num = this.add807(this.num, this.num); + this.num = this.add808(this.num, this.num); + this.num = this.add809(this.num, this.num); + this.num = this.add810(this.num, this.num); + this.num = this.add811(this.num, this.num); + this.num = this.add812(this.num, this.num); + this.num = this.add813(this.num, this.num); + this.num = this.add814(this.num, this.num); + this.num = this.add815(this.num, this.num); + this.num = this.add816(this.num, this.num); + this.num = this.add817(this.num, this.num); + this.num = this.add818(this.num, this.num); + this.num = this.add819(this.num, this.num); + this.num = this.add820(this.num, this.num); + this.num = this.add821(this.num, this.num); + this.num = this.add822(this.num, this.num); + this.num = this.add823(this.num, this.num); + this.num = this.add824(this.num, this.num); + this.num = this.add825(this.num, this.num); + this.num = this.add826(this.num, this.num); + this.num = this.add827(this.num, this.num); + this.num = this.add828(this.num, this.num); + this.num = this.add829(this.num, this.num); + this.num = this.add830(this.num, this.num); + this.num = this.add831(this.num, this.num); + this.num = this.add832(this.num, this.num); + this.num = this.add833(this.num, this.num); + this.num = this.add834(this.num, this.num); + this.num = this.add835(this.num, this.num); + this.num = this.add836(this.num, this.num); + this.num = this.add837(this.num, this.num); + this.num = this.add838(this.num, this.num); + this.num = this.add839(this.num, this.num); + this.num = this.add840(this.num, this.num); + this.num = this.add841(this.num, this.num); + this.num = this.add842(this.num, this.num); + this.num = this.add843(this.num, this.num); + this.num = this.add844(this.num, this.num); + this.num = this.add845(this.num, this.num); + this.num = this.add846(this.num, this.num); + this.num = this.add847(this.num, this.num); + this.num = this.add848(this.num, this.num); + this.num = this.add849(this.num, this.num); + this.num = this.add850(this.num, this.num); + this.num = this.add851(this.num, this.num); + this.num = this.add852(this.num, this.num); + this.num = this.add853(this.num, this.num); + this.num = this.add854(this.num, this.num); + this.num = this.add855(this.num, this.num); + this.num = this.add856(this.num, this.num); + this.num = this.add857(this.num, this.num); + this.num = this.add858(this.num, this.num); + this.num = this.add859(this.num, this.num); + this.num = this.add860(this.num, this.num); + this.num = this.add861(this.num, this.num); + this.num = this.add862(this.num, this.num); + this.num = this.add863(this.num, this.num); + this.num = this.add864(this.num, this.num); + this.num = this.add865(this.num, this.num); + this.num = this.add866(this.num, this.num); + this.num = this.add867(this.num, this.num); + this.num = this.add868(this.num, this.num); + this.num = this.add869(this.num, this.num); + this.num = this.add870(this.num, this.num); + this.num = this.add871(this.num, this.num); + this.num = this.add872(this.num, this.num); + this.num = this.add873(this.num, this.num); + this.num = this.add874(this.num, this.num); + this.num = this.add875(this.num, this.num); + this.num = this.add876(this.num, this.num); + this.num = this.add877(this.num, this.num); + this.num = this.add878(this.num, this.num); + this.num = this.add879(this.num, this.num); + this.num = this.add880(this.num, this.num); + this.num = this.add881(this.num, this.num); + this.num = this.add882(this.num, this.num); + this.num = this.add883(this.num, this.num); + this.num = this.add884(this.num, this.num); + this.num = this.add885(this.num, this.num); + this.num = this.add886(this.num, this.num); + this.num = this.add887(this.num, this.num); + this.num = this.add888(this.num, this.num); + this.num = this.add889(this.num, this.num); + this.num = this.add890(this.num, this.num); + this.num = this.add891(this.num, this.num); + this.num = this.add892(this.num, this.num); + this.num = this.add893(this.num, this.num); + this.num = this.add894(this.num, this.num); + this.num = this.add895(this.num, this.num); + this.num = this.add896(this.num, this.num); + this.num = this.add897(this.num, this.num); + this.num = this.add898(this.num, this.num); + this.num = this.add899(this.num, this.num); + this.num = this.add900(this.num, this.num); + this.num = this.add901(this.num, this.num); + this.num = this.add902(this.num, this.num); + this.num = this.add903(this.num, this.num); + this.num = this.add904(this.num, this.num); + this.num = this.add905(this.num, this.num); + this.num = this.add906(this.num, this.num); + this.num = this.add907(this.num, this.num); + this.num = this.add908(this.num, this.num); + this.num = this.add909(this.num, this.num); + this.num = this.add910(this.num, this.num); + this.num = this.add911(this.num, this.num); + this.num = this.add912(this.num, this.num); + this.num = this.add913(this.num, this.num); + this.num = this.add914(this.num, this.num); + this.num = this.add915(this.num, this.num); + this.num = this.add916(this.num, this.num); + this.num = this.add917(this.num, this.num); + this.num = this.add918(this.num, this.num); + this.num = this.add919(this.num, this.num); + this.num = this.add920(this.num, this.num); + this.num = this.add921(this.num, this.num); + this.num = this.add922(this.num, this.num); + this.num = this.add923(this.num, this.num); + this.num = this.add924(this.num, this.num); + this.num = this.add925(this.num, this.num); + this.num = this.add926(this.num, this.num); + this.num = this.add927(this.num, this.num); + this.num = this.add928(this.num, this.num); + this.num = this.add929(this.num, this.num); + this.num = this.add930(this.num, this.num); + this.num = this.add931(this.num, this.num); + this.num = this.add932(this.num, this.num); + this.num = this.add933(this.num, this.num); + this.num = this.add934(this.num, this.num); + this.num = this.add935(this.num, this.num); + this.num = this.add936(this.num, this.num); + this.num = this.add937(this.num, this.num); + this.num = this.add938(this.num, this.num); + this.num = this.add939(this.num, this.num); + this.num = this.add940(this.num, this.num); + this.num = this.add941(this.num, this.num); + this.num = this.add942(this.num, this.num); + this.num = this.add943(this.num, this.num); + this.num = this.add944(this.num, this.num); + this.num = this.add945(this.num, this.num); + this.num = this.add946(this.num, this.num); + this.num = this.add947(this.num, this.num); + this.num = this.add948(this.num, this.num); + this.num = this.add949(this.num, this.num); + this.num = this.add950(this.num, this.num); + this.num = this.add951(this.num, this.num); + this.num = this.add952(this.num, this.num); + this.num = this.add953(this.num, this.num); + this.num = this.add954(this.num, this.num); + this.num = this.add955(this.num, this.num); + this.num = this.add956(this.num, this.num); + this.num = this.add957(this.num, this.num); + this.num = this.add958(this.num, this.num); + this.num = this.add959(this.num, this.num); + this.num = this.add960(this.num, this.num); + this.num = this.add961(this.num, this.num); + this.num = this.add962(this.num, this.num); + this.num = this.add963(this.num, this.num); + this.num = this.add964(this.num, this.num); + this.num = this.add965(this.num, this.num); + this.num = this.add966(this.num, this.num); + this.num = this.add967(this.num, this.num); + this.num = this.add968(this.num, this.num); + this.num = this.add969(this.num, this.num); + this.num = this.add970(this.num, this.num); + this.num = this.add971(this.num, this.num); + this.num = this.add972(this.num, this.num); + this.num = this.add973(this.num, this.num); + this.num = this.add974(this.num, this.num); + this.num = this.add975(this.num, this.num); + this.num = this.add976(this.num, this.num); + this.num = this.add977(this.num, this.num); + this.num = this.add978(this.num, this.num); + this.num = this.add979(this.num, this.num); + this.num = this.add980(this.num, this.num); + this.num = this.add981(this.num, this.num); + this.num = this.add982(this.num, this.num); + this.num = this.add983(this.num, this.num); + this.num = this.add984(this.num, this.num); + this.num = this.add985(this.num, this.num); + this.num = this.add986(this.num, this.num); + this.num = this.add987(this.num, this.num); + this.num = this.add988(this.num, this.num); + this.num = this.add989(this.num, this.num); + this.num = this.add990(this.num, this.num); + this.num = this.add991(this.num, this.num); + this.num = this.add992(this.num, this.num); + this.num = this.add993(this.num, this.num); + this.num = this.add994(this.num, this.num); + this.num = this.add995(this.num, this.num); + this.num = this.add996(this.num, this.num); + this.num = this.add997(this.num, this.num); + this.num = this.add998(this.num, this.num); + this.num = this.add999(this.num, this.num); + this.num = this.add1000(this.num, this.num); + this.num = this.add1001(this.num, this.num); + this.num = this.add1002(this.num, this.num); + this.num = this.add1003(this.num, this.num); + this.num = this.add1004(this.num, this.num); + this.num = this.add1005(this.num, this.num); + this.num = this.add1006(this.num, this.num); + this.num = this.add1007(this.num, this.num); + this.num = this.add1008(this.num, this.num); + this.num = this.add1009(this.num, this.num); + this.num = this.add1010(this.num, this.num); + this.num = this.add1011(this.num, this.num); + this.num = this.add1012(this.num, this.num); + this.num = this.add1013(this.num, this.num); + this.num = this.add1014(this.num, this.num); + this.num = this.add1015(this.num, this.num); + this.num = this.add1016(this.num, this.num); + this.num = this.add1017(this.num, this.num); + this.num = this.add1018(this.num, this.num); + this.num = this.add1019(this.num, this.num); + this.num = this.add1020(this.num, this.num); + this.num = this.add1021(this.num, this.num); + this.num = this.add1022(this.num, this.num); + this.num = this.add1023(this.num, this.num); + this.num = this.add1024(this.num, this.num); + this.num = this.add1025(this.num, this.num); + this.num = this.add1026(this.num, this.num); + this.num = this.add1027(this.num, this.num); + this.num = this.add1028(this.num, this.num); + this.num = this.add1029(this.num, this.num); + this.num = this.add1030(this.num, this.num); + this.num = this.add1031(this.num, this.num); + this.num = this.add1032(this.num, this.num); + this.num = this.add1033(this.num, this.num); + this.num = this.add1034(this.num, this.num); + this.num = this.add1035(this.num, this.num); + this.num = this.add1036(this.num, this.num); + this.num = this.add1037(this.num, this.num); + this.num = this.add1038(this.num, this.num); + this.num = this.add1039(this.num, this.num); + this.num = this.add1040(this.num, this.num); + this.num = this.add1041(this.num, this.num); + this.num = this.add1042(this.num, this.num); + this.num = this.add1043(this.num, this.num); + this.num = this.add1044(this.num, this.num); + this.num = this.add1045(this.num, this.num); + this.num = this.add1046(this.num, this.num); + this.num = this.add1047(this.num, this.num); + this.num = this.add1048(this.num, this.num); + this.num = this.add1049(this.num, this.num); + this.num = this.add1050(this.num, this.num); + this.num = this.add1051(this.num, this.num); + this.num = this.add1052(this.num, this.num); + this.num = this.add1053(this.num, this.num); + this.num = this.add1054(this.num, this.num); + this.num = this.add1055(this.num, this.num); + this.num = this.add1056(this.num, this.num); + this.num = this.add1057(this.num, this.num); + this.num = this.add1058(this.num, this.num); + this.num = this.add1059(this.num, this.num); + this.num = this.add1060(this.num, this.num); + this.num = this.add1061(this.num, this.num); + this.num = this.add1062(this.num, this.num); + this.num = this.add1063(this.num, this.num); + this.num = this.add1064(this.num, this.num); + this.num = this.add1065(this.num, this.num); + this.num = this.add1066(this.num, this.num); + this.num = this.add1067(this.num, this.num); + this.num = this.add1068(this.num, this.num); + this.num = this.add1069(this.num, this.num); + this.num = this.add1070(this.num, this.num); + this.num = this.add1071(this.num, this.num); + this.num = this.add1072(this.num, this.num); + this.num = this.add1073(this.num, this.num); + this.num = this.add1074(this.num, this.num); + this.num = this.add1075(this.num, this.num); + this.num = this.add1076(this.num, this.num); + this.num = this.add1077(this.num, this.num); + this.num = this.add1078(this.num, this.num); + this.num = this.add1079(this.num, this.num); + this.num = this.add1080(this.num, this.num); + this.num = this.add1081(this.num, this.num); + this.num = this.add1082(this.num, this.num); + this.num = this.add1083(this.num, this.num); + this.num = this.add1084(this.num, this.num); + this.num = this.add1085(this.num, this.num); + this.num = this.add1086(this.num, this.num); + this.num = this.add1087(this.num, this.num); + this.num = this.add1088(this.num, this.num); + this.num = this.add1089(this.num, this.num); + this.num = this.add1090(this.num, this.num); + this.num = this.add1091(this.num, this.num); + this.num = this.add1092(this.num, this.num); + this.num = this.add1093(this.num, this.num); + this.num = this.add1094(this.num, this.num); + this.num = this.add1095(this.num, this.num); + this.num = this.add1096(this.num, this.num); + this.num = this.add1097(this.num, this.num); + this.num = this.add1098(this.num, this.num); + this.num = this.add1099(this.num, this.num); + this.num = this.add1100(this.num, this.num); + this.num = this.add1101(this.num, this.num); + this.num = this.add1102(this.num, this.num); + this.num = this.add1103(this.num, this.num); + this.num = this.add1104(this.num, this.num); + this.num = this.add1105(this.num, this.num); + this.num = this.add1106(this.num, this.num); + this.num = this.add1107(this.num, this.num); + this.num = this.add1108(this.num, this.num); + this.num = this.add1109(this.num, this.num); + this.num = this.add1110(this.num, this.num); + this.num = this.add1111(this.num, this.num); + this.num = this.add1112(this.num, this.num); + this.num = this.add1113(this.num, this.num); + this.num = this.add1114(this.num, this.num); + this.num = this.add1115(this.num, this.num); + this.num = this.add1116(this.num, this.num); + this.num = this.add1117(this.num, this.num); + this.num = this.add1118(this.num, this.num); + this.num = this.add1119(this.num, this.num); + this.num = this.add1120(this.num, this.num); + this.num = this.add1121(this.num, this.num); + this.num = this.add1122(this.num, this.num); + this.num = this.add1123(this.num, this.num); + this.num = this.add1124(this.num, this.num); + this.num = this.add1125(this.num, this.num); + this.num = this.add1126(this.num, this.num); + this.num = this.add1127(this.num, this.num); + this.num = this.add1128(this.num, this.num); + this.num = this.add1129(this.num, this.num); + this.num = this.add1130(this.num, this.num); + this.num = this.add1131(this.num, this.num); + this.num = this.add1132(this.num, this.num); + this.num = this.add1133(this.num, this.num); + this.num = this.add1134(this.num, this.num); + this.num = this.add1135(this.num, this.num); + this.num = this.add1136(this.num, this.num); + this.num = this.add1137(this.num, this.num); + this.num = this.add1138(this.num, this.num); + this.num = this.add1139(this.num, this.num); + this.num = this.add1140(this.num, this.num); + this.num = this.add1141(this.num, this.num); + this.num = this.add1142(this.num, this.num); + this.num = this.add1143(this.num, this.num); + this.num = this.add1144(this.num, this.num); + this.num = this.add1145(this.num, this.num); + this.num = this.add1146(this.num, this.num); + this.num = this.add1147(this.num, this.num); + this.num = this.add1148(this.num, this.num); + this.num = this.add1149(this.num, this.num); + this.num = this.add1150(this.num, this.num); + this.num = this.add1151(this.num, this.num); + this.num = this.add1152(this.num, this.num); + this.num = this.add1153(this.num, this.num); + this.num = this.add1154(this.num, this.num); + this.num = this.add1155(this.num, this.num); + this.num = this.add1156(this.num, this.num); + this.num = this.add1157(this.num, this.num); + this.num = this.add1158(this.num, this.num); + this.num = this.add1159(this.num, this.num); + this.num = this.add1160(this.num, this.num); + this.num = this.add1161(this.num, this.num); + this.num = this.add1162(this.num, this.num); + this.num = this.add1163(this.num, this.num); + this.num = this.add1164(this.num, this.num); + this.num = this.add1165(this.num, this.num); + this.num = this.add1166(this.num, this.num); + this.num = this.add1167(this.num, this.num); + this.num = this.add1168(this.num, this.num); + this.num = this.add1169(this.num, this.num); + this.num = this.add1170(this.num, this.num); + this.num = this.add1171(this.num, this.num); + this.num = this.add1172(this.num, this.num); + this.num = this.add1173(this.num, this.num); + this.num = this.add1174(this.num, this.num); + this.num = this.add1175(this.num, this.num); + this.num = this.add1176(this.num, this.num); + this.num = this.add1177(this.num, this.num); + this.num = this.add1178(this.num, this.num); + this.num = this.add1179(this.num, this.num); + this.num = this.add1180(this.num, this.num); + this.num = this.add1181(this.num, this.num); + this.num = this.add1182(this.num, this.num); + this.num = this.add1183(this.num, this.num); + this.num = this.add1184(this.num, this.num); + this.num = this.add1185(this.num, this.num); + this.num = this.add1186(this.num, this.num); + this.num = this.add1187(this.num, this.num); + this.num = this.add1188(this.num, this.num); + this.num = this.add1189(this.num, this.num); + this.num = this.add1190(this.num, this.num); + this.num = this.add1191(this.num, this.num); + this.num = this.add1192(this.num, this.num); + this.num = this.add1193(this.num, this.num); + this.num = this.add1194(this.num, this.num); + this.num = this.add1195(this.num, this.num); + this.num = this.add1196(this.num, this.num); + this.num = this.add1197(this.num, this.num); + this.num = this.add1198(this.num, this.num); + this.num = this.add1199(this.num, this.num); + this.num = this.add1200(this.num, this.num); + this.num = this.add1201(this.num, this.num); + this.num = this.add1202(this.num, this.num); + this.num = this.add1203(this.num, this.num); + this.num = this.add1204(this.num, this.num); + this.num = this.add1205(this.num, this.num); + this.num = this.add1206(this.num, this.num); + this.num = this.add1207(this.num, this.num); + this.num = this.add1208(this.num, this.num); + this.num = this.add1209(this.num, this.num); + this.num = this.add1210(this.num, this.num); + this.num = this.add1211(this.num, this.num); + this.num = this.add1212(this.num, this.num); + this.num = this.add1213(this.num, this.num); + this.num = this.add1214(this.num, this.num); + this.num = this.add1215(this.num, this.num); + this.num = this.add1216(this.num, this.num); + this.num = this.add1217(this.num, this.num); + this.num = this.add1218(this.num, this.num); + this.num = this.add1219(this.num, this.num); + this.num = this.add1220(this.num, this.num); + this.num = this.add1221(this.num, this.num); + this.num = this.add1222(this.num, this.num); + this.num = this.add1223(this.num, this.num); + this.num = this.add1224(this.num, this.num); + this.num = this.add1225(this.num, this.num); + this.num = this.add1226(this.num, this.num); + this.num = this.add1227(this.num, this.num); + this.num = this.add1228(this.num, this.num); + this.num = this.add1229(this.num, this.num); + this.num = this.add1230(this.num, this.num); + this.num = this.add1231(this.num, this.num); + this.num = this.add1232(this.num, this.num); + this.num = this.add1233(this.num, this.num); + this.num = this.add1234(this.num, this.num); + this.num = this.add1235(this.num, this.num); + this.num = this.add1236(this.num, this.num); + this.num = this.add1237(this.num, this.num); + this.num = this.add1238(this.num, this.num); + this.num = this.add1239(this.num, this.num); + this.num = this.add1240(this.num, this.num); + this.num = this.add1241(this.num, this.num); + this.num = this.add1242(this.num, this.num); + this.num = this.add1243(this.num, this.num); + this.num = this.add1244(this.num, this.num); + this.num = this.add1245(this.num, this.num); + this.num = this.add1246(this.num, this.num); + this.num = this.add1247(this.num, this.num); + this.num = this.add1248(this.num, this.num); + this.num = this.add1249(this.num, this.num); + this.num = this.add1250(this.num, this.num); + this.num = this.add1251(this.num, this.num); + this.num = this.add1252(this.num, this.num); + this.num = this.add1253(this.num, this.num); + this.num = this.add1254(this.num, this.num); + this.num = this.add1255(this.num, this.num); + this.num = this.add1256(this.num, this.num); + this.num = this.add1257(this.num, this.num); + this.num = this.add1258(this.num, this.num); + this.num = this.add1259(this.num, this.num); + this.num = this.add1260(this.num, this.num); + this.num = this.add1261(this.num, this.num); + this.num = this.add1262(this.num, this.num); + this.num = this.add1263(this.num, this.num); + this.num = this.add1264(this.num, this.num); + this.num = this.add1265(this.num, this.num); + this.num = this.add1266(this.num, this.num); + this.num = this.add1267(this.num, this.num); + this.num = this.add1268(this.num, this.num); + this.num = this.add1269(this.num, this.num); + this.num = this.add1270(this.num, this.num); + this.num = this.add1271(this.num, this.num); + this.num = this.add1272(this.num, this.num); + this.num = this.add1273(this.num, this.num); + this.num = this.add1274(this.num, this.num); + this.num = this.add1275(this.num, this.num); + this.num = this.add1276(this.num, this.num); + this.num = this.add1277(this.num, this.num); + this.num = this.add1278(this.num, this.num); + this.num = this.add1279(this.num, this.num); + this.num = this.add1280(this.num, this.num); + this.num = this.add1281(this.num, this.num); + this.num = this.add1282(this.num, this.num); + this.num = this.add1283(this.num, this.num); + this.num = this.add1284(this.num, this.num); + this.num = this.add1285(this.num, this.num); + this.num = this.add1286(this.num, this.num); + this.num = this.add1287(this.num, this.num); + this.num = this.add1288(this.num, this.num); + this.num = this.add1289(this.num, this.num); + this.num = this.add1290(this.num, this.num); + this.num = this.add1291(this.num, this.num); + this.num = this.add1292(this.num, this.num); + this.num = this.add1293(this.num, this.num); + this.num = this.add1294(this.num, this.num); + this.num = this.add1295(this.num, this.num); + this.num = this.add1296(this.num, this.num); + this.num = this.add1297(this.num, this.num); + this.num = this.add1298(this.num, this.num); + this.num = this.add1299(this.num, this.num); + this.num = this.add1300(this.num, this.num); + this.num = this.add1301(this.num, this.num); + this.num = this.add1302(this.num, this.num); + this.num = this.add1303(this.num, this.num); + this.num = this.add1304(this.num, this.num); + this.num = this.add1305(this.num, this.num); + this.num = this.add1306(this.num, this.num); + this.num = this.add1307(this.num, this.num); + this.num = this.add1308(this.num, this.num); + this.num = this.add1309(this.num, this.num); + this.num = this.add1310(this.num, this.num); + this.num = this.add1311(this.num, this.num); + this.num = this.add1312(this.num, this.num); + this.num = this.add1313(this.num, this.num); + this.num = this.add1314(this.num, this.num); + this.num = this.add1315(this.num, this.num); + this.num = this.add1316(this.num, this.num); + this.num = this.add1317(this.num, this.num); + this.num = this.add1318(this.num, this.num); + this.num = this.add1319(this.num, this.num); + this.num = this.add1320(this.num, this.num); + this.num = this.add1321(this.num, this.num); + this.num = this.add1322(this.num, this.num); + this.num = this.add1323(this.num, this.num); + this.num = this.add1324(this.num, this.num); + this.num = this.add1325(this.num, this.num); + this.num = this.add1326(this.num, this.num); + this.num = this.add1327(this.num, this.num); + this.num = this.add1328(this.num, this.num); + this.num = this.add1329(this.num, this.num); + this.num = this.add1330(this.num, this.num); + this.num = this.add1331(this.num, this.num); + this.num = this.add1332(this.num, this.num); + this.num = this.add1333(this.num, this.num); + this.num = this.add1334(this.num, this.num); + this.num = this.add1335(this.num, this.num); + this.num = this.add1336(this.num, this.num); + this.num = this.add1337(this.num, this.num); + this.num = this.add1338(this.num, this.num); + this.num = this.add1339(this.num, this.num); + this.num = this.add1340(this.num, this.num); + this.num = this.add1341(this.num, this.num); + this.num = this.add1342(this.num, this.num); + this.num = this.add1343(this.num, this.num); + this.num = this.add1344(this.num, this.num); + this.num = this.add1345(this.num, this.num); + this.num = this.add1346(this.num, this.num); + this.num = this.add1347(this.num, this.num); + this.num = this.add1348(this.num, this.num); + this.num = this.add1349(this.num, this.num); + this.num = this.add1350(this.num, this.num); + this.num = this.add1351(this.num, this.num); + this.num = this.add1352(this.num, this.num); + this.num = this.add1353(this.num, this.num); + this.num = this.add1354(this.num, this.num); + this.num = this.add1355(this.num, this.num); + this.num = this.add1356(this.num, this.num); + this.num = this.add1357(this.num, this.num); + this.num = this.add1358(this.num, this.num); + this.num = this.add1359(this.num, this.num); + this.num = this.add1360(this.num, this.num); + this.num = this.add1361(this.num, this.num); + this.num = this.add1362(this.num, this.num); + this.num = this.add1363(this.num, this.num); + this.num = this.add1364(this.num, this.num); + this.num = this.add1365(this.num, this.num); + this.num = this.add1366(this.num, this.num); + this.num = this.add1367(this.num, this.num); + this.num = this.add1368(this.num, this.num); + this.num = this.add1369(this.num, this.num); + this.num = this.add1370(this.num, this.num); + this.num = this.add1371(this.num, this.num); + this.num = this.add1372(this.num, this.num); + this.num = this.add1373(this.num, this.num); + this.num = this.add1374(this.num, this.num); + this.num = this.add1375(this.num, this.num); + this.num = this.add1376(this.num, this.num); + this.num = this.add1377(this.num, this.num); + this.num = this.add1378(this.num, this.num); + this.num = this.add1379(this.num, this.num); + this.num = this.add1380(this.num, this.num); + this.num = this.add1381(this.num, this.num); + this.num = this.add1382(this.num, this.num); + this.num = this.add1383(this.num, this.num); + this.num = this.add1384(this.num, this.num); + this.num = this.add1385(this.num, this.num); + this.num = this.add1386(this.num, this.num); + this.num = this.add1387(this.num, this.num); + this.num = this.add1388(this.num, this.num); + this.num = this.add1389(this.num, this.num); + this.num = this.add1390(this.num, this.num); + this.num = this.add1391(this.num, this.num); + this.num = this.add1392(this.num, this.num); + this.num = this.add1393(this.num, this.num); + this.num = this.add1394(this.num, this.num); + this.num = this.add1395(this.num, this.num); + this.num = this.add1396(this.num, this.num); + this.num = this.add1397(this.num, this.num); + this.num = this.add1398(this.num, this.num); + this.num = this.add1399(this.num, this.num); + this.num = this.add1400(this.num, this.num); + this.num = this.add1401(this.num, this.num); + this.num = this.add1402(this.num, this.num); + this.num = this.add1403(this.num, this.num); + this.num = this.add1404(this.num, this.num); + this.num = this.add1405(this.num, this.num); + this.num = this.add1406(this.num, this.num); + this.num = this.add1407(this.num, this.num); + this.num = this.add1408(this.num, this.num); + this.num = this.add1409(this.num, this.num); + this.num = this.add1410(this.num, this.num); + this.num = this.add1411(this.num, this.num); + this.num = this.add1412(this.num, this.num); + this.num = this.add1413(this.num, this.num); + this.num = this.add1414(this.num, this.num); + this.num = this.add1415(this.num, this.num); + this.num = this.add1416(this.num, this.num); + this.num = this.add1417(this.num, this.num); + this.num = this.add1418(this.num, this.num); + this.num = this.add1419(this.num, this.num); + this.num = this.add1420(this.num, this.num); + this.num = this.add1421(this.num, this.num); + this.num = this.add1422(this.num, this.num); + this.num = this.add1423(this.num, this.num); + this.num = this.add1424(this.num, this.num); + this.num = this.add1425(this.num, this.num); + this.num = this.add1426(this.num, this.num); + this.num = this.add1427(this.num, this.num); + this.num = this.add1428(this.num, this.num); + this.num = this.add1429(this.num, this.num); + this.num = this.add1430(this.num, this.num); + this.num = this.add1431(this.num, this.num); + this.num = this.add1432(this.num, this.num); + this.num = this.add1433(this.num, this.num); + this.num = this.add1434(this.num, this.num); + this.num = this.add1435(this.num, this.num); + this.num = this.add1436(this.num, this.num); + this.num = this.add1437(this.num, this.num); + this.num = this.add1438(this.num, this.num); + this.num = this.add1439(this.num, this.num); + this.num = this.add1440(this.num, this.num); + this.num = this.add1441(this.num, this.num); + this.num = this.add1442(this.num, this.num); + this.num = this.add1443(this.num, this.num); + this.num = this.add1444(this.num, this.num); + this.num = this.add1445(this.num, this.num); + this.num = this.add1446(this.num, this.num); + this.num = this.add1447(this.num, this.num); + this.num = this.add1448(this.num, this.num); + this.num = this.add1449(this.num, this.num); + this.num = this.add1450(this.num, this.num); + this.num = this.add1451(this.num, this.num); + this.num = this.add1452(this.num, this.num); + this.num = this.add1453(this.num, this.num); + this.num = this.add1454(this.num, this.num); + this.num = this.add1455(this.num, this.num); + this.num = this.add1456(this.num, this.num); + this.num = this.add1457(this.num, this.num); + this.num = this.add1458(this.num, this.num); + this.num = this.add1459(this.num, this.num); + this.num = this.add1460(this.num, this.num); + this.num = this.add1461(this.num, this.num); + this.num = this.add1462(this.num, this.num); + this.num = this.add1463(this.num, this.num); + this.num = this.add1464(this.num, this.num); + this.num = this.add1465(this.num, this.num); + this.num = this.add1466(this.num, this.num); + this.num = this.add1467(this.num, this.num); + this.num = this.add1468(this.num, this.num); + this.num = this.add1469(this.num, this.num); + this.num = this.add1470(this.num, this.num); + this.num = this.add1471(this.num, this.num); + this.num = this.add1472(this.num, this.num); + this.num = this.add1473(this.num, this.num); + this.num = this.add1474(this.num, this.num); + this.num = this.add1475(this.num, this.num); + this.num = this.add1476(this.num, this.num); + this.num = this.add1477(this.num, this.num); + this.num = this.add1478(this.num, this.num); + this.num = this.add1479(this.num, this.num); + this.num = this.add1480(this.num, this.num); + this.num = this.add1481(this.num, this.num); + this.num = this.add1482(this.num, this.num); + this.num = this.add1483(this.num, this.num); + this.num = this.add1484(this.num, this.num); + this.num = this.add1485(this.num, this.num); + this.num = this.add1486(this.num, this.num); + this.num = this.add1487(this.num, this.num); + this.num = this.add1488(this.num, this.num); + this.num = this.add1489(this.num, this.num); + this.num = this.add1490(this.num, this.num); + this.num = this.add1491(this.num, this.num); + this.num = this.add1492(this.num, this.num); + this.num = this.add1493(this.num, this.num); + this.num = this.add1494(this.num, this.num); + this.num = this.add1495(this.num, this.num); + this.num = this.add1496(this.num, this.num); + this.num = this.add1497(this.num, this.num); + this.num = this.add1498(this.num, this.num); + this.num = this.add1499(this.num, this.num); + this.num = this.add1500(this.num, this.num); + this.num = this.add1501(this.num, this.num); + this.num = this.add1502(this.num, this.num); + this.num = this.add1503(this.num, this.num); + this.num = this.add1504(this.num, this.num); + this.num = this.add1505(this.num, this.num); + this.num = this.add1506(this.num, this.num); + this.num = this.add1507(this.num, this.num); + this.num = this.add1508(this.num, this.num); + this.num = this.add1509(this.num, this.num); + this.num = this.add1510(this.num, this.num); + this.num = this.add1511(this.num, this.num); + this.num = this.add1512(this.num, this.num); + this.num = this.add1513(this.num, this.num); + this.num = this.add1514(this.num, this.num); + this.num = this.add1515(this.num, this.num); + this.num = this.add1516(this.num, this.num); + this.num = this.add1517(this.num, this.num); + this.num = this.add1518(this.num, this.num); + this.num = this.add1519(this.num, this.num); + this.num = this.add1520(this.num, this.num); + this.num = this.add1521(this.num, this.num); + this.num = this.add1522(this.num, this.num); + this.num = this.add1523(this.num, this.num); + this.num = this.add1524(this.num, this.num); + this.num = this.add1525(this.num, this.num); + this.num = this.add1526(this.num, this.num); + this.num = this.add1527(this.num, this.num); + this.num = this.add1528(this.num, this.num); + this.num = this.add1529(this.num, this.num); + this.num = this.add1530(this.num, this.num); + this.num = this.add1531(this.num, this.num); + this.num = this.add1532(this.num, this.num); + this.num = this.add1533(this.num, this.num); + this.num = this.add1534(this.num, this.num); + this.num = this.add1535(this.num, this.num); + this.num = this.add1536(this.num, this.num); + this.num = this.add1537(this.num, this.num); + this.num = this.add1538(this.num, this.num); + this.num = this.add1539(this.num, this.num); + this.num = this.add1540(this.num, this.num); + this.num = this.add1541(this.num, this.num); + this.num = this.add1542(this.num, this.num); + this.num = this.add1543(this.num, this.num); + this.num = this.add1544(this.num, this.num); + this.num = this.add1545(this.num, this.num); + this.num = this.add1546(this.num, this.num); + this.num = this.add1547(this.num, this.num); + this.num = this.add1548(this.num, this.num); + this.num = this.add1549(this.num, this.num); + this.num = this.add1550(this.num, this.num); + this.num = this.add1551(this.num, this.num); + this.num = this.add1552(this.num, this.num); + this.num = this.add1553(this.num, this.num); + this.num = this.add1554(this.num, this.num); + this.num = this.add1555(this.num, this.num); + this.num = this.add1556(this.num, this.num); + this.num = this.add1557(this.num, this.num); + this.num = this.add1558(this.num, this.num); + this.num = this.add1559(this.num, this.num); + this.num = this.add1560(this.num, this.num); + this.num = this.add1561(this.num, this.num); + this.num = this.add1562(this.num, this.num); + this.num = this.add1563(this.num, this.num); + this.num = this.add1564(this.num, this.num); + this.num = this.add1565(this.num, this.num); + this.num = this.add1566(this.num, this.num); + this.num = this.add1567(this.num, this.num); + this.num = this.add1568(this.num, this.num); + this.num = this.add1569(this.num, this.num); + this.num = this.add1570(this.num, this.num); + this.num = this.add1571(this.num, this.num); + this.num = this.add1572(this.num, this.num); + this.num = this.add1573(this.num, this.num); + this.num = this.add1574(this.num, this.num); + this.num = this.add1575(this.num, this.num); + this.num = this.add1576(this.num, this.num); + this.num = this.add1577(this.num, this.num); + this.num = this.add1578(this.num, this.num); + this.num = this.add1579(this.num, this.num); + this.num = this.add1580(this.num, this.num); + this.num = this.add1581(this.num, this.num); + this.num = this.add1582(this.num, this.num); + this.num = this.add1583(this.num, this.num); + this.num = this.add1584(this.num, this.num); + this.num = this.add1585(this.num, this.num); + this.num = this.add1586(this.num, this.num); + this.num = this.add1587(this.num, this.num); + this.num = this.add1588(this.num, this.num); + this.num = this.add1589(this.num, this.num); + this.num = this.add1590(this.num, this.num); + this.num = this.add1591(this.num, this.num); + this.num = this.add1592(this.num, this.num); + this.num = this.add1593(this.num, this.num); + this.num = this.add1594(this.num, this.num); + this.num = this.add1595(this.num, this.num); + this.num = this.add1596(this.num, this.num); + this.num = this.add1597(this.num, this.num); + this.num = this.add1598(this.num, this.num); + this.num = this.add1599(this.num, this.num); + this.num = this.add1600(this.num, this.num); + this.num = this.add1601(this.num, this.num); + this.num = this.add1602(this.num, this.num); + this.num = this.add1603(this.num, this.num); + this.num = this.add1604(this.num, this.num); + this.num = this.add1605(this.num, this.num); + this.num = this.add1606(this.num, this.num); + this.num = this.add1607(this.num, this.num); + this.num = this.add1608(this.num, this.num); + this.num = this.add1609(this.num, this.num); + this.num = this.add1610(this.num, this.num); + this.num = this.add1611(this.num, this.num); + this.num = this.add1612(this.num, this.num); + this.num = this.add1613(this.num, this.num); + this.num = this.add1614(this.num, this.num); + this.num = this.add1615(this.num, this.num); + this.num = this.add1616(this.num, this.num); + this.num = this.add1617(this.num, this.num); + this.num = this.add1618(this.num, this.num); + this.num = this.add1619(this.num, this.num); + this.num = this.add1620(this.num, this.num); + this.num = this.add1621(this.num, this.num); + this.num = this.add1622(this.num, this.num); + this.num = this.add1623(this.num, this.num); + this.num = this.add1624(this.num, this.num); + this.num = this.add1625(this.num, this.num); + this.num = this.add1626(this.num, this.num); + this.num = this.add1627(this.num, this.num); + this.num = this.add1628(this.num, this.num); + this.num = this.add1629(this.num, this.num); + this.num = this.add1630(this.num, this.num); + this.num = this.add1631(this.num, this.num); + this.num = this.add1632(this.num, this.num); + this.num = this.add1633(this.num, this.num); + this.num = this.add1634(this.num, this.num); + this.num = this.add1635(this.num, this.num); + this.num = this.add1636(this.num, this.num); + this.num = this.add1637(this.num, this.num); + this.num = this.add1638(this.num, this.num); + this.num = this.add1639(this.num, this.num); + this.num = this.add1640(this.num, this.num); + this.num = this.add1641(this.num, this.num); + this.num = this.add1642(this.num, this.num); + this.num = this.add1643(this.num, this.num); + this.num = this.add1644(this.num, this.num); + this.num = this.add1645(this.num, this.num); + this.num = this.add1646(this.num, this.num); + this.num = this.add1647(this.num, this.num); + this.num = this.add1648(this.num, this.num); + this.num = this.add1649(this.num, this.num); + this.num = this.add1650(this.num, this.num); + this.num = this.add1651(this.num, this.num); + this.num = this.add1652(this.num, this.num); + this.num = this.add1653(this.num, this.num); + this.num = this.add1654(this.num, this.num); + this.num = this.add1655(this.num, this.num); + this.num = this.add1656(this.num, this.num); + this.num = this.add1657(this.num, this.num); + this.num = this.add1658(this.num, this.num); + this.num = this.add1659(this.num, this.num); + this.num = this.add1660(this.num, this.num); + this.num = this.add1661(this.num, this.num); + this.num = this.add1662(this.num, this.num); + this.num = this.add1663(this.num, this.num); + this.num = this.add1664(this.num, this.num); + this.num = this.add1665(this.num, this.num); + this.num = this.add1666(this.num, this.num); + this.num = this.add1667(this.num, this.num); + this.num = this.add1668(this.num, this.num); + this.num = this.add1669(this.num, this.num); + this.num = this.add1670(this.num, this.num); + this.num = this.add1671(this.num, this.num); + this.num = this.add1672(this.num, this.num); + this.num = this.add1673(this.num, this.num); + this.num = this.add1674(this.num, this.num); + this.num = this.add1675(this.num, this.num); + this.num = this.add1676(this.num, this.num); + this.num = this.add1677(this.num, this.num); + this.num = this.add1678(this.num, this.num); + this.num = this.add1679(this.num, this.num); + this.num = this.add1680(this.num, this.num); + this.num = this.add1681(this.num, this.num); + this.num = this.add1682(this.num, this.num); + this.num = this.add1683(this.num, this.num); + this.num = this.add1684(this.num, this.num); + this.num = this.add1685(this.num, this.num); + this.num = this.add1686(this.num, this.num); + this.num = this.add1687(this.num, this.num); + this.num = this.add1688(this.num, this.num); + this.num = this.add1689(this.num, this.num); + this.num = this.add1690(this.num, this.num); + this.num = this.add1691(this.num, this.num); + this.num = this.add1692(this.num, this.num); + this.num = this.add1693(this.num, this.num); + this.num = this.add1694(this.num, this.num); + this.num = this.add1695(this.num, this.num); + this.num = this.add1696(this.num, this.num); + this.num = this.add1697(this.num, this.num); + this.num = this.add1698(this.num, this.num); + this.num = this.add1699(this.num, this.num); + this.num = this.add1700(this.num, this.num); + this.num = this.add1701(this.num, this.num); + this.num = this.add1702(this.num, this.num); + this.num = this.add1703(this.num, this.num); + this.num = this.add1704(this.num, this.num); + this.num = this.add1705(this.num, this.num); + this.num = this.add1706(this.num, this.num); + this.num = this.add1707(this.num, this.num); + this.num = this.add1708(this.num, this.num); + this.num = this.add1709(this.num, this.num); + this.num = this.add1710(this.num, this.num); + this.num = this.add1711(this.num, this.num); + this.num = this.add1712(this.num, this.num); + this.num = this.add1713(this.num, this.num); + this.num = this.add1714(this.num, this.num); + this.num = this.add1715(this.num, this.num); + this.num = this.add1716(this.num, this.num); + this.num = this.add1717(this.num, this.num); + this.num = this.add1718(this.num, this.num); + this.num = this.add1719(this.num, this.num); + this.num = this.add1720(this.num, this.num); + this.num = this.add1721(this.num, this.num); + this.num = this.add1722(this.num, this.num); + this.num = this.add1723(this.num, this.num); + this.num = this.add1724(this.num, this.num); + this.num = this.add1725(this.num, this.num); + this.num = this.add1726(this.num, this.num); + this.num = this.add1727(this.num, this.num); + this.num = this.add1728(this.num, this.num); + this.num = this.add1729(this.num, this.num); + this.num = this.add1730(this.num, this.num); + this.num = this.add1731(this.num, this.num); + this.num = this.add1732(this.num, this.num); + this.num = this.add1733(this.num, this.num); + this.num = this.add1734(this.num, this.num); + this.num = this.add1735(this.num, this.num); + this.num = this.add1736(this.num, this.num); + this.num = this.add1737(this.num, this.num); + this.num = this.add1738(this.num, this.num); + this.num = this.add1739(this.num, this.num); + this.num = this.add1740(this.num, this.num); + this.num = this.add1741(this.num, this.num); + this.num = this.add1742(this.num, this.num); + this.num = this.add1743(this.num, this.num); + this.num = this.add1744(this.num, this.num); + this.num = this.add1745(this.num, this.num); + this.num = this.add1746(this.num, this.num); + this.num = this.add1747(this.num, this.num); + this.num = this.add1748(this.num, this.num); + this.num = this.add1749(this.num, this.num); + this.num = this.add1750(this.num, this.num); + this.num = this.add1751(this.num, this.num); + this.num = this.add1752(this.num, this.num); + this.num = this.add1753(this.num, this.num); + this.num = this.add1754(this.num, this.num); + this.num = this.add1755(this.num, this.num); + this.num = this.add1756(this.num, this.num); + this.num = this.add1757(this.num, this.num); + this.num = this.add1758(this.num, this.num); + this.num = this.add1759(this.num, this.num); + this.num = this.add1760(this.num, this.num); + this.num = this.add1761(this.num, this.num); + this.num = this.add1762(this.num, this.num); + this.num = this.add1763(this.num, this.num); + this.num = this.add1764(this.num, this.num); + this.num = this.add1765(this.num, this.num); + this.num = this.add1766(this.num, this.num); + this.num = this.add1767(this.num, this.num); + this.num = this.add1768(this.num, this.num); + this.num = this.add1769(this.num, this.num); + this.num = this.add1770(this.num, this.num); + this.num = this.add1771(this.num, this.num); + this.num = this.add1772(this.num, this.num); + this.num = this.add1773(this.num, this.num); + this.num = this.add1774(this.num, this.num); + this.num = this.add1775(this.num, this.num); + this.num = this.add1776(this.num, this.num); + this.num = this.add1777(this.num, this.num); + this.num = this.add1778(this.num, this.num); + this.num = this.add1779(this.num, this.num); + this.num = this.add1780(this.num, this.num); + this.num = this.add1781(this.num, this.num); + this.num = this.add1782(this.num, this.num); + this.num = this.add1783(this.num, this.num); + this.num = this.add1784(this.num, this.num); + this.num = this.add1785(this.num, this.num); + this.num = this.add1786(this.num, this.num); + this.num = this.add1787(this.num, this.num); + this.num = this.add1788(this.num, this.num); + this.num = this.add1789(this.num, this.num); + this.num = this.add1790(this.num, this.num); + this.num = this.add1791(this.num, this.num); + this.num = this.add1792(this.num, this.num); + this.num = this.add1793(this.num, this.num); + this.num = this.add1794(this.num, this.num); + this.num = this.add1795(this.num, this.num); + this.num = this.add1796(this.num, this.num); + this.num = this.add1797(this.num, this.num); + this.num = this.add1798(this.num, this.num); + this.num = this.add1799(this.num, this.num); + this.num = this.add1800(this.num, this.num); + this.num = this.add1801(this.num, this.num); + this.num = this.add1802(this.num, this.num); + this.num = this.add1803(this.num, this.num); + this.num = this.add1804(this.num, this.num); + this.num = this.add1805(this.num, this.num); + this.num = this.add1806(this.num, this.num); + this.num = this.add1807(this.num, this.num); + this.num = this.add1808(this.num, this.num); + this.num = this.add1809(this.num, this.num); + this.num = this.add1810(this.num, this.num); + this.num = this.add1811(this.num, this.num); + this.num = this.add1812(this.num, this.num); + this.num = this.add1813(this.num, this.num); + this.num = this.add1814(this.num, this.num); + this.num = this.add1815(this.num, this.num); + this.num = this.add1816(this.num, this.num); + this.num = this.add1817(this.num, this.num); + this.num = this.add1818(this.num, this.num); + this.num = this.add1819(this.num, this.num); + this.num = this.add1820(this.num, this.num); + this.num = this.add1821(this.num, this.num); + this.num = this.add1822(this.num, this.num); + this.num = this.add1823(this.num, this.num); + this.num = this.add1824(this.num, this.num); + this.num = this.add1825(this.num, this.num); + this.num = this.add1826(this.num, this.num); + this.num = this.add1827(this.num, this.num); + this.num = this.add1828(this.num, this.num); + this.num = this.add1829(this.num, this.num); + this.num = this.add1830(this.num, this.num); + this.num = this.add1831(this.num, this.num); + this.num = this.add1832(this.num, this.num); + this.num = this.add1833(this.num, this.num); + this.num = this.add1834(this.num, this.num); + this.num = this.add1835(this.num, this.num); + this.num = this.add1836(this.num, this.num); + this.num = this.add1837(this.num, this.num); + this.num = this.add1838(this.num, this.num); + this.num = this.add1839(this.num, this.num); + this.num = this.add1840(this.num, this.num); + this.num = this.add1841(this.num, this.num); + this.num = this.add1842(this.num, this.num); + this.num = this.add1843(this.num, this.num); + this.num = this.add1844(this.num, this.num); + this.num = this.add1845(this.num, this.num); + this.num = this.add1846(this.num, this.num); + this.num = this.add1847(this.num, this.num); + this.num = this.add1848(this.num, this.num); + this.num = this.add1849(this.num, this.num); + this.num = this.add1850(this.num, this.num); + this.num = this.add1851(this.num, this.num); + this.num = this.add1852(this.num, this.num); + this.num = this.add1853(this.num, this.num); + this.num = this.add1854(this.num, this.num); + this.num = this.add1855(this.num, this.num); + this.num = this.add1856(this.num, this.num); + this.num = this.add1857(this.num, this.num); + this.num = this.add1858(this.num, this.num); + this.num = this.add1859(this.num, this.num); + this.num = this.add1860(this.num, this.num); + this.num = this.add1861(this.num, this.num); + this.num = this.add1862(this.num, this.num); + this.num = this.add1863(this.num, this.num); + this.num = this.add1864(this.num, this.num); + this.num = this.add1865(this.num, this.num); + this.num = this.add1866(this.num, this.num); + this.num = this.add1867(this.num, this.num); + this.num = this.add1868(this.num, this.num); + this.num = this.add1869(this.num, this.num); + this.num = this.add1870(this.num, this.num); + this.num = this.add1871(this.num, this.num); + this.num = this.add1872(this.num, this.num); + this.num = this.add1873(this.num, this.num); + this.num = this.add1874(this.num, this.num); + this.num = this.add1875(this.num, this.num); + this.num = this.add1876(this.num, this.num); + this.num = this.add1877(this.num, this.num); + this.num = this.add1878(this.num, this.num); + this.num = this.add1879(this.num, this.num); + this.num = this.add1880(this.num, this.num); + this.num = this.add1881(this.num, this.num); + this.num = this.add1882(this.num, this.num); + this.num = this.add1883(this.num, this.num); + this.num = this.add1884(this.num, this.num); + this.num = this.add1885(this.num, this.num); + this.num = this.add1886(this.num, this.num); + this.num = this.add1887(this.num, this.num); + this.num = this.add1888(this.num, this.num); + this.num = this.add1889(this.num, this.num); + this.num = this.add1890(this.num, this.num); + this.num = this.add1891(this.num, this.num); + this.num = this.add1892(this.num, this.num); + this.num = this.add1893(this.num, this.num); + this.num = this.add1894(this.num, this.num); + this.num = this.add1895(this.num, this.num); + this.num = this.add1896(this.num, this.num); + this.num = this.add1897(this.num, this.num); + this.num = this.add1898(this.num, this.num); + this.num = this.add1899(this.num, this.num); + this.num = this.add1900(this.num, this.num); + this.num = this.add1901(this.num, this.num); + this.num = this.add1902(this.num, this.num); + this.num = this.add1903(this.num, this.num); + this.num = this.add1904(this.num, this.num); + this.num = this.add1905(this.num, this.num); + this.num = this.add1906(this.num, this.num); + this.num = this.add1907(this.num, this.num); + this.num = this.add1908(this.num, this.num); + this.num = this.add1909(this.num, this.num); + this.num = this.add1910(this.num, this.num); + this.num = this.add1911(this.num, this.num); + this.num = this.add1912(this.num, this.num); + this.num = this.add1913(this.num, this.num); + this.num = this.add1914(this.num, this.num); + this.num = this.add1915(this.num, this.num); + this.num = this.add1916(this.num, this.num); + this.num = this.add1917(this.num, this.num); + this.num = this.add1918(this.num, this.num); + this.num = this.add1919(this.num, this.num); + this.num = this.add1920(this.num, this.num); + this.num = this.add1921(this.num, this.num); + this.num = this.add1922(this.num, this.num); + this.num = this.add1923(this.num, this.num); + this.num = this.add1924(this.num, this.num); + this.num = this.add1925(this.num, this.num); + this.num = this.add1926(this.num, this.num); + this.num = this.add1927(this.num, this.num); + this.num = this.add1928(this.num, this.num); + this.num = this.add1929(this.num, this.num); + this.num = this.add1930(this.num, this.num); + this.num = this.add1931(this.num, this.num); + this.num = this.add1932(this.num, this.num); + this.num = this.add1933(this.num, this.num); + this.num = this.add1934(this.num, this.num); + this.num = this.add1935(this.num, this.num); + this.num = this.add1936(this.num, this.num); + this.num = this.add1937(this.num, this.num); + this.num = this.add1938(this.num, this.num); + this.num = this.add1939(this.num, this.num); + this.num = this.add1940(this.num, this.num); + this.num = this.add1941(this.num, this.num); + this.num = this.add1942(this.num, this.num); + this.num = this.add1943(this.num, this.num); + this.num = this.add1944(this.num, this.num); + this.num = this.add1945(this.num, this.num); + this.num = this.add1946(this.num, this.num); + this.num = this.add1947(this.num, this.num); + this.num = this.add1948(this.num, this.num); + this.num = this.add1949(this.num, this.num); + this.num = this.add1950(this.num, this.num); + this.num = this.add1951(this.num, this.num); + this.num = this.add1952(this.num, this.num); + this.num = this.add1953(this.num, this.num); + this.num = this.add1954(this.num, this.num); + this.num = this.add1955(this.num, this.num); + this.num = this.add1956(this.num, this.num); + this.num = this.add1957(this.num, this.num); + this.num = this.add1958(this.num, this.num); + this.num = this.add1959(this.num, this.num); + this.num = this.add1960(this.num, this.num); + this.num = this.add1961(this.num, this.num); + this.num = this.add1962(this.num, this.num); + this.num = this.add1963(this.num, this.num); + this.num = this.add1964(this.num, this.num); + this.num = this.add1965(this.num, this.num); + this.num = this.add1966(this.num, this.num); + this.num = this.add1967(this.num, this.num); + this.num = this.add1968(this.num, this.num); + this.num = this.add1969(this.num, this.num); + this.num = this.add1970(this.num, this.num); + this.num = this.add1971(this.num, this.num); + this.num = this.add1972(this.num, this.num); + this.num = this.add1973(this.num, this.num); + this.num = this.add1974(this.num, this.num); + this.num = this.add1975(this.num, this.num); + this.num = this.add1976(this.num, this.num); + this.num = this.add1977(this.num, this.num); + this.num = this.add1978(this.num, this.num); + this.num = this.add1979(this.num, this.num); + this.num = this.add1980(this.num, this.num); + this.num = this.add1981(this.num, this.num); + this.num = this.add1982(this.num, this.num); + this.num = this.add1983(this.num, this.num); + this.num = this.add1984(this.num, this.num); + this.num = this.add1985(this.num, this.num); + this.num = this.add1986(this.num, this.num); + this.num = this.add1987(this.num, this.num); + this.num = this.add1988(this.num, this.num); + this.num = this.add1989(this.num, this.num); + this.num = this.add1990(this.num, this.num); + this.num = this.add1991(this.num, this.num); + this.num = this.add1992(this.num, this.num); + this.num = this.add1993(this.num, this.num); + this.num = this.add1994(this.num, this.num); + this.num = this.add1995(this.num, this.num); + this.num = this.add1996(this.num, this.num); + this.num = this.add1997(this.num, this.num); + this.num = this.add1998(this.num, this.num); + this.num = this.add1999(this.num, this.num); + + }) + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/resourceReference.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/resourceReference.ets new file mode 100644 index 0000000000000000000000000000000000000000..0da179a3f30221373a6ab8d4a224e38a4fd2a820 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/resourceReference.ets @@ -0,0 +1,16015 @@ + +/** + * $r resourceReference.ets + */ + +import { Component, Column, Image, ImageSourceSize, $r } from "@ohos.arkui" + +@Component +struct ResourceReferenceMain { + build() { + Column() { + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + Image($r('app.media.icon')) + .width(100) + .height(100) + .width(100) + .height(100) + .sourceSize({width:1392, height:1080}) + .borderWidth(1) + + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/stateVariables.ets b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/stateVariables.ets new file mode 100644 index 0000000000000000000000000000000000000000..bc4bf55d28dc7524255f5ab9942ea5d8eb9eb8ce --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/src/stateVariables.ets @@ -0,0 +1,3750 @@ + +/** + * 状态变量 stateVariables.ets + */ + +import { State, Prop, Provide, Consume, Link } from "@ohos.arkui" +import { Component, Column, ClickEvent, Button } from "@ohos.arkui" + +@Component +struct StateVariablesMain { + //============================================================================= + @State prop_num0: number = 0; + @State prop_num1: number = 0; + @State prop_num2: number = 0; + @State prop_num3: number = 0; + @State prop_num4: number = 0; + @State prop_num5: number = 0; + @State prop_num6: number = 0; + @State prop_num7: number = 0; + @State prop_num8: number = 0; + @State prop_num9: number = 0; + @State prop_num10: number = 0; + @State prop_num11: number = 0; + @State prop_num12: number = 0; + @State prop_num13: number = 0; + @State prop_num14: number = 0; + @State prop_num15: number = 0; + @State prop_num16: number = 0; + @State prop_num17: number = 0; + @State prop_num18: number = 0; + @State prop_num19: number = 0; + @State prop_num20: number = 0; + @State prop_num21: number = 0; + @State prop_num22: number = 0; + @State prop_num23: number = 0; + @State prop_num24: number = 0; + @State prop_num25: number = 0; + @State prop_num26: number = 0; + @State prop_num27: number = 0; + @State prop_num28: number = 0; + @State prop_num29: number = 0; + @State prop_num30: number = 0; + @State prop_num31: number = 0; + @State prop_num32: number = 0; + @State prop_num33: number = 0; + @State prop_num34: number = 0; + @State prop_num35: number = 0; + @State prop_num36: number = 0; + @State prop_num37: number = 0; + @State prop_num38: number = 0; + @State prop_num39: number = 0; + @State prop_num40: number = 0; + @State prop_num41: number = 0; + @State prop_num42: number = 0; + @State prop_num43: number = 0; + @State prop_num44: number = 0; + @State prop_num45: number = 0; + @State prop_num46: number = 0; + @State prop_num47: number = 0; + @State prop_num48: number = 0; + @State prop_num49: number = 0; + @State prop_num50: number = 0; + @State prop_num51: number = 0; + @State prop_num52: number = 0; + @State prop_num53: number = 0; + @State prop_num54: number = 0; + @State prop_num55: number = 0; + @State prop_num56: number = 0; + @State prop_num57: number = 0; + @State prop_num58: number = 0; + @State prop_num59: number = 0; + @State prop_num60: number = 0; + @State prop_num61: number = 0; + @State prop_num62: number = 0; + @State prop_num63: number = 0; + @State prop_num64: number = 0; + @State prop_num65: number = 0; + @State prop_num66: number = 0; + @State prop_num67: number = 0; + @State prop_num68: number = 0; + @State prop_num69: number = 0; + @State prop_num70: number = 0; + @State prop_num71: number = 0; + @State prop_num72: number = 0; + @State prop_num73: number = 0; + @State prop_num74: number = 0; + @State prop_num75: number = 0; + @State prop_num76: number = 0; + @State prop_num77: number = 0; + @State prop_num78: number = 0; + @State prop_num79: number = 0; + @State prop_num80: number = 0; + @State prop_num81: number = 0; + @State prop_num82: number = 0; + @State prop_num83: number = 0; + @State prop_num84: number = 0; + @State prop_num85: number = 0; + @State prop_num86: number = 0; + @State prop_num87: number = 0; + @State prop_num88: number = 0; + @State prop_num89: number = 0; + @State prop_num90: number = 0; + @State prop_num91: number = 0; + @State prop_num92: number = 0; + @State prop_num93: number = 0; + @State prop_num94: number = 0; + @State prop_num95: number = 0; + @State prop_num96: number = 0; + @State prop_num97: number = 0; + @State prop_num98: number = 0; + @State prop_num99: number = 0; + @State prop_num100: number = 0; + @State prop_num101: number = 0; + @State prop_num102: number = 0; + @State prop_num103: number = 0; + @State prop_num104: number = 0; + @State prop_num105: number = 0; + @State prop_num106: number = 0; + @State prop_num107: number = 0; + @State prop_num108: number = 0; + @State prop_num109: number = 0; + @State prop_num110: number = 0; + @State prop_num111: number = 0; + @State prop_num112: number = 0; + @State prop_num113: number = 0; + @State prop_num114: number = 0; + @State prop_num115: number = 0; + @State prop_num116: number = 0; + @State prop_num117: number = 0; + @State prop_num118: number = 0; + @State prop_num119: number = 0; + @State prop_num120: number = 0; + @State prop_num121: number = 0; + @State prop_num122: number = 0; + @State prop_num123: number = 0; + @State prop_num124: number = 0; + @State prop_num125: number = 0; + @State prop_num126: number = 0; + @State prop_num127: number = 0; + @State prop_num128: number = 0; + @State prop_num129: number = 0; + @State prop_num130: number = 0; + @State prop_num131: number = 0; + @State prop_num132: number = 0; + @State prop_num133: number = 0; + @State prop_num134: number = 0; + @State prop_num135: number = 0; + @State prop_num136: number = 0; + @State prop_num137: number = 0; + @State prop_num138: number = 0; + @State prop_num139: number = 0; + @State prop_num140: number = 0; + @State prop_num141: number = 0; + @State prop_num142: number = 0; + @State prop_num143: number = 0; + @State prop_num144: number = 0; + @State prop_num145: number = 0; + @State prop_num146: number = 0; + @State prop_num147: number = 0; + @State prop_num148: number = 0; + @State prop_num149: number = 0; + @State prop_num150: number = 0; + @State prop_num151: number = 0; + @State prop_num152: number = 0; + @State prop_num153: number = 0; + @State prop_num154: number = 0; + @State prop_num155: number = 0; + @State prop_num156: number = 0; + @State prop_num157: number = 0; + @State prop_num158: number = 0; + @State prop_num159: number = 0; + @State prop_num160: number = 0; + @State prop_num161: number = 0; + @State prop_num162: number = 0; + @State prop_num163: number = 0; + @State prop_num164: number = 0; + @State prop_num165: number = 0; + @State prop_num166: number = 0; + @State prop_num167: number = 0; + @State prop_num168: number = 0; + @State prop_num169: number = 0; + @State prop_num170: number = 0; + @State prop_num171: number = 0; + @State prop_num172: number = 0; + @State prop_num173: number = 0; + @State prop_num174: number = 0; + @State prop_num175: number = 0; + @State prop_num176: number = 0; + @State prop_num177: number = 0; + @State prop_num178: number = 0; + @State prop_num179: number = 0; + @State prop_num180: number = 0; + @State prop_num181: number = 0; + @State prop_num182: number = 0; + @State prop_num183: number = 0; + @State prop_num184: number = 0; + @State prop_num185: number = 0; + @State prop_num186: number = 0; + @State prop_num187: number = 0; + @State prop_num188: number = 0; + @State prop_num189: number = 0; + @State prop_num190: number = 0; + @State prop_num191: number = 0; + @State prop_num192: number = 0; + @State prop_num193: number = 0; + @State prop_num194: number = 0; + @State prop_num195: number = 0; + @State prop_num196: number = 0; + @State prop_num197: number = 0; + @State prop_num198: number = 0; + @State prop_num199: number = 0; + @State prop_num200: number = 0; + @State prop_num201: number = 0; + @State prop_num202: number = 0; + @State prop_num203: number = 0; + @State prop_num204: number = 0; + @State prop_num205: number = 0; + @State prop_num206: number = 0; + @State prop_num207: number = 0; + @State prop_num208: number = 0; + @State prop_num209: number = 0; + @State prop_num210: number = 0; + @State prop_num211: number = 0; + @State prop_num212: number = 0; + @State prop_num213: number = 0; + @State prop_num214: number = 0; + @State prop_num215: number = 0; + @State prop_num216: number = 0; + @State prop_num217: number = 0; + @State prop_num218: number = 0; + @State prop_num219: number = 0; + @State prop_num220: number = 0; + @State prop_num221: number = 0; + @State prop_num222: number = 0; + @State prop_num223: number = 0; + @State prop_num224: number = 0; + @State prop_num225: number = 0; + @State prop_num226: number = 0; + @State prop_num227: number = 0; + @State prop_num228: number = 0; + @State prop_num229: number = 0; + @State prop_num230: number = 0; + @State prop_num231: number = 0; + @State prop_num232: number = 0; + @State prop_num233: number = 0; + @State prop_num234: number = 0; + @State prop_num235: number = 0; + @State prop_num236: number = 0; + @State prop_num237: number = 0; + @State prop_num238: number = 0; + @State prop_num239: number = 0; + @State prop_num240: number = 0; + @State prop_num241: number = 0; + @State prop_num242: number = 0; + @State prop_num243: number = 0; + @State prop_num244: number = 0; + @State prop_num245: number = 0; + @State prop_num246: number = 0; + @State prop_num247: number = 0; + @State prop_num248: number = 0; + @State prop_num249: number = 0; + @State prop_num250: number = 0; + @State prop_num251: number = 0; + @State prop_num252: number = 0; + @State prop_num253: number = 0; + @State prop_num254: number = 0; + @State prop_num255: number = 0; + @State prop_num256: number = 0; + @State prop_num257: number = 0; + @State prop_num258: number = 0; + @State prop_num259: number = 0; + @State prop_num260: number = 0; + @State prop_num261: number = 0; + @State prop_num262: number = 0; + @State prop_num263: number = 0; + @State prop_num264: number = 0; + @State prop_num265: number = 0; + @State prop_num266: number = 0; + @State prop_num267: number = 0; + @State prop_num268: number = 0; + @State prop_num269: number = 0; + @State prop_num270: number = 0; + @State prop_num271: number = 0; + @State prop_num272: number = 0; + @State prop_num273: number = 0; + @State prop_num274: number = 0; + @State prop_num275: number = 0; + @State prop_num276: number = 0; + @State prop_num277: number = 0; + @State prop_num278: number = 0; + @State prop_num279: number = 0; + @State prop_num280: number = 0; + @State prop_num281: number = 0; + @State prop_num282: number = 0; + @State prop_num283: number = 0; + @State prop_num284: number = 0; + @State prop_num285: number = 0; + @State prop_num286: number = 0; + @State prop_num287: number = 0; + @State prop_num288: number = 0; + @State prop_num289: number = 0; + @State prop_num290: number = 0; + @State prop_num291: number = 0; + @State prop_num292: number = 0; + @State prop_num293: number = 0; + @State prop_num294: number = 0; + @State prop_num295: number = 0; + @State prop_num296: number = 0; + @State prop_num297: number = 0; + @State prop_num298: number = 0; + @State prop_num299: number = 0; + @State prop_num300: number = 0; + @State prop_num301: number = 0; + @State prop_num302: number = 0; + @State prop_num303: number = 0; + @State prop_num304: number = 0; + @State prop_num305: number = 0; + @State prop_num306: number = 0; + @State prop_num307: number = 0; + @State prop_num308: number = 0; + @State prop_num309: number = 0; + @State prop_num310: number = 0; + @State prop_num311: number = 0; + @State prop_num312: number = 0; + @State prop_num313: number = 0; + @State prop_num314: number = 0; + @State prop_num315: number = 0; + @State prop_num316: number = 0; + @State prop_num317: number = 0; + @State prop_num318: number = 0; + @State prop_num319: number = 0; + @State prop_num320: number = 0; + @State prop_num321: number = 0; + @State prop_num322: number = 0; + @State prop_num323: number = 0; + @State prop_num324: number = 0; + @State prop_num325: number = 0; + @State prop_num326: number = 0; + @State prop_num327: number = 0; + @State prop_num328: number = 0; + @State prop_num329: number = 0; + @State prop_num330: number = 0; + @State prop_num331: number = 0; + @State prop_num332: number = 0; + + + //============================================================================= + @State link_num0: number = 0; + @State link_num1: number = 0; + @State link_num2: number = 0; + @State link_num3: number = 0; + @State link_num4: number = 0; + @State link_num5: number = 0; + @State link_num6: number = 0; + @State link_num7: number = 0; + @State link_num8: number = 0; + @State link_num9: number = 0; + @State link_num10: number = 0; + @State link_num11: number = 0; + @State link_num12: number = 0; + @State link_num13: number = 0; + @State link_num14: number = 0; + @State link_num15: number = 0; + @State link_num16: number = 0; + @State link_num17: number = 0; + @State link_num18: number = 0; + @State link_num19: number = 0; + @State link_num20: number = 0; + @State link_num21: number = 0; + @State link_num22: number = 0; + @State link_num23: number = 0; + @State link_num24: number = 0; + @State link_num25: number = 0; + @State link_num26: number = 0; + @State link_num27: number = 0; + @State link_num28: number = 0; + @State link_num29: number = 0; + @State link_num30: number = 0; + @State link_num31: number = 0; + @State link_num32: number = 0; + @State link_num33: number = 0; + @State link_num34: number = 0; + @State link_num35: number = 0; + @State link_num36: number = 0; + @State link_num37: number = 0; + @State link_num38: number = 0; + @State link_num39: number = 0; + @State link_num40: number = 0; + @State link_num41: number = 0; + @State link_num42: number = 0; + @State link_num43: number = 0; + @State link_num44: number = 0; + @State link_num45: number = 0; + @State link_num46: number = 0; + @State link_num47: number = 0; + @State link_num48: number = 0; + @State link_num49: number = 0; + @State link_num50: number = 0; + @State link_num51: number = 0; + @State link_num52: number = 0; + @State link_num53: number = 0; + @State link_num54: number = 0; + @State link_num55: number = 0; + @State link_num56: number = 0; + @State link_num57: number = 0; + @State link_num58: number = 0; + @State link_num59: number = 0; + @State link_num60: number = 0; + @State link_num61: number = 0; + @State link_num62: number = 0; + @State link_num63: number = 0; + @State link_num64: number = 0; + @State link_num65: number = 0; + @State link_num66: number = 0; + @State link_num67: number = 0; + @State link_num68: number = 0; + @State link_num69: number = 0; + @State link_num70: number = 0; + @State link_num71: number = 0; + @State link_num72: number = 0; + @State link_num73: number = 0; + @State link_num74: number = 0; + @State link_num75: number = 0; + @State link_num76: number = 0; + @State link_num77: number = 0; + @State link_num78: number = 0; + @State link_num79: number = 0; + @State link_num80: number = 0; + @State link_num81: number = 0; + @State link_num82: number = 0; + @State link_num83: number = 0; + @State link_num84: number = 0; + @State link_num85: number = 0; + @State link_num86: number = 0; + @State link_num87: number = 0; + @State link_num88: number = 0; + @State link_num89: number = 0; + @State link_num90: number = 0; + @State link_num91: number = 0; + @State link_num92: number = 0; + @State link_num93: number = 0; + @State link_num94: number = 0; + @State link_num95: number = 0; + @State link_num96: number = 0; + @State link_num97: number = 0; + @State link_num98: number = 0; + @State link_num99: number = 0; + @State link_num100: number = 0; + @State link_num101: number = 0; + @State link_num102: number = 0; + @State link_num103: number = 0; + @State link_num104: number = 0; + @State link_num105: number = 0; + @State link_num106: number = 0; + @State link_num107: number = 0; + @State link_num108: number = 0; + @State link_num109: number = 0; + @State link_num110: number = 0; + @State link_num111: number = 0; + @State link_num112: number = 0; + @State link_num113: number = 0; + @State link_num114: number = 0; + @State link_num115: number = 0; + @State link_num116: number = 0; + @State link_num117: number = 0; + @State link_num118: number = 0; + @State link_num119: number = 0; + @State link_num120: number = 0; + @State link_num121: number = 0; + @State link_num122: number = 0; + @State link_num123: number = 0; + @State link_num124: number = 0; + @State link_num125: number = 0; + @State link_num126: number = 0; + @State link_num127: number = 0; + @State link_num128: number = 0; + @State link_num129: number = 0; + @State link_num130: number = 0; + @State link_num131: number = 0; + @State link_num132: number = 0; + @State link_num133: number = 0; + @State link_num134: number = 0; + @State link_num135: number = 0; + @State link_num136: number = 0; + @State link_num137: number = 0; + @State link_num138: number = 0; + @State link_num139: number = 0; + @State link_num140: number = 0; + @State link_num141: number = 0; + @State link_num142: number = 0; + @State link_num143: number = 0; + @State link_num144: number = 0; + @State link_num145: number = 0; + @State link_num146: number = 0; + @State link_num147: number = 0; + @State link_num148: number = 0; + @State link_num149: number = 0; + @State link_num150: number = 0; + @State link_num151: number = 0; + @State link_num152: number = 0; + @State link_num153: number = 0; + @State link_num154: number = 0; + @State link_num155: number = 0; + @State link_num156: number = 0; + @State link_num157: number = 0; + @State link_num158: number = 0; + @State link_num159: number = 0; + @State link_num160: number = 0; + @State link_num161: number = 0; + @State link_num162: number = 0; + @State link_num163: number = 0; + @State link_num164: number = 0; + @State link_num165: number = 0; + @State link_num166: number = 0; + @State link_num167: number = 0; + @State link_num168: number = 0; + @State link_num169: number = 0; + @State link_num170: number = 0; + @State link_num171: number = 0; + @State link_num172: number = 0; + @State link_num173: number = 0; + @State link_num174: number = 0; + @State link_num175: number = 0; + @State link_num176: number = 0; + @State link_num177: number = 0; + @State link_num178: number = 0; + @State link_num179: number = 0; + @State link_num180: number = 0; + @State link_num181: number = 0; + @State link_num182: number = 0; + @State link_num183: number = 0; + @State link_num184: number = 0; + @State link_num185: number = 0; + @State link_num186: number = 0; + @State link_num187: number = 0; + @State link_num188: number = 0; + @State link_num189: number = 0; + @State link_num190: number = 0; + @State link_num191: number = 0; + @State link_num192: number = 0; + @State link_num193: number = 0; + @State link_num194: number = 0; + @State link_num195: number = 0; + @State link_num196: number = 0; + @State link_num197: number = 0; + @State link_num198: number = 0; + @State link_num199: number = 0; + @State link_num200: number = 0; + @State link_num201: number = 0; + @State link_num202: number = 0; + @State link_num203: number = 0; + @State link_num204: number = 0; + @State link_num205: number = 0; + @State link_num206: number = 0; + @State link_num207: number = 0; + @State link_num208: number = 0; + @State link_num209: number = 0; + @State link_num210: number = 0; + @State link_num211: number = 0; + @State link_num212: number = 0; + @State link_num213: number = 0; + @State link_num214: number = 0; + @State link_num215: number = 0; + @State link_num216: number = 0; + @State link_num217: number = 0; + @State link_num218: number = 0; + @State link_num219: number = 0; + @State link_num220: number = 0; + @State link_num221: number = 0; + @State link_num222: number = 0; + @State link_num223: number = 0; + @State link_num224: number = 0; + @State link_num225: number = 0; + @State link_num226: number = 0; + @State link_num227: number = 0; + @State link_num228: number = 0; + @State link_num229: number = 0; + @State link_num230: number = 0; + @State link_num231: number = 0; + @State link_num232: number = 0; + @State link_num233: number = 0; + @State link_num234: number = 0; + @State link_num235: number = 0; + @State link_num236: number = 0; + @State link_num237: number = 0; + @State link_num238: number = 0; + @State link_num239: number = 0; + @State link_num240: number = 0; + @State link_num241: number = 0; + @State link_num242: number = 0; + @State link_num243: number = 0; + @State link_num244: number = 0; + @State link_num245: number = 0; + @State link_num246: number = 0; + @State link_num247: number = 0; + @State link_num248: number = 0; + @State link_num249: number = 0; + @State link_num250: number = 0; + @State link_num251: number = 0; + @State link_num252: number = 0; + @State link_num253: number = 0; + @State link_num254: number = 0; + @State link_num255: number = 0; + @State link_num256: number = 0; + @State link_num257: number = 0; + @State link_num258: number = 0; + @State link_num259: number = 0; + @State link_num260: number = 0; + @State link_num261: number = 0; + @State link_num262: number = 0; + @State link_num263: number = 0; + @State link_num264: number = 0; + @State link_num265: number = 0; + @State link_num266: number = 0; + @State link_num267: number = 0; + @State link_num268: number = 0; + @State link_num269: number = 0; + @State link_num270: number = 0; + @State link_num271: number = 0; + @State link_num272: number = 0; + @State link_num273: number = 0; + @State link_num274: number = 0; + @State link_num275: number = 0; + @State link_num276: number = 0; + @State link_num277: number = 0; + @State link_num278: number = 0; + @State link_num279: number = 0; + @State link_num280: number = 0; + @State link_num281: number = 0; + @State link_num282: number = 0; + @State link_num283: number = 0; + @State link_num284: number = 0; + @State link_num285: number = 0; + @State link_num286: number = 0; + @State link_num287: number = 0; + @State link_num288: number = 0; + @State link_num289: number = 0; + @State link_num290: number = 0; + @State link_num291: number = 0; + @State link_num292: number = 0; + @State link_num293: number = 0; + @State link_num294: number = 0; + @State link_num295: number = 0; + @State link_num296: number = 0; + @State link_num297: number = 0; + @State link_num298: number = 0; + @State link_num299: number = 0; + @State link_num300: number = 0; + @State link_num301: number = 0; + @State link_num302: number = 0; + @State link_num303: number = 0; + @State link_num304: number = 0; + @State link_num305: number = 0; + @State link_num306: number = 0; + @State link_num307: number = 0; + @State link_num308: number = 0; + @State link_num309: number = 0; + @State link_num310: number = 0; + @State link_num311: number = 0; + @State link_num312: number = 0; + @State link_num313: number = 0; + @State link_num314: number = 0; + @State link_num315: number = 0; + @State link_num316: number = 0; + @State link_num317: number = 0; + @State link_num318: number = 0; + @State link_num319: number = 0; + @State link_num320: number = 0; + @State link_num321: number = 0; + @State link_num322: number = 0; + @State link_num323: number = 0; + @State link_num324: number = 0; + @State link_num325: number = 0; + @State link_num326: number = 0; + @State link_num327: number = 0; + @State link_num328: number = 0; + @State link_num329: number = 0; + @State link_num330: number = 0; + @State link_num331: number = 0; + @State link_num332: number = 0; + + + //============================================================================= + @Provide consume_num0: number = 0; + @Provide consume_num1: number = 0; + @Provide consume_num2: number = 0; + @Provide consume_num3: number = 0; + @Provide consume_num4: number = 0; + @Provide consume_num5: number = 0; + @Provide consume_num6: number = 0; + @Provide consume_num7: number = 0; + @Provide consume_num8: number = 0; + @Provide consume_num9: number = 0; + @Provide consume_num10: number = 0; + @Provide consume_num11: number = 0; + @Provide consume_num12: number = 0; + @Provide consume_num13: number = 0; + @Provide consume_num14: number = 0; + @Provide consume_num15: number = 0; + @Provide consume_num16: number = 0; + @Provide consume_num17: number = 0; + @Provide consume_num18: number = 0; + @Provide consume_num19: number = 0; + @Provide consume_num20: number = 0; + @Provide consume_num21: number = 0; + @Provide consume_num22: number = 0; + @Provide consume_num23: number = 0; + @Provide consume_num24: number = 0; + @Provide consume_num25: number = 0; + @Provide consume_num26: number = 0; + @Provide consume_num27: number = 0; + @Provide consume_num28: number = 0; + @Provide consume_num29: number = 0; + @Provide consume_num30: number = 0; + @Provide consume_num31: number = 0; + @Provide consume_num32: number = 0; + @Provide consume_num33: number = 0; + @Provide consume_num34: number = 0; + @Provide consume_num35: number = 0; + @Provide consume_num36: number = 0; + @Provide consume_num37: number = 0; + @Provide consume_num38: number = 0; + @Provide consume_num39: number = 0; + @Provide consume_num40: number = 0; + @Provide consume_num41: number = 0; + @Provide consume_num42: number = 0; + @Provide consume_num43: number = 0; + @Provide consume_num44: number = 0; + @Provide consume_num45: number = 0; + @Provide consume_num46: number = 0; + @Provide consume_num47: number = 0; + @Provide consume_num48: number = 0; + @Provide consume_num49: number = 0; + @Provide consume_num50: number = 0; + @Provide consume_num51: number = 0; + @Provide consume_num52: number = 0; + @Provide consume_num53: number = 0; + @Provide consume_num54: number = 0; + @Provide consume_num55: number = 0; + @Provide consume_num56: number = 0; + @Provide consume_num57: number = 0; + @Provide consume_num58: number = 0; + @Provide consume_num59: number = 0; + @Provide consume_num60: number = 0; + @Provide consume_num61: number = 0; + @Provide consume_num62: number = 0; + @Provide consume_num63: number = 0; + @Provide consume_num64: number = 0; + @Provide consume_num65: number = 0; + @Provide consume_num66: number = 0; + @Provide consume_num67: number = 0; + @Provide consume_num68: number = 0; + @Provide consume_num69: number = 0; + @Provide consume_num70: number = 0; + @Provide consume_num71: number = 0; + @Provide consume_num72: number = 0; + @Provide consume_num73: number = 0; + @Provide consume_num74: number = 0; + @Provide consume_num75: number = 0; + @Provide consume_num76: number = 0; + @Provide consume_num77: number = 0; + @Provide consume_num78: number = 0; + @Provide consume_num79: number = 0; + @Provide consume_num80: number = 0; + @Provide consume_num81: number = 0; + @Provide consume_num82: number = 0; + @Provide consume_num83: number = 0; + @Provide consume_num84: number = 0; + @Provide consume_num85: number = 0; + @Provide consume_num86: number = 0; + @Provide consume_num87: number = 0; + @Provide consume_num88: number = 0; + @Provide consume_num89: number = 0; + @Provide consume_num90: number = 0; + @Provide consume_num91: number = 0; + @Provide consume_num92: number = 0; + @Provide consume_num93: number = 0; + @Provide consume_num94: number = 0; + @Provide consume_num95: number = 0; + @Provide consume_num96: number = 0; + @Provide consume_num97: number = 0; + @Provide consume_num98: number = 0; + @Provide consume_num99: number = 0; + @Provide consume_num100: number = 0; + @Provide consume_num101: number = 0; + @Provide consume_num102: number = 0; + @Provide consume_num103: number = 0; + @Provide consume_num104: number = 0; + @Provide consume_num105: number = 0; + @Provide consume_num106: number = 0; + @Provide consume_num107: number = 0; + @Provide consume_num108: number = 0; + @Provide consume_num109: number = 0; + @Provide consume_num110: number = 0; + @Provide consume_num111: number = 0; + @Provide consume_num112: number = 0; + @Provide consume_num113: number = 0; + @Provide consume_num114: number = 0; + @Provide consume_num115: number = 0; + @Provide consume_num116: number = 0; + @Provide consume_num117: number = 0; + @Provide consume_num118: number = 0; + @Provide consume_num119: number = 0; + @Provide consume_num120: number = 0; + @Provide consume_num121: number = 0; + @Provide consume_num122: number = 0; + @Provide consume_num123: number = 0; + @Provide consume_num124: number = 0; + @Provide consume_num125: number = 0; + @Provide consume_num126: number = 0; + @Provide consume_num127: number = 0; + @Provide consume_num128: number = 0; + @Provide consume_num129: number = 0; + @Provide consume_num130: number = 0; + @Provide consume_num131: number = 0; + @Provide consume_num132: number = 0; + @Provide consume_num133: number = 0; + @Provide consume_num134: number = 0; + @Provide consume_num135: number = 0; + @Provide consume_num136: number = 0; + @Provide consume_num137: number = 0; + @Provide consume_num138: number = 0; + @Provide consume_num139: number = 0; + @Provide consume_num140: number = 0; + @Provide consume_num141: number = 0; + @Provide consume_num142: number = 0; + @Provide consume_num143: number = 0; + @Provide consume_num144: number = 0; + @Provide consume_num145: number = 0; + @Provide consume_num146: number = 0; + @Provide consume_num147: number = 0; + @Provide consume_num148: number = 0; + @Provide consume_num149: number = 0; + @Provide consume_num150: number = 0; + @Provide consume_num151: number = 0; + @Provide consume_num152: number = 0; + @Provide consume_num153: number = 0; + @Provide consume_num154: number = 0; + @Provide consume_num155: number = 0; + @Provide consume_num156: number = 0; + @Provide consume_num157: number = 0; + @Provide consume_num158: number = 0; + @Provide consume_num159: number = 0; + @Provide consume_num160: number = 0; + @Provide consume_num161: number = 0; + @Provide consume_num162: number = 0; + @Provide consume_num163: number = 0; + @Provide consume_num164: number = 0; + @Provide consume_num165: number = 0; + @Provide consume_num166: number = 0; + @Provide consume_num167: number = 0; + @Provide consume_num168: number = 0; + @Provide consume_num169: number = 0; + @Provide consume_num170: number = 0; + @Provide consume_num171: number = 0; + @Provide consume_num172: number = 0; + @Provide consume_num173: number = 0; + @Provide consume_num174: number = 0; + @Provide consume_num175: number = 0; + @Provide consume_num176: number = 0; + @Provide consume_num177: number = 0; + @Provide consume_num178: number = 0; + @Provide consume_num179: number = 0; + @Provide consume_num180: number = 0; + @Provide consume_num181: number = 0; + @Provide consume_num182: number = 0; + @Provide consume_num183: number = 0; + @Provide consume_num184: number = 0; + @Provide consume_num185: number = 0; + @Provide consume_num186: number = 0; + @Provide consume_num187: number = 0; + @Provide consume_num188: number = 0; + @Provide consume_num189: number = 0; + @Provide consume_num190: number = 0; + @Provide consume_num191: number = 0; + @Provide consume_num192: number = 0; + @Provide consume_num193: number = 0; + @Provide consume_num194: number = 0; + @Provide consume_num195: number = 0; + @Provide consume_num196: number = 0; + @Provide consume_num197: number = 0; + @Provide consume_num198: number = 0; + @Provide consume_num199: number = 0; + @Provide consume_num200: number = 0; + @Provide consume_num201: number = 0; + @Provide consume_num202: number = 0; + @Provide consume_num203: number = 0; + @Provide consume_num204: number = 0; + @Provide consume_num205: number = 0; + @Provide consume_num206: number = 0; + @Provide consume_num207: number = 0; + @Provide consume_num208: number = 0; + @Provide consume_num209: number = 0; + @Provide consume_num210: number = 0; + @Provide consume_num211: number = 0; + @Provide consume_num212: number = 0; + @Provide consume_num213: number = 0; + @Provide consume_num214: number = 0; + @Provide consume_num215: number = 0; + @Provide consume_num216: number = 0; + @Provide consume_num217: number = 0; + @Provide consume_num218: number = 0; + @Provide consume_num219: number = 0; + @Provide consume_num220: number = 0; + @Provide consume_num221: number = 0; + @Provide consume_num222: number = 0; + @Provide consume_num223: number = 0; + @Provide consume_num224: number = 0; + @Provide consume_num225: number = 0; + @Provide consume_num226: number = 0; + @Provide consume_num227: number = 0; + @Provide consume_num228: number = 0; + @Provide consume_num229: number = 0; + @Provide consume_num230: number = 0; + @Provide consume_num231: number = 0; + @Provide consume_num232: number = 0; + @Provide consume_num233: number = 0; + @Provide consume_num234: number = 0; + @Provide consume_num235: number = 0; + @Provide consume_num236: number = 0; + @Provide consume_num237: number = 0; + @Provide consume_num238: number = 0; + @Provide consume_num239: number = 0; + @Provide consume_num240: number = 0; + @Provide consume_num241: number = 0; + @Provide consume_num242: number = 0; + @Provide consume_num243: number = 0; + @Provide consume_num244: number = 0; + @Provide consume_num245: number = 0; + @Provide consume_num246: number = 0; + @Provide consume_num247: number = 0; + @Provide consume_num248: number = 0; + @Provide consume_num249: number = 0; + @Provide consume_num250: number = 0; + @Provide consume_num251: number = 0; + @Provide consume_num252: number = 0; + @Provide consume_num253: number = 0; + @Provide consume_num254: number = 0; + @Provide consume_num255: number = 0; + @Provide consume_num256: number = 0; + @Provide consume_num257: number = 0; + @Provide consume_num258: number = 0; + @Provide consume_num259: number = 0; + @Provide consume_num260: number = 0; + @Provide consume_num261: number = 0; + @Provide consume_num262: number = 0; + @Provide consume_num263: number = 0; + @Provide consume_num264: number = 0; + @Provide consume_num265: number = 0; + @Provide consume_num266: number = 0; + @Provide consume_num267: number = 0; + @Provide consume_num268: number = 0; + @Provide consume_num269: number = 0; + @Provide consume_num270: number = 0; + @Provide consume_num271: number = 0; + @Provide consume_num272: number = 0; + @Provide consume_num273: number = 0; + @Provide consume_num274: number = 0; + @Provide consume_num275: number = 0; + @Provide consume_num276: number = 0; + @Provide consume_num277: number = 0; + @Provide consume_num278: number = 0; + @Provide consume_num279: number = 0; + @Provide consume_num280: number = 0; + @Provide consume_num281: number = 0; + @Provide consume_num282: number = 0; + @Provide consume_num283: number = 0; + @Provide consume_num284: number = 0; + @Provide consume_num285: number = 0; + @Provide consume_num286: number = 0; + @Provide consume_num287: number = 0; + @Provide consume_num288: number = 0; + @Provide consume_num289: number = 0; + @Provide consume_num290: number = 0; + @Provide consume_num291: number = 0; + @Provide consume_num292: number = 0; + @Provide consume_num293: number = 0; + @Provide consume_num294: number = 0; + @Provide consume_num295: number = 0; + @Provide consume_num296: number = 0; + @Provide consume_num297: number = 0; + @Provide consume_num298: number = 0; + @Provide consume_num299: number = 0; + @Provide consume_num300: number = 0; + @Provide consume_num301: number = 0; + @Provide consume_num302: number = 0; + @Provide consume_num303: number = 0; + @Provide consume_num304: number = 0; + @Provide consume_num305: number = 0; + @Provide consume_num306: number = 0; + @Provide consume_num307: number = 0; + @Provide consume_num308: number = 0; + @Provide consume_num309: number = 0; + @Provide consume_num310: number = 0; + @Provide consume_num311: number = 0; + @Provide consume_num312: number = 0; + @Provide consume_num313: number = 0; + @Provide consume_num314: number = 0; + @Provide consume_num315: number = 0; + @Provide consume_num316: number = 0; + @Provide consume_num317: number = 0; + @Provide consume_num318: number = 0; + @Provide consume_num319: number = 0; + @Provide consume_num320: number = 0; + @Provide consume_num321: number = 0; + @Provide consume_num322: number = 0; + @Provide consume_num323: number = 0; + @Provide consume_num324: number = 0; + @Provide consume_num325: number = 0; + @Provide consume_num326: number = 0; + @Provide consume_num327: number = 0; + @Provide consume_num328: number = 0; + @Provide consume_num329: number = 0; + @Provide consume_num330: number = 0; + @Provide consume_num331: number = 0; + @Provide consume_num332: number = 0; + + + build() { + Column() { + //============================================================================= + PropVariables( + { + prop_num0: this.prop_num0, + prop_num1: this.prop_num1, + prop_num2: this.prop_num2, + prop_num3: this.prop_num3, + prop_num4: this.prop_num4, + prop_num5: this.prop_num5, + prop_num6: this.prop_num6, + prop_num7: this.prop_num7, + prop_num8: this.prop_num8, + prop_num9: this.prop_num9, + prop_num10: this.prop_num10, + prop_num11: this.prop_num11, + prop_num12: this.prop_num12, + prop_num13: this.prop_num13, + prop_num14: this.prop_num14, + prop_num15: this.prop_num15, + prop_num16: this.prop_num16, + prop_num17: this.prop_num17, + prop_num18: this.prop_num18, + prop_num19: this.prop_num19, + prop_num20: this.prop_num20, + prop_num21: this.prop_num21, + prop_num22: this.prop_num22, + prop_num23: this.prop_num23, + prop_num24: this.prop_num24, + prop_num25: this.prop_num25, + prop_num26: this.prop_num26, + prop_num27: this.prop_num27, + prop_num28: this.prop_num28, + prop_num29: this.prop_num29, + prop_num30: this.prop_num30, + prop_num31: this.prop_num31, + prop_num32: this.prop_num32, + prop_num33: this.prop_num33, + prop_num34: this.prop_num34, + prop_num35: this.prop_num35, + prop_num36: this.prop_num36, + prop_num37: this.prop_num37, + prop_num38: this.prop_num38, + prop_num39: this.prop_num39, + prop_num40: this.prop_num40, + prop_num41: this.prop_num41, + prop_num42: this.prop_num42, + prop_num43: this.prop_num43, + prop_num44: this.prop_num44, + prop_num45: this.prop_num45, + prop_num46: this.prop_num46, + prop_num47: this.prop_num47, + prop_num48: this.prop_num48, + prop_num49: this.prop_num49, + prop_num50: this.prop_num50, + prop_num51: this.prop_num51, + prop_num52: this.prop_num52, + prop_num53: this.prop_num53, + prop_num54: this.prop_num54, + prop_num55: this.prop_num55, + prop_num56: this.prop_num56, + prop_num57: this.prop_num57, + prop_num58: this.prop_num58, + prop_num59: this.prop_num59, + prop_num60: this.prop_num60, + prop_num61: this.prop_num61, + prop_num62: this.prop_num62, + prop_num63: this.prop_num63, + prop_num64: this.prop_num64, + prop_num65: this.prop_num65, + prop_num66: this.prop_num66, + prop_num67: this.prop_num67, + prop_num68: this.prop_num68, + prop_num69: this.prop_num69, + prop_num70: this.prop_num70, + prop_num71: this.prop_num71, + prop_num72: this.prop_num72, + prop_num73: this.prop_num73, + prop_num74: this.prop_num74, + prop_num75: this.prop_num75, + prop_num76: this.prop_num76, + prop_num77: this.prop_num77, + prop_num78: this.prop_num78, + prop_num79: this.prop_num79, + prop_num80: this.prop_num80, + prop_num81: this.prop_num81, + prop_num82: this.prop_num82, + prop_num83: this.prop_num83, + prop_num84: this.prop_num84, + prop_num85: this.prop_num85, + prop_num86: this.prop_num86, + prop_num87: this.prop_num87, + prop_num88: this.prop_num88, + prop_num89: this.prop_num89, + prop_num90: this.prop_num90, + prop_num91: this.prop_num91, + prop_num92: this.prop_num92, + prop_num93: this.prop_num93, + prop_num94: this.prop_num94, + prop_num95: this.prop_num95, + prop_num96: this.prop_num96, + prop_num97: this.prop_num97, + prop_num98: this.prop_num98, + prop_num99: this.prop_num99, + prop_num100: this.prop_num100, + prop_num101: this.prop_num101, + prop_num102: this.prop_num102, + prop_num103: this.prop_num103, + prop_num104: this.prop_num104, + prop_num105: this.prop_num105, + prop_num106: this.prop_num106, + prop_num107: this.prop_num107, + prop_num108: this.prop_num108, + prop_num109: this.prop_num109, + prop_num110: this.prop_num110, + prop_num111: this.prop_num111, + prop_num112: this.prop_num112, + prop_num113: this.prop_num113, + prop_num114: this.prop_num114, + prop_num115: this.prop_num115, + prop_num116: this.prop_num116, + prop_num117: this.prop_num117, + prop_num118: this.prop_num118, + prop_num119: this.prop_num119, + prop_num120: this.prop_num120, + prop_num121: this.prop_num121, + prop_num122: this.prop_num122, + prop_num123: this.prop_num123, + prop_num124: this.prop_num124, + prop_num125: this.prop_num125, + prop_num126: this.prop_num126, + prop_num127: this.prop_num127, + prop_num128: this.prop_num128, + prop_num129: this.prop_num129, + prop_num130: this.prop_num130, + prop_num131: this.prop_num131, + prop_num132: this.prop_num132, + prop_num133: this.prop_num133, + prop_num134: this.prop_num134, + prop_num135: this.prop_num135, + prop_num136: this.prop_num136, + prop_num137: this.prop_num137, + prop_num138: this.prop_num138, + prop_num139: this.prop_num139, + prop_num140: this.prop_num140, + prop_num141: this.prop_num141, + prop_num142: this.prop_num142, + prop_num143: this.prop_num143, + prop_num144: this.prop_num144, + prop_num145: this.prop_num145, + prop_num146: this.prop_num146, + prop_num147: this.prop_num147, + prop_num148: this.prop_num148, + prop_num149: this.prop_num149, + prop_num150: this.prop_num150, + prop_num151: this.prop_num151, + prop_num152: this.prop_num152, + prop_num153: this.prop_num153, + prop_num154: this.prop_num154, + prop_num155: this.prop_num155, + prop_num156: this.prop_num156, + prop_num157: this.prop_num157, + prop_num158: this.prop_num158, + prop_num159: this.prop_num159, + prop_num160: this.prop_num160, + prop_num161: this.prop_num161, + prop_num162: this.prop_num162, + prop_num163: this.prop_num163, + prop_num164: this.prop_num164, + prop_num165: this.prop_num165, + prop_num166: this.prop_num166, + prop_num167: this.prop_num167, + prop_num168: this.prop_num168, + prop_num169: this.prop_num169, + prop_num170: this.prop_num170, + prop_num171: this.prop_num171, + prop_num172: this.prop_num172, + prop_num173: this.prop_num173, + prop_num174: this.prop_num174, + prop_num175: this.prop_num175, + prop_num176: this.prop_num176, + prop_num177: this.prop_num177, + prop_num178: this.prop_num178, + prop_num179: this.prop_num179, + prop_num180: this.prop_num180, + prop_num181: this.prop_num181, + prop_num182: this.prop_num182, + prop_num183: this.prop_num183, + prop_num184: this.prop_num184, + prop_num185: this.prop_num185, + prop_num186: this.prop_num186, + prop_num187: this.prop_num187, + prop_num188: this.prop_num188, + prop_num189: this.prop_num189, + prop_num190: this.prop_num190, + prop_num191: this.prop_num191, + prop_num192: this.prop_num192, + prop_num193: this.prop_num193, + prop_num194: this.prop_num194, + prop_num195: this.prop_num195, + prop_num196: this.prop_num196, + prop_num197: this.prop_num197, + prop_num198: this.prop_num198, + prop_num199: this.prop_num199, + prop_num200: this.prop_num200, + prop_num201: this.prop_num201, + prop_num202: this.prop_num202, + prop_num203: this.prop_num203, + prop_num204: this.prop_num204, + prop_num205: this.prop_num205, + prop_num206: this.prop_num206, + prop_num207: this.prop_num207, + prop_num208: this.prop_num208, + prop_num209: this.prop_num209, + prop_num210: this.prop_num210, + prop_num211: this.prop_num211, + prop_num212: this.prop_num212, + prop_num213: this.prop_num213, + prop_num214: this.prop_num214, + prop_num215: this.prop_num215, + prop_num216: this.prop_num216, + prop_num217: this.prop_num217, + prop_num218: this.prop_num218, + prop_num219: this.prop_num219, + prop_num220: this.prop_num220, + prop_num221: this.prop_num221, + prop_num222: this.prop_num222, + prop_num223: this.prop_num223, + prop_num224: this.prop_num224, + prop_num225: this.prop_num225, + prop_num226: this.prop_num226, + prop_num227: this.prop_num227, + prop_num228: this.prop_num228, + prop_num229: this.prop_num229, + prop_num230: this.prop_num230, + prop_num231: this.prop_num231, + prop_num232: this.prop_num232, + prop_num233: this.prop_num233, + prop_num234: this.prop_num234, + prop_num235: this.prop_num235, + prop_num236: this.prop_num236, + prop_num237: this.prop_num237, + prop_num238: this.prop_num238, + prop_num239: this.prop_num239, + prop_num240: this.prop_num240, + prop_num241: this.prop_num241, + prop_num242: this.prop_num242, + prop_num243: this.prop_num243, + prop_num244: this.prop_num244, + prop_num245: this.prop_num245, + prop_num246: this.prop_num246, + prop_num247: this.prop_num247, + prop_num248: this.prop_num248, + prop_num249: this.prop_num249, + prop_num250: this.prop_num250, + prop_num251: this.prop_num251, + prop_num252: this.prop_num252, + prop_num253: this.prop_num253, + prop_num254: this.prop_num254, + prop_num255: this.prop_num255, + prop_num256: this.prop_num256, + prop_num257: this.prop_num257, + prop_num258: this.prop_num258, + prop_num259: this.prop_num259, + prop_num260: this.prop_num260, + prop_num261: this.prop_num261, + prop_num262: this.prop_num262, + prop_num263: this.prop_num263, + prop_num264: this.prop_num264, + prop_num265: this.prop_num265, + prop_num266: this.prop_num266, + prop_num267: this.prop_num267, + prop_num268: this.prop_num268, + prop_num269: this.prop_num269, + prop_num270: this.prop_num270, + prop_num271: this.prop_num271, + prop_num272: this.prop_num272, + prop_num273: this.prop_num273, + prop_num274: this.prop_num274, + prop_num275: this.prop_num275, + prop_num276: this.prop_num276, + prop_num277: this.prop_num277, + prop_num278: this.prop_num278, + prop_num279: this.prop_num279, + prop_num280: this.prop_num280, + prop_num281: this.prop_num281, + prop_num282: this.prop_num282, + prop_num283: this.prop_num283, + prop_num284: this.prop_num284, + prop_num285: this.prop_num285, + prop_num286: this.prop_num286, + prop_num287: this.prop_num287, + prop_num288: this.prop_num288, + prop_num289: this.prop_num289, + prop_num290: this.prop_num290, + prop_num291: this.prop_num291, + prop_num292: this.prop_num292, + prop_num293: this.prop_num293, + prop_num294: this.prop_num294, + prop_num295: this.prop_num295, + prop_num296: this.prop_num296, + prop_num297: this.prop_num297, + prop_num298: this.prop_num298, + prop_num299: this.prop_num299, + prop_num300: this.prop_num300, + prop_num301: this.prop_num301, + prop_num302: this.prop_num302, + prop_num303: this.prop_num303, + prop_num304: this.prop_num304, + prop_num305: this.prop_num305, + prop_num306: this.prop_num306, + prop_num307: this.prop_num307, + prop_num308: this.prop_num308, + prop_num309: this.prop_num309, + prop_num310: this.prop_num310, + prop_num311: this.prop_num311, + prop_num312: this.prop_num312, + prop_num313: this.prop_num313, + prop_num314: this.prop_num314, + prop_num315: this.prop_num315, + prop_num316: this.prop_num316, + prop_num317: this.prop_num317, + prop_num318: this.prop_num318, + prop_num319: this.prop_num319, + prop_num320: this.prop_num320, + prop_num321: this.prop_num321, + prop_num322: this.prop_num322, + prop_num323: this.prop_num323, + prop_num324: this.prop_num324, + prop_num325: this.prop_num325, + prop_num326: this.prop_num326, + prop_num327: this.prop_num327, + prop_num328: this.prop_num328, + prop_num329: this.prop_num329, + prop_num330: this.prop_num330, + prop_num331: this.prop_num331, + prop_num332: this.prop_num332, + + } + ) + + //============================================================================= + LinkVariables( + { + link_num0: this.link_num0, + link_num1: this.link_num1, + link_num2: this.link_num2, + link_num3: this.link_num3, + link_num4: this.link_num4, + link_num5: this.link_num5, + link_num6: this.link_num6, + link_num7: this.link_num7, + link_num8: this.link_num8, + link_num9: this.link_num9, + link_num10: this.link_num10, + link_num11: this.link_num11, + link_num12: this.link_num12, + link_num13: this.link_num13, + link_num14: this.link_num14, + link_num15: this.link_num15, + link_num16: this.link_num16, + link_num17: this.link_num17, + link_num18: this.link_num18, + link_num19: this.link_num19, + link_num20: this.link_num20, + link_num21: this.link_num21, + link_num22: this.link_num22, + link_num23: this.link_num23, + link_num24: this.link_num24, + link_num25: this.link_num25, + link_num26: this.link_num26, + link_num27: this.link_num27, + link_num28: this.link_num28, + link_num29: this.link_num29, + link_num30: this.link_num30, + link_num31: this.link_num31, + link_num32: this.link_num32, + link_num33: this.link_num33, + link_num34: this.link_num34, + link_num35: this.link_num35, + link_num36: this.link_num36, + link_num37: this.link_num37, + link_num38: this.link_num38, + link_num39: this.link_num39, + link_num40: this.link_num40, + link_num41: this.link_num41, + link_num42: this.link_num42, + link_num43: this.link_num43, + link_num44: this.link_num44, + link_num45: this.link_num45, + link_num46: this.link_num46, + link_num47: this.link_num47, + link_num48: this.link_num48, + link_num49: this.link_num49, + link_num50: this.link_num50, + link_num51: this.link_num51, + link_num52: this.link_num52, + link_num53: this.link_num53, + link_num54: this.link_num54, + link_num55: this.link_num55, + link_num56: this.link_num56, + link_num57: this.link_num57, + link_num58: this.link_num58, + link_num59: this.link_num59, + link_num60: this.link_num60, + link_num61: this.link_num61, + link_num62: this.link_num62, + link_num63: this.link_num63, + link_num64: this.link_num64, + link_num65: this.link_num65, + link_num66: this.link_num66, + link_num67: this.link_num67, + link_num68: this.link_num68, + link_num69: this.link_num69, + link_num70: this.link_num70, + link_num71: this.link_num71, + link_num72: this.link_num72, + link_num73: this.link_num73, + link_num74: this.link_num74, + link_num75: this.link_num75, + link_num76: this.link_num76, + link_num77: this.link_num77, + link_num78: this.link_num78, + link_num79: this.link_num79, + link_num80: this.link_num80, + link_num81: this.link_num81, + link_num82: this.link_num82, + link_num83: this.link_num83, + link_num84: this.link_num84, + link_num85: this.link_num85, + link_num86: this.link_num86, + link_num87: this.link_num87, + link_num88: this.link_num88, + link_num89: this.link_num89, + link_num90: this.link_num90, + link_num91: this.link_num91, + link_num92: this.link_num92, + link_num93: this.link_num93, + link_num94: this.link_num94, + link_num95: this.link_num95, + link_num96: this.link_num96, + link_num97: this.link_num97, + link_num98: this.link_num98, + link_num99: this.link_num99, + link_num100: this.link_num100, + link_num101: this.link_num101, + link_num102: this.link_num102, + link_num103: this.link_num103, + link_num104: this.link_num104, + link_num105: this.link_num105, + link_num106: this.link_num106, + link_num107: this.link_num107, + link_num108: this.link_num108, + link_num109: this.link_num109, + link_num110: this.link_num110, + link_num111: this.link_num111, + link_num112: this.link_num112, + link_num113: this.link_num113, + link_num114: this.link_num114, + link_num115: this.link_num115, + link_num116: this.link_num116, + link_num117: this.link_num117, + link_num118: this.link_num118, + link_num119: this.link_num119, + link_num120: this.link_num120, + link_num121: this.link_num121, + link_num122: this.link_num122, + link_num123: this.link_num123, + link_num124: this.link_num124, + link_num125: this.link_num125, + link_num126: this.link_num126, + link_num127: this.link_num127, + link_num128: this.link_num128, + link_num129: this.link_num129, + link_num130: this.link_num130, + link_num131: this.link_num131, + link_num132: this.link_num132, + link_num133: this.link_num133, + link_num134: this.link_num134, + link_num135: this.link_num135, + link_num136: this.link_num136, + link_num137: this.link_num137, + link_num138: this.link_num138, + link_num139: this.link_num139, + link_num140: this.link_num140, + link_num141: this.link_num141, + link_num142: this.link_num142, + link_num143: this.link_num143, + link_num144: this.link_num144, + link_num145: this.link_num145, + link_num146: this.link_num146, + link_num147: this.link_num147, + link_num148: this.link_num148, + link_num149: this.link_num149, + link_num150: this.link_num150, + link_num151: this.link_num151, + link_num152: this.link_num152, + link_num153: this.link_num153, + link_num154: this.link_num154, + link_num155: this.link_num155, + link_num156: this.link_num156, + link_num157: this.link_num157, + link_num158: this.link_num158, + link_num159: this.link_num159, + link_num160: this.link_num160, + link_num161: this.link_num161, + link_num162: this.link_num162, + link_num163: this.link_num163, + link_num164: this.link_num164, + link_num165: this.link_num165, + link_num166: this.link_num166, + link_num167: this.link_num167, + link_num168: this.link_num168, + link_num169: this.link_num169, + link_num170: this.link_num170, + link_num171: this.link_num171, + link_num172: this.link_num172, + link_num173: this.link_num173, + link_num174: this.link_num174, + link_num175: this.link_num175, + link_num176: this.link_num176, + link_num177: this.link_num177, + link_num178: this.link_num178, + link_num179: this.link_num179, + link_num180: this.link_num180, + link_num181: this.link_num181, + link_num182: this.link_num182, + link_num183: this.link_num183, + link_num184: this.link_num184, + link_num185: this.link_num185, + link_num186: this.link_num186, + link_num187: this.link_num187, + link_num188: this.link_num188, + link_num189: this.link_num189, + link_num190: this.link_num190, + link_num191: this.link_num191, + link_num192: this.link_num192, + link_num193: this.link_num193, + link_num194: this.link_num194, + link_num195: this.link_num195, + link_num196: this.link_num196, + link_num197: this.link_num197, + link_num198: this.link_num198, + link_num199: this.link_num199, + link_num200: this.link_num200, + link_num201: this.link_num201, + link_num202: this.link_num202, + link_num203: this.link_num203, + link_num204: this.link_num204, + link_num205: this.link_num205, + link_num206: this.link_num206, + link_num207: this.link_num207, + link_num208: this.link_num208, + link_num209: this.link_num209, + link_num210: this.link_num210, + link_num211: this.link_num211, + link_num212: this.link_num212, + link_num213: this.link_num213, + link_num214: this.link_num214, + link_num215: this.link_num215, + link_num216: this.link_num216, + link_num217: this.link_num217, + link_num218: this.link_num218, + link_num219: this.link_num219, + link_num220: this.link_num220, + link_num221: this.link_num221, + link_num222: this.link_num222, + link_num223: this.link_num223, + link_num224: this.link_num224, + link_num225: this.link_num225, + link_num226: this.link_num226, + link_num227: this.link_num227, + link_num228: this.link_num228, + link_num229: this.link_num229, + link_num230: this.link_num230, + link_num231: this.link_num231, + link_num232: this.link_num232, + link_num233: this.link_num233, + link_num234: this.link_num234, + link_num235: this.link_num235, + link_num236: this.link_num236, + link_num237: this.link_num237, + link_num238: this.link_num238, + link_num239: this.link_num239, + link_num240: this.link_num240, + link_num241: this.link_num241, + link_num242: this.link_num242, + link_num243: this.link_num243, + link_num244: this.link_num244, + link_num245: this.link_num245, + link_num246: this.link_num246, + link_num247: this.link_num247, + link_num248: this.link_num248, + link_num249: this.link_num249, + link_num250: this.link_num250, + link_num251: this.link_num251, + link_num252: this.link_num252, + link_num253: this.link_num253, + link_num254: this.link_num254, + link_num255: this.link_num255, + link_num256: this.link_num256, + link_num257: this.link_num257, + link_num258: this.link_num258, + link_num259: this.link_num259, + link_num260: this.link_num260, + link_num261: this.link_num261, + link_num262: this.link_num262, + link_num263: this.link_num263, + link_num264: this.link_num264, + link_num265: this.link_num265, + link_num266: this.link_num266, + link_num267: this.link_num267, + link_num268: this.link_num268, + link_num269: this.link_num269, + link_num270: this.link_num270, + link_num271: this.link_num271, + link_num272: this.link_num272, + link_num273: this.link_num273, + link_num274: this.link_num274, + link_num275: this.link_num275, + link_num276: this.link_num276, + link_num277: this.link_num277, + link_num278: this.link_num278, + link_num279: this.link_num279, + link_num280: this.link_num280, + link_num281: this.link_num281, + link_num282: this.link_num282, + link_num283: this.link_num283, + link_num284: this.link_num284, + link_num285: this.link_num285, + link_num286: this.link_num286, + link_num287: this.link_num287, + link_num288: this.link_num288, + link_num289: this.link_num289, + link_num290: this.link_num290, + link_num291: this.link_num291, + link_num292: this.link_num292, + link_num293: this.link_num293, + link_num294: this.link_num294, + link_num295: this.link_num295, + link_num296: this.link_num296, + link_num297: this.link_num297, + link_num298: this.link_num298, + link_num299: this.link_num299, + link_num300: this.link_num300, + link_num301: this.link_num301, + link_num302: this.link_num302, + link_num303: this.link_num303, + link_num304: this.link_num304, + link_num305: this.link_num305, + link_num306: this.link_num306, + link_num307: this.link_num307, + link_num308: this.link_num308, + link_num309: this.link_num309, + link_num310: this.link_num310, + link_num311: this.link_num311, + link_num312: this.link_num312, + link_num313: this.link_num313, + link_num314: this.link_num314, + link_num315: this.link_num315, + link_num316: this.link_num316, + link_num317: this.link_num317, + link_num318: this.link_num318, + link_num319: this.link_num319, + link_num320: this.link_num320, + link_num321: this.link_num321, + link_num322: this.link_num322, + link_num323: this.link_num323, + link_num324: this.link_num324, + link_num325: this.link_num325, + link_num326: this.link_num326, + link_num327: this.link_num327, + link_num328: this.link_num328, + link_num329: this.link_num329, + link_num330: this.link_num330, + link_num331: this.link_num331, + link_num332: this.link_num332, + + } + ) + + //============================================================================= + ConsumeVariables() + } + } +} + +@Component +struct PropVariables { + //============================================================================= + @Prop prop_num0: number = 0; + @Prop prop_num1: number = 0; + @Prop prop_num2: number = 0; + @Prop prop_num3: number = 0; + @Prop prop_num4: number = 0; + @Prop prop_num5: number = 0; + @Prop prop_num6: number = 0; + @Prop prop_num7: number = 0; + @Prop prop_num8: number = 0; + @Prop prop_num9: number = 0; + @Prop prop_num10: number = 0; + @Prop prop_num11: number = 0; + @Prop prop_num12: number = 0; + @Prop prop_num13: number = 0; + @Prop prop_num14: number = 0; + @Prop prop_num15: number = 0; + @Prop prop_num16: number = 0; + @Prop prop_num17: number = 0; + @Prop prop_num18: number = 0; + @Prop prop_num19: number = 0; + @Prop prop_num20: number = 0; + @Prop prop_num21: number = 0; + @Prop prop_num22: number = 0; + @Prop prop_num23: number = 0; + @Prop prop_num24: number = 0; + @Prop prop_num25: number = 0; + @Prop prop_num26: number = 0; + @Prop prop_num27: number = 0; + @Prop prop_num28: number = 0; + @Prop prop_num29: number = 0; + @Prop prop_num30: number = 0; + @Prop prop_num31: number = 0; + @Prop prop_num32: number = 0; + @Prop prop_num33: number = 0; + @Prop prop_num34: number = 0; + @Prop prop_num35: number = 0; + @Prop prop_num36: number = 0; + @Prop prop_num37: number = 0; + @Prop prop_num38: number = 0; + @Prop prop_num39: number = 0; + @Prop prop_num40: number = 0; + @Prop prop_num41: number = 0; + @Prop prop_num42: number = 0; + @Prop prop_num43: number = 0; + @Prop prop_num44: number = 0; + @Prop prop_num45: number = 0; + @Prop prop_num46: number = 0; + @Prop prop_num47: number = 0; + @Prop prop_num48: number = 0; + @Prop prop_num49: number = 0; + @Prop prop_num50: number = 0; + @Prop prop_num51: number = 0; + @Prop prop_num52: number = 0; + @Prop prop_num53: number = 0; + @Prop prop_num54: number = 0; + @Prop prop_num55: number = 0; + @Prop prop_num56: number = 0; + @Prop prop_num57: number = 0; + @Prop prop_num58: number = 0; + @Prop prop_num59: number = 0; + @Prop prop_num60: number = 0; + @Prop prop_num61: number = 0; + @Prop prop_num62: number = 0; + @Prop prop_num63: number = 0; + @Prop prop_num64: number = 0; + @Prop prop_num65: number = 0; + @Prop prop_num66: number = 0; + @Prop prop_num67: number = 0; + @Prop prop_num68: number = 0; + @Prop prop_num69: number = 0; + @Prop prop_num70: number = 0; + @Prop prop_num71: number = 0; + @Prop prop_num72: number = 0; + @Prop prop_num73: number = 0; + @Prop prop_num74: number = 0; + @Prop prop_num75: number = 0; + @Prop prop_num76: number = 0; + @Prop prop_num77: number = 0; + @Prop prop_num78: number = 0; + @Prop prop_num79: number = 0; + @Prop prop_num80: number = 0; + @Prop prop_num81: number = 0; + @Prop prop_num82: number = 0; + @Prop prop_num83: number = 0; + @Prop prop_num84: number = 0; + @Prop prop_num85: number = 0; + @Prop prop_num86: number = 0; + @Prop prop_num87: number = 0; + @Prop prop_num88: number = 0; + @Prop prop_num89: number = 0; + @Prop prop_num90: number = 0; + @Prop prop_num91: number = 0; + @Prop prop_num92: number = 0; + @Prop prop_num93: number = 0; + @Prop prop_num94: number = 0; + @Prop prop_num95: number = 0; + @Prop prop_num96: number = 0; + @Prop prop_num97: number = 0; + @Prop prop_num98: number = 0; + @Prop prop_num99: number = 0; + @Prop prop_num100: number = 0; + @Prop prop_num101: number = 0; + @Prop prop_num102: number = 0; + @Prop prop_num103: number = 0; + @Prop prop_num104: number = 0; + @Prop prop_num105: number = 0; + @Prop prop_num106: number = 0; + @Prop prop_num107: number = 0; + @Prop prop_num108: number = 0; + @Prop prop_num109: number = 0; + @Prop prop_num110: number = 0; + @Prop prop_num111: number = 0; + @Prop prop_num112: number = 0; + @Prop prop_num113: number = 0; + @Prop prop_num114: number = 0; + @Prop prop_num115: number = 0; + @Prop prop_num116: number = 0; + @Prop prop_num117: number = 0; + @Prop prop_num118: number = 0; + @Prop prop_num119: number = 0; + @Prop prop_num120: number = 0; + @Prop prop_num121: number = 0; + @Prop prop_num122: number = 0; + @Prop prop_num123: number = 0; + @Prop prop_num124: number = 0; + @Prop prop_num125: number = 0; + @Prop prop_num126: number = 0; + @Prop prop_num127: number = 0; + @Prop prop_num128: number = 0; + @Prop prop_num129: number = 0; + @Prop prop_num130: number = 0; + @Prop prop_num131: number = 0; + @Prop prop_num132: number = 0; + @Prop prop_num133: number = 0; + @Prop prop_num134: number = 0; + @Prop prop_num135: number = 0; + @Prop prop_num136: number = 0; + @Prop prop_num137: number = 0; + @Prop prop_num138: number = 0; + @Prop prop_num139: number = 0; + @Prop prop_num140: number = 0; + @Prop prop_num141: number = 0; + @Prop prop_num142: number = 0; + @Prop prop_num143: number = 0; + @Prop prop_num144: number = 0; + @Prop prop_num145: number = 0; + @Prop prop_num146: number = 0; + @Prop prop_num147: number = 0; + @Prop prop_num148: number = 0; + @Prop prop_num149: number = 0; + @Prop prop_num150: number = 0; + @Prop prop_num151: number = 0; + @Prop prop_num152: number = 0; + @Prop prop_num153: number = 0; + @Prop prop_num154: number = 0; + @Prop prop_num155: number = 0; + @Prop prop_num156: number = 0; + @Prop prop_num157: number = 0; + @Prop prop_num158: number = 0; + @Prop prop_num159: number = 0; + @Prop prop_num160: number = 0; + @Prop prop_num161: number = 0; + @Prop prop_num162: number = 0; + @Prop prop_num163: number = 0; + @Prop prop_num164: number = 0; + @Prop prop_num165: number = 0; + @Prop prop_num166: number = 0; + @Prop prop_num167: number = 0; + @Prop prop_num168: number = 0; + @Prop prop_num169: number = 0; + @Prop prop_num170: number = 0; + @Prop prop_num171: number = 0; + @Prop prop_num172: number = 0; + @Prop prop_num173: number = 0; + @Prop prop_num174: number = 0; + @Prop prop_num175: number = 0; + @Prop prop_num176: number = 0; + @Prop prop_num177: number = 0; + @Prop prop_num178: number = 0; + @Prop prop_num179: number = 0; + @Prop prop_num180: number = 0; + @Prop prop_num181: number = 0; + @Prop prop_num182: number = 0; + @Prop prop_num183: number = 0; + @Prop prop_num184: number = 0; + @Prop prop_num185: number = 0; + @Prop prop_num186: number = 0; + @Prop prop_num187: number = 0; + @Prop prop_num188: number = 0; + @Prop prop_num189: number = 0; + @Prop prop_num190: number = 0; + @Prop prop_num191: number = 0; + @Prop prop_num192: number = 0; + @Prop prop_num193: number = 0; + @Prop prop_num194: number = 0; + @Prop prop_num195: number = 0; + @Prop prop_num196: number = 0; + @Prop prop_num197: number = 0; + @Prop prop_num198: number = 0; + @Prop prop_num199: number = 0; + @Prop prop_num200: number = 0; + @Prop prop_num201: number = 0; + @Prop prop_num202: number = 0; + @Prop prop_num203: number = 0; + @Prop prop_num204: number = 0; + @Prop prop_num205: number = 0; + @Prop prop_num206: number = 0; + @Prop prop_num207: number = 0; + @Prop prop_num208: number = 0; + @Prop prop_num209: number = 0; + @Prop prop_num210: number = 0; + @Prop prop_num211: number = 0; + @Prop prop_num212: number = 0; + @Prop prop_num213: number = 0; + @Prop prop_num214: number = 0; + @Prop prop_num215: number = 0; + @Prop prop_num216: number = 0; + @Prop prop_num217: number = 0; + @Prop prop_num218: number = 0; + @Prop prop_num219: number = 0; + @Prop prop_num220: number = 0; + @Prop prop_num221: number = 0; + @Prop prop_num222: number = 0; + @Prop prop_num223: number = 0; + @Prop prop_num224: number = 0; + @Prop prop_num225: number = 0; + @Prop prop_num226: number = 0; + @Prop prop_num227: number = 0; + @Prop prop_num228: number = 0; + @Prop prop_num229: number = 0; + @Prop prop_num230: number = 0; + @Prop prop_num231: number = 0; + @Prop prop_num232: number = 0; + @Prop prop_num233: number = 0; + @Prop prop_num234: number = 0; + @Prop prop_num235: number = 0; + @Prop prop_num236: number = 0; + @Prop prop_num237: number = 0; + @Prop prop_num238: number = 0; + @Prop prop_num239: number = 0; + @Prop prop_num240: number = 0; + @Prop prop_num241: number = 0; + @Prop prop_num242: number = 0; + @Prop prop_num243: number = 0; + @Prop prop_num244: number = 0; + @Prop prop_num245: number = 0; + @Prop prop_num246: number = 0; + @Prop prop_num247: number = 0; + @Prop prop_num248: number = 0; + @Prop prop_num249: number = 0; + @Prop prop_num250: number = 0; + @Prop prop_num251: number = 0; + @Prop prop_num252: number = 0; + @Prop prop_num253: number = 0; + @Prop prop_num254: number = 0; + @Prop prop_num255: number = 0; + @Prop prop_num256: number = 0; + @Prop prop_num257: number = 0; + @Prop prop_num258: number = 0; + @Prop prop_num259: number = 0; + @Prop prop_num260: number = 0; + @Prop prop_num261: number = 0; + @Prop prop_num262: number = 0; + @Prop prop_num263: number = 0; + @Prop prop_num264: number = 0; + @Prop prop_num265: number = 0; + @Prop prop_num266: number = 0; + @Prop prop_num267: number = 0; + @Prop prop_num268: number = 0; + @Prop prop_num269: number = 0; + @Prop prop_num270: number = 0; + @Prop prop_num271: number = 0; + @Prop prop_num272: number = 0; + @Prop prop_num273: number = 0; + @Prop prop_num274: number = 0; + @Prop prop_num275: number = 0; + @Prop prop_num276: number = 0; + @Prop prop_num277: number = 0; + @Prop prop_num278: number = 0; + @Prop prop_num279: number = 0; + @Prop prop_num280: number = 0; + @Prop prop_num281: number = 0; + @Prop prop_num282: number = 0; + @Prop prop_num283: number = 0; + @Prop prop_num284: number = 0; + @Prop prop_num285: number = 0; + @Prop prop_num286: number = 0; + @Prop prop_num287: number = 0; + @Prop prop_num288: number = 0; + @Prop prop_num289: number = 0; + @Prop prop_num290: number = 0; + @Prop prop_num291: number = 0; + @Prop prop_num292: number = 0; + @Prop prop_num293: number = 0; + @Prop prop_num294: number = 0; + @Prop prop_num295: number = 0; + @Prop prop_num296: number = 0; + @Prop prop_num297: number = 0; + @Prop prop_num298: number = 0; + @Prop prop_num299: number = 0; + @Prop prop_num300: number = 0; + @Prop prop_num301: number = 0; + @Prop prop_num302: number = 0; + @Prop prop_num303: number = 0; + @Prop prop_num304: number = 0; + @Prop prop_num305: number = 0; + @Prop prop_num306: number = 0; + @Prop prop_num307: number = 0; + @Prop prop_num308: number = 0; + @Prop prop_num309: number = 0; + @Prop prop_num310: number = 0; + @Prop prop_num311: number = 0; + @Prop prop_num312: number = 0; + @Prop prop_num313: number = 0; + @Prop prop_num314: number = 0; + @Prop prop_num315: number = 0; + @Prop prop_num316: number = 0; + @Prop prop_num317: number = 0; + @Prop prop_num318: number = 0; + @Prop prop_num319: number = 0; + @Prop prop_num320: number = 0; + @Prop prop_num321: number = 0; + @Prop prop_num322: number = 0; + @Prop prop_num323: number = 0; + @Prop prop_num324: number = 0; + @Prop prop_num325: number = 0; + @Prop prop_num326: number = 0; + @Prop prop_num327: number = 0; + @Prop prop_num328: number = 0; + @Prop prop_num329: number = 0; + @Prop prop_num330: number = 0; + @Prop prop_num331: number = 0; + @Prop prop_num332: number = 0; + + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.prop_num0++; + this.prop_num1++; + this.prop_num2++; + this.prop_num3++; + this.prop_num4++; + this.prop_num5++; + this.prop_num6++; + this.prop_num7++; + this.prop_num8++; + this.prop_num9++; + this.prop_num10++; + this.prop_num11++; + this.prop_num12++; + this.prop_num13++; + this.prop_num14++; + this.prop_num15++; + this.prop_num16++; + this.prop_num17++; + this.prop_num18++; + this.prop_num19++; + this.prop_num20++; + this.prop_num21++; + this.prop_num22++; + this.prop_num23++; + this.prop_num24++; + this.prop_num25++; + this.prop_num26++; + this.prop_num27++; + this.prop_num28++; + this.prop_num29++; + this.prop_num30++; + this.prop_num31++; + this.prop_num32++; + this.prop_num33++; + this.prop_num34++; + this.prop_num35++; + this.prop_num36++; + this.prop_num37++; + this.prop_num38++; + this.prop_num39++; + this.prop_num40++; + this.prop_num41++; + this.prop_num42++; + this.prop_num43++; + this.prop_num44++; + this.prop_num45++; + this.prop_num46++; + this.prop_num47++; + this.prop_num48++; + this.prop_num49++; + this.prop_num50++; + this.prop_num51++; + this.prop_num52++; + this.prop_num53++; + this.prop_num54++; + this.prop_num55++; + this.prop_num56++; + this.prop_num57++; + this.prop_num58++; + this.prop_num59++; + this.prop_num60++; + this.prop_num61++; + this.prop_num62++; + this.prop_num63++; + this.prop_num64++; + this.prop_num65++; + this.prop_num66++; + this.prop_num67++; + this.prop_num68++; + this.prop_num69++; + this.prop_num70++; + this.prop_num71++; + this.prop_num72++; + this.prop_num73++; + this.prop_num74++; + this.prop_num75++; + this.prop_num76++; + this.prop_num77++; + this.prop_num78++; + this.prop_num79++; + this.prop_num80++; + this.prop_num81++; + this.prop_num82++; + this.prop_num83++; + this.prop_num84++; + this.prop_num85++; + this.prop_num86++; + this.prop_num87++; + this.prop_num88++; + this.prop_num89++; + this.prop_num90++; + this.prop_num91++; + this.prop_num92++; + this.prop_num93++; + this.prop_num94++; + this.prop_num95++; + this.prop_num96++; + this.prop_num97++; + this.prop_num98++; + this.prop_num99++; + this.prop_num100++; + this.prop_num101++; + this.prop_num102++; + this.prop_num103++; + this.prop_num104++; + this.prop_num105++; + this.prop_num106++; + this.prop_num107++; + this.prop_num108++; + this.prop_num109++; + this.prop_num110++; + this.prop_num111++; + this.prop_num112++; + this.prop_num113++; + this.prop_num114++; + this.prop_num115++; + this.prop_num116++; + this.prop_num117++; + this.prop_num118++; + this.prop_num119++; + this.prop_num120++; + this.prop_num121++; + this.prop_num122++; + this.prop_num123++; + this.prop_num124++; + this.prop_num125++; + this.prop_num126++; + this.prop_num127++; + this.prop_num128++; + this.prop_num129++; + this.prop_num130++; + this.prop_num131++; + this.prop_num132++; + this.prop_num133++; + this.prop_num134++; + this.prop_num135++; + this.prop_num136++; + this.prop_num137++; + this.prop_num138++; + this.prop_num139++; + this.prop_num140++; + this.prop_num141++; + this.prop_num142++; + this.prop_num143++; + this.prop_num144++; + this.prop_num145++; + this.prop_num146++; + this.prop_num147++; + this.prop_num148++; + this.prop_num149++; + this.prop_num150++; + this.prop_num151++; + this.prop_num152++; + this.prop_num153++; + this.prop_num154++; + this.prop_num155++; + this.prop_num156++; + this.prop_num157++; + this.prop_num158++; + this.prop_num159++; + this.prop_num160++; + this.prop_num161++; + this.prop_num162++; + this.prop_num163++; + this.prop_num164++; + this.prop_num165++; + this.prop_num166++; + this.prop_num167++; + this.prop_num168++; + this.prop_num169++; + this.prop_num170++; + this.prop_num171++; + this.prop_num172++; + this.prop_num173++; + this.prop_num174++; + this.prop_num175++; + this.prop_num176++; + this.prop_num177++; + this.prop_num178++; + this.prop_num179++; + this.prop_num180++; + this.prop_num181++; + this.prop_num182++; + this.prop_num183++; + this.prop_num184++; + this.prop_num185++; + this.prop_num186++; + this.prop_num187++; + this.prop_num188++; + this.prop_num189++; + this.prop_num190++; + this.prop_num191++; + this.prop_num192++; + this.prop_num193++; + this.prop_num194++; + this.prop_num195++; + this.prop_num196++; + this.prop_num197++; + this.prop_num198++; + this.prop_num199++; + this.prop_num200++; + this.prop_num201++; + this.prop_num202++; + this.prop_num203++; + this.prop_num204++; + this.prop_num205++; + this.prop_num206++; + this.prop_num207++; + this.prop_num208++; + this.prop_num209++; + this.prop_num210++; + this.prop_num211++; + this.prop_num212++; + this.prop_num213++; + this.prop_num214++; + this.prop_num215++; + this.prop_num216++; + this.prop_num217++; + this.prop_num218++; + this.prop_num219++; + this.prop_num220++; + this.prop_num221++; + this.prop_num222++; + this.prop_num223++; + this.prop_num224++; + this.prop_num225++; + this.prop_num226++; + this.prop_num227++; + this.prop_num228++; + this.prop_num229++; + this.prop_num230++; + this.prop_num231++; + this.prop_num232++; + this.prop_num233++; + this.prop_num234++; + this.prop_num235++; + this.prop_num236++; + this.prop_num237++; + this.prop_num238++; + this.prop_num239++; + this.prop_num240++; + this.prop_num241++; + this.prop_num242++; + this.prop_num243++; + this.prop_num244++; + this.prop_num245++; + this.prop_num246++; + this.prop_num247++; + this.prop_num248++; + this.prop_num249++; + this.prop_num250++; + this.prop_num251++; + this.prop_num252++; + this.prop_num253++; + this.prop_num254++; + this.prop_num255++; + this.prop_num256++; + this.prop_num257++; + this.prop_num258++; + this.prop_num259++; + this.prop_num260++; + this.prop_num261++; + this.prop_num262++; + this.prop_num263++; + this.prop_num264++; + this.prop_num265++; + this.prop_num266++; + this.prop_num267++; + this.prop_num268++; + this.prop_num269++; + this.prop_num270++; + this.prop_num271++; + this.prop_num272++; + this.prop_num273++; + this.prop_num274++; + this.prop_num275++; + this.prop_num276++; + this.prop_num277++; + this.prop_num278++; + this.prop_num279++; + this.prop_num280++; + this.prop_num281++; + this.prop_num282++; + this.prop_num283++; + this.prop_num284++; + this.prop_num285++; + this.prop_num286++; + this.prop_num287++; + this.prop_num288++; + this.prop_num289++; + this.prop_num290++; + this.prop_num291++; + this.prop_num292++; + this.prop_num293++; + this.prop_num294++; + this.prop_num295++; + this.prop_num296++; + this.prop_num297++; + this.prop_num298++; + this.prop_num299++; + this.prop_num300++; + this.prop_num301++; + this.prop_num302++; + this.prop_num303++; + this.prop_num304++; + this.prop_num305++; + this.prop_num306++; + this.prop_num307++; + this.prop_num308++; + this.prop_num309++; + this.prop_num310++; + this.prop_num311++; + this.prop_num312++; + this.prop_num313++; + this.prop_num314++; + this.prop_num315++; + this.prop_num316++; + this.prop_num317++; + this.prop_num318++; + this.prop_num319++; + this.prop_num320++; + this.prop_num321++; + this.prop_num322++; + this.prop_num323++; + this.prop_num324++; + this.prop_num325++; + this.prop_num326++; + this.prop_num327++; + this.prop_num328++; + this.prop_num329++; + this.prop_num330++; + this.prop_num331++; + this.prop_num332++; + + }) + } + } +} + +@Component +struct LinkVariables { + @Link link_num0: number = 0; + @Link link_num1: number = 0; + @Link link_num2: number = 0; + @Link link_num3: number = 0; + @Link link_num4: number = 0; + @Link link_num5: number = 0; + @Link link_num6: number = 0; + @Link link_num7: number = 0; + @Link link_num8: number = 0; + @Link link_num9: number = 0; + @Link link_num10: number = 0; + @Link link_num11: number = 0; + @Link link_num12: number = 0; + @Link link_num13: number = 0; + @Link link_num14: number = 0; + @Link link_num15: number = 0; + @Link link_num16: number = 0; + @Link link_num17: number = 0; + @Link link_num18: number = 0; + @Link link_num19: number = 0; + @Link link_num20: number = 0; + @Link link_num21: number = 0; + @Link link_num22: number = 0; + @Link link_num23: number = 0; + @Link link_num24: number = 0; + @Link link_num25: number = 0; + @Link link_num26: number = 0; + @Link link_num27: number = 0; + @Link link_num28: number = 0; + @Link link_num29: number = 0; + @Link link_num30: number = 0; + @Link link_num31: number = 0; + @Link link_num32: number = 0; + @Link link_num33: number = 0; + @Link link_num34: number = 0; + @Link link_num35: number = 0; + @Link link_num36: number = 0; + @Link link_num37: number = 0; + @Link link_num38: number = 0; + @Link link_num39: number = 0; + @Link link_num40: number = 0; + @Link link_num41: number = 0; + @Link link_num42: number = 0; + @Link link_num43: number = 0; + @Link link_num44: number = 0; + @Link link_num45: number = 0; + @Link link_num46: number = 0; + @Link link_num47: number = 0; + @Link link_num48: number = 0; + @Link link_num49: number = 0; + @Link link_num50: number = 0; + @Link link_num51: number = 0; + @Link link_num52: number = 0; + @Link link_num53: number = 0; + @Link link_num54: number = 0; + @Link link_num55: number = 0; + @Link link_num56: number = 0; + @Link link_num57: number = 0; + @Link link_num58: number = 0; + @Link link_num59: number = 0; + @Link link_num60: number = 0; + @Link link_num61: number = 0; + @Link link_num62: number = 0; + @Link link_num63: number = 0; + @Link link_num64: number = 0; + @Link link_num65: number = 0; + @Link link_num66: number = 0; + @Link link_num67: number = 0; + @Link link_num68: number = 0; + @Link link_num69: number = 0; + @Link link_num70: number = 0; + @Link link_num71: number = 0; + @Link link_num72: number = 0; + @Link link_num73: number = 0; + @Link link_num74: number = 0; + @Link link_num75: number = 0; + @Link link_num76: number = 0; + @Link link_num77: number = 0; + @Link link_num78: number = 0; + @Link link_num79: number = 0; + @Link link_num80: number = 0; + @Link link_num81: number = 0; + @Link link_num82: number = 0; + @Link link_num83: number = 0; + @Link link_num84: number = 0; + @Link link_num85: number = 0; + @Link link_num86: number = 0; + @Link link_num87: number = 0; + @Link link_num88: number = 0; + @Link link_num89: number = 0; + @Link link_num90: number = 0; + @Link link_num91: number = 0; + @Link link_num92: number = 0; + @Link link_num93: number = 0; + @Link link_num94: number = 0; + @Link link_num95: number = 0; + @Link link_num96: number = 0; + @Link link_num97: number = 0; + @Link link_num98: number = 0; + @Link link_num99: number = 0; + @Link link_num100: number = 0; + @Link link_num101: number = 0; + @Link link_num102: number = 0; + @Link link_num103: number = 0; + @Link link_num104: number = 0; + @Link link_num105: number = 0; + @Link link_num106: number = 0; + @Link link_num107: number = 0; + @Link link_num108: number = 0; + @Link link_num109: number = 0; + @Link link_num110: number = 0; + @Link link_num111: number = 0; + @Link link_num112: number = 0; + @Link link_num113: number = 0; + @Link link_num114: number = 0; + @Link link_num115: number = 0; + @Link link_num116: number = 0; + @Link link_num117: number = 0; + @Link link_num118: number = 0; + @Link link_num119: number = 0; + @Link link_num120: number = 0; + @Link link_num121: number = 0; + @Link link_num122: number = 0; + @Link link_num123: number = 0; + @Link link_num124: number = 0; + @Link link_num125: number = 0; + @Link link_num126: number = 0; + @Link link_num127: number = 0; + @Link link_num128: number = 0; + @Link link_num129: number = 0; + @Link link_num130: number = 0; + @Link link_num131: number = 0; + @Link link_num132: number = 0; + @Link link_num133: number = 0; + @Link link_num134: number = 0; + @Link link_num135: number = 0; + @Link link_num136: number = 0; + @Link link_num137: number = 0; + @Link link_num138: number = 0; + @Link link_num139: number = 0; + @Link link_num140: number = 0; + @Link link_num141: number = 0; + @Link link_num142: number = 0; + @Link link_num143: number = 0; + @Link link_num144: number = 0; + @Link link_num145: number = 0; + @Link link_num146: number = 0; + @Link link_num147: number = 0; + @Link link_num148: number = 0; + @Link link_num149: number = 0; + @Link link_num150: number = 0; + @Link link_num151: number = 0; + @Link link_num152: number = 0; + @Link link_num153: number = 0; + @Link link_num154: number = 0; + @Link link_num155: number = 0; + @Link link_num156: number = 0; + @Link link_num157: number = 0; + @Link link_num158: number = 0; + @Link link_num159: number = 0; + @Link link_num160: number = 0; + @Link link_num161: number = 0; + @Link link_num162: number = 0; + @Link link_num163: number = 0; + @Link link_num164: number = 0; + @Link link_num165: number = 0; + @Link link_num166: number = 0; + @Link link_num167: number = 0; + @Link link_num168: number = 0; + @Link link_num169: number = 0; + @Link link_num170: number = 0; + @Link link_num171: number = 0; + @Link link_num172: number = 0; + @Link link_num173: number = 0; + @Link link_num174: number = 0; + @Link link_num175: number = 0; + @Link link_num176: number = 0; + @Link link_num177: number = 0; + @Link link_num178: number = 0; + @Link link_num179: number = 0; + @Link link_num180: number = 0; + @Link link_num181: number = 0; + @Link link_num182: number = 0; + @Link link_num183: number = 0; + @Link link_num184: number = 0; + @Link link_num185: number = 0; + @Link link_num186: number = 0; + @Link link_num187: number = 0; + @Link link_num188: number = 0; + @Link link_num189: number = 0; + @Link link_num190: number = 0; + @Link link_num191: number = 0; + @Link link_num192: number = 0; + @Link link_num193: number = 0; + @Link link_num194: number = 0; + @Link link_num195: number = 0; + @Link link_num196: number = 0; + @Link link_num197: number = 0; + @Link link_num198: number = 0; + @Link link_num199: number = 0; + @Link link_num200: number = 0; + @Link link_num201: number = 0; + @Link link_num202: number = 0; + @Link link_num203: number = 0; + @Link link_num204: number = 0; + @Link link_num205: number = 0; + @Link link_num206: number = 0; + @Link link_num207: number = 0; + @Link link_num208: number = 0; + @Link link_num209: number = 0; + @Link link_num210: number = 0; + @Link link_num211: number = 0; + @Link link_num212: number = 0; + @Link link_num213: number = 0; + @Link link_num214: number = 0; + @Link link_num215: number = 0; + @Link link_num216: number = 0; + @Link link_num217: number = 0; + @Link link_num218: number = 0; + @Link link_num219: number = 0; + @Link link_num220: number = 0; + @Link link_num221: number = 0; + @Link link_num222: number = 0; + @Link link_num223: number = 0; + @Link link_num224: number = 0; + @Link link_num225: number = 0; + @Link link_num226: number = 0; + @Link link_num227: number = 0; + @Link link_num228: number = 0; + @Link link_num229: number = 0; + @Link link_num230: number = 0; + @Link link_num231: number = 0; + @Link link_num232: number = 0; + @Link link_num233: number = 0; + @Link link_num234: number = 0; + @Link link_num235: number = 0; + @Link link_num236: number = 0; + @Link link_num237: number = 0; + @Link link_num238: number = 0; + @Link link_num239: number = 0; + @Link link_num240: number = 0; + @Link link_num241: number = 0; + @Link link_num242: number = 0; + @Link link_num243: number = 0; + @Link link_num244: number = 0; + @Link link_num245: number = 0; + @Link link_num246: number = 0; + @Link link_num247: number = 0; + @Link link_num248: number = 0; + @Link link_num249: number = 0; + @Link link_num250: number = 0; + @Link link_num251: number = 0; + @Link link_num252: number = 0; + @Link link_num253: number = 0; + @Link link_num254: number = 0; + @Link link_num255: number = 0; + @Link link_num256: number = 0; + @Link link_num257: number = 0; + @Link link_num258: number = 0; + @Link link_num259: number = 0; + @Link link_num260: number = 0; + @Link link_num261: number = 0; + @Link link_num262: number = 0; + @Link link_num263: number = 0; + @Link link_num264: number = 0; + @Link link_num265: number = 0; + @Link link_num266: number = 0; + @Link link_num267: number = 0; + @Link link_num268: number = 0; + @Link link_num269: number = 0; + @Link link_num270: number = 0; + @Link link_num271: number = 0; + @Link link_num272: number = 0; + @Link link_num273: number = 0; + @Link link_num274: number = 0; + @Link link_num275: number = 0; + @Link link_num276: number = 0; + @Link link_num277: number = 0; + @Link link_num278: number = 0; + @Link link_num279: number = 0; + @Link link_num280: number = 0; + @Link link_num281: number = 0; + @Link link_num282: number = 0; + @Link link_num283: number = 0; + @Link link_num284: number = 0; + @Link link_num285: number = 0; + @Link link_num286: number = 0; + @Link link_num287: number = 0; + @Link link_num288: number = 0; + @Link link_num289: number = 0; + @Link link_num290: number = 0; + @Link link_num291: number = 0; + @Link link_num292: number = 0; + @Link link_num293: number = 0; + @Link link_num294: number = 0; + @Link link_num295: number = 0; + @Link link_num296: number = 0; + @Link link_num297: number = 0; + @Link link_num298: number = 0; + @Link link_num299: number = 0; + @Link link_num300: number = 0; + @Link link_num301: number = 0; + @Link link_num302: number = 0; + @Link link_num303: number = 0; + @Link link_num304: number = 0; + @Link link_num305: number = 0; + @Link link_num306: number = 0; + @Link link_num307: number = 0; + @Link link_num308: number = 0; + @Link link_num309: number = 0; + @Link link_num310: number = 0; + @Link link_num311: number = 0; + @Link link_num312: number = 0; + @Link link_num313: number = 0; + @Link link_num314: number = 0; + @Link link_num315: number = 0; + @Link link_num316: number = 0; + @Link link_num317: number = 0; + @Link link_num318: number = 0; + @Link link_num319: number = 0; + @Link link_num320: number = 0; + @Link link_num321: number = 0; + @Link link_num322: number = 0; + @Link link_num323: number = 0; + @Link link_num324: number = 0; + @Link link_num325: number = 0; + @Link link_num326: number = 0; + @Link link_num327: number = 0; + @Link link_num328: number = 0; + @Link link_num329: number = 0; + @Link link_num330: number = 0; + @Link link_num331: number = 0; + @Link link_num332: number = 0; + + + //============================================================================= + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.link_num0++; + this.link_num1++; + this.link_num2++; + this.link_num3++; + this.link_num4++; + this.link_num5++; + this.link_num6++; + this.link_num7++; + this.link_num8++; + this.link_num9++; + this.link_num10++; + this.link_num11++; + this.link_num12++; + this.link_num13++; + this.link_num14++; + this.link_num15++; + this.link_num16++; + this.link_num17++; + this.link_num18++; + this.link_num19++; + this.link_num20++; + this.link_num21++; + this.link_num22++; + this.link_num23++; + this.link_num24++; + this.link_num25++; + this.link_num26++; + this.link_num27++; + this.link_num28++; + this.link_num29++; + this.link_num30++; + this.link_num31++; + this.link_num32++; + this.link_num33++; + this.link_num34++; + this.link_num35++; + this.link_num36++; + this.link_num37++; + this.link_num38++; + this.link_num39++; + this.link_num40++; + this.link_num41++; + this.link_num42++; + this.link_num43++; + this.link_num44++; + this.link_num45++; + this.link_num46++; + this.link_num47++; + this.link_num48++; + this.link_num49++; + this.link_num50++; + this.link_num51++; + this.link_num52++; + this.link_num53++; + this.link_num54++; + this.link_num55++; + this.link_num56++; + this.link_num57++; + this.link_num58++; + this.link_num59++; + this.link_num60++; + this.link_num61++; + this.link_num62++; + this.link_num63++; + this.link_num64++; + this.link_num65++; + this.link_num66++; + this.link_num67++; + this.link_num68++; + this.link_num69++; + this.link_num70++; + this.link_num71++; + this.link_num72++; + this.link_num73++; + this.link_num74++; + this.link_num75++; + this.link_num76++; + this.link_num77++; + this.link_num78++; + this.link_num79++; + this.link_num80++; + this.link_num81++; + this.link_num82++; + this.link_num83++; + this.link_num84++; + this.link_num85++; + this.link_num86++; + this.link_num87++; + this.link_num88++; + this.link_num89++; + this.link_num90++; + this.link_num91++; + this.link_num92++; + this.link_num93++; + this.link_num94++; + this.link_num95++; + this.link_num96++; + this.link_num97++; + this.link_num98++; + this.link_num99++; + this.link_num100++; + this.link_num101++; + this.link_num102++; + this.link_num103++; + this.link_num104++; + this.link_num105++; + this.link_num106++; + this.link_num107++; + this.link_num108++; + this.link_num109++; + this.link_num110++; + this.link_num111++; + this.link_num112++; + this.link_num113++; + this.link_num114++; + this.link_num115++; + this.link_num116++; + this.link_num117++; + this.link_num118++; + this.link_num119++; + this.link_num120++; + this.link_num121++; + this.link_num122++; + this.link_num123++; + this.link_num124++; + this.link_num125++; + this.link_num126++; + this.link_num127++; + this.link_num128++; + this.link_num129++; + this.link_num130++; + this.link_num131++; + this.link_num132++; + this.link_num133++; + this.link_num134++; + this.link_num135++; + this.link_num136++; + this.link_num137++; + this.link_num138++; + this.link_num139++; + this.link_num140++; + this.link_num141++; + this.link_num142++; + this.link_num143++; + this.link_num144++; + this.link_num145++; + this.link_num146++; + this.link_num147++; + this.link_num148++; + this.link_num149++; + this.link_num150++; + this.link_num151++; + this.link_num152++; + this.link_num153++; + this.link_num154++; + this.link_num155++; + this.link_num156++; + this.link_num157++; + this.link_num158++; + this.link_num159++; + this.link_num160++; + this.link_num161++; + this.link_num162++; + this.link_num163++; + this.link_num164++; + this.link_num165++; + this.link_num166++; + this.link_num167++; + this.link_num168++; + this.link_num169++; + this.link_num170++; + this.link_num171++; + this.link_num172++; + this.link_num173++; + this.link_num174++; + this.link_num175++; + this.link_num176++; + this.link_num177++; + this.link_num178++; + this.link_num179++; + this.link_num180++; + this.link_num181++; + this.link_num182++; + this.link_num183++; + this.link_num184++; + this.link_num185++; + this.link_num186++; + this.link_num187++; + this.link_num188++; + this.link_num189++; + this.link_num190++; + this.link_num191++; + this.link_num192++; + this.link_num193++; + this.link_num194++; + this.link_num195++; + this.link_num196++; + this.link_num197++; + this.link_num198++; + this.link_num199++; + this.link_num200++; + this.link_num201++; + this.link_num202++; + this.link_num203++; + this.link_num204++; + this.link_num205++; + this.link_num206++; + this.link_num207++; + this.link_num208++; + this.link_num209++; + this.link_num210++; + this.link_num211++; + this.link_num212++; + this.link_num213++; + this.link_num214++; + this.link_num215++; + this.link_num216++; + this.link_num217++; + this.link_num218++; + this.link_num219++; + this.link_num220++; + this.link_num221++; + this.link_num222++; + this.link_num223++; + this.link_num224++; + this.link_num225++; + this.link_num226++; + this.link_num227++; + this.link_num228++; + this.link_num229++; + this.link_num230++; + this.link_num231++; + this.link_num232++; + this.link_num233++; + this.link_num234++; + this.link_num235++; + this.link_num236++; + this.link_num237++; + this.link_num238++; + this.link_num239++; + this.link_num240++; + this.link_num241++; + this.link_num242++; + this.link_num243++; + this.link_num244++; + this.link_num245++; + this.link_num246++; + this.link_num247++; + this.link_num248++; + this.link_num249++; + this.link_num250++; + this.link_num251++; + this.link_num252++; + this.link_num253++; + this.link_num254++; + this.link_num255++; + this.link_num256++; + this.link_num257++; + this.link_num258++; + this.link_num259++; + this.link_num260++; + this.link_num261++; + this.link_num262++; + this.link_num263++; + this.link_num264++; + this.link_num265++; + this.link_num266++; + this.link_num267++; + this.link_num268++; + this.link_num269++; + this.link_num270++; + this.link_num271++; + this.link_num272++; + this.link_num273++; + this.link_num274++; + this.link_num275++; + this.link_num276++; + this.link_num277++; + this.link_num278++; + this.link_num279++; + this.link_num280++; + this.link_num281++; + this.link_num282++; + this.link_num283++; + this.link_num284++; + this.link_num285++; + this.link_num286++; + this.link_num287++; + this.link_num288++; + this.link_num289++; + this.link_num290++; + this.link_num291++; + this.link_num292++; + this.link_num293++; + this.link_num294++; + this.link_num295++; + this.link_num296++; + this.link_num297++; + this.link_num298++; + this.link_num299++; + this.link_num300++; + this.link_num301++; + this.link_num302++; + this.link_num303++; + this.link_num304++; + this.link_num305++; + this.link_num306++; + this.link_num307++; + this.link_num308++; + this.link_num309++; + this.link_num310++; + this.link_num311++; + this.link_num312++; + this.link_num313++; + this.link_num314++; + this.link_num315++; + this.link_num316++; + this.link_num317++; + this.link_num318++; + this.link_num319++; + this.link_num320++; + this.link_num321++; + this.link_num322++; + this.link_num323++; + this.link_num324++; + this.link_num325++; + this.link_num326++; + this.link_num327++; + this.link_num328++; + this.link_num329++; + this.link_num330++; + this.link_num331++; + this.link_num332++; + + }) + } + } +} + +@Component +struct ConsumeVariables { + @Consume consume_num0: number; + @Consume consume_num1: number; + @Consume consume_num2: number; + @Consume consume_num3: number; + @Consume consume_num4: number; + @Consume consume_num5: number; + @Consume consume_num6: number; + @Consume consume_num7: number; + @Consume consume_num8: number; + @Consume consume_num9: number; + @Consume consume_num10: number; + @Consume consume_num11: number; + @Consume consume_num12: number; + @Consume consume_num13: number; + @Consume consume_num14: number; + @Consume consume_num15: number; + @Consume consume_num16: number; + @Consume consume_num17: number; + @Consume consume_num18: number; + @Consume consume_num19: number; + @Consume consume_num20: number; + @Consume consume_num21: number; + @Consume consume_num22: number; + @Consume consume_num23: number; + @Consume consume_num24: number; + @Consume consume_num25: number; + @Consume consume_num26: number; + @Consume consume_num27: number; + @Consume consume_num28: number; + @Consume consume_num29: number; + @Consume consume_num30: number; + @Consume consume_num31: number; + @Consume consume_num32: number; + @Consume consume_num33: number; + @Consume consume_num34: number; + @Consume consume_num35: number; + @Consume consume_num36: number; + @Consume consume_num37: number; + @Consume consume_num38: number; + @Consume consume_num39: number; + @Consume consume_num40: number; + @Consume consume_num41: number; + @Consume consume_num42: number; + @Consume consume_num43: number; + @Consume consume_num44: number; + @Consume consume_num45: number; + @Consume consume_num46: number; + @Consume consume_num47: number; + @Consume consume_num48: number; + @Consume consume_num49: number; + @Consume consume_num50: number; + @Consume consume_num51: number; + @Consume consume_num52: number; + @Consume consume_num53: number; + @Consume consume_num54: number; + @Consume consume_num55: number; + @Consume consume_num56: number; + @Consume consume_num57: number; + @Consume consume_num58: number; + @Consume consume_num59: number; + @Consume consume_num60: number; + @Consume consume_num61: number; + @Consume consume_num62: number; + @Consume consume_num63: number; + @Consume consume_num64: number; + @Consume consume_num65: number; + @Consume consume_num66: number; + @Consume consume_num67: number; + @Consume consume_num68: number; + @Consume consume_num69: number; + @Consume consume_num70: number; + @Consume consume_num71: number; + @Consume consume_num72: number; + @Consume consume_num73: number; + @Consume consume_num74: number; + @Consume consume_num75: number; + @Consume consume_num76: number; + @Consume consume_num77: number; + @Consume consume_num78: number; + @Consume consume_num79: number; + @Consume consume_num80: number; + @Consume consume_num81: number; + @Consume consume_num82: number; + @Consume consume_num83: number; + @Consume consume_num84: number; + @Consume consume_num85: number; + @Consume consume_num86: number; + @Consume consume_num87: number; + @Consume consume_num88: number; + @Consume consume_num89: number; + @Consume consume_num90: number; + @Consume consume_num91: number; + @Consume consume_num92: number; + @Consume consume_num93: number; + @Consume consume_num94: number; + @Consume consume_num95: number; + @Consume consume_num96: number; + @Consume consume_num97: number; + @Consume consume_num98: number; + @Consume consume_num99: number; + @Consume consume_num100: number; + @Consume consume_num101: number; + @Consume consume_num102: number; + @Consume consume_num103: number; + @Consume consume_num104: number; + @Consume consume_num105: number; + @Consume consume_num106: number; + @Consume consume_num107: number; + @Consume consume_num108: number; + @Consume consume_num109: number; + @Consume consume_num110: number; + @Consume consume_num111: number; + @Consume consume_num112: number; + @Consume consume_num113: number; + @Consume consume_num114: number; + @Consume consume_num115: number; + @Consume consume_num116: number; + @Consume consume_num117: number; + @Consume consume_num118: number; + @Consume consume_num119: number; + @Consume consume_num120: number; + @Consume consume_num121: number; + @Consume consume_num122: number; + @Consume consume_num123: number; + @Consume consume_num124: number; + @Consume consume_num125: number; + @Consume consume_num126: number; + @Consume consume_num127: number; + @Consume consume_num128: number; + @Consume consume_num129: number; + @Consume consume_num130: number; + @Consume consume_num131: number; + @Consume consume_num132: number; + @Consume consume_num133: number; + @Consume consume_num134: number; + @Consume consume_num135: number; + @Consume consume_num136: number; + @Consume consume_num137: number; + @Consume consume_num138: number; + @Consume consume_num139: number; + @Consume consume_num140: number; + @Consume consume_num141: number; + @Consume consume_num142: number; + @Consume consume_num143: number; + @Consume consume_num144: number; + @Consume consume_num145: number; + @Consume consume_num146: number; + @Consume consume_num147: number; + @Consume consume_num148: number; + @Consume consume_num149: number; + @Consume consume_num150: number; + @Consume consume_num151: number; + @Consume consume_num152: number; + @Consume consume_num153: number; + @Consume consume_num154: number; + @Consume consume_num155: number; + @Consume consume_num156: number; + @Consume consume_num157: number; + @Consume consume_num158: number; + @Consume consume_num159: number; + @Consume consume_num160: number; + @Consume consume_num161: number; + @Consume consume_num162: number; + @Consume consume_num163: number; + @Consume consume_num164: number; + @Consume consume_num165: number; + @Consume consume_num166: number; + @Consume consume_num167: number; + @Consume consume_num168: number; + @Consume consume_num169: number; + @Consume consume_num170: number; + @Consume consume_num171: number; + @Consume consume_num172: number; + @Consume consume_num173: number; + @Consume consume_num174: number; + @Consume consume_num175: number; + @Consume consume_num176: number; + @Consume consume_num177: number; + @Consume consume_num178: number; + @Consume consume_num179: number; + @Consume consume_num180: number; + @Consume consume_num181: number; + @Consume consume_num182: number; + @Consume consume_num183: number; + @Consume consume_num184: number; + @Consume consume_num185: number; + @Consume consume_num186: number; + @Consume consume_num187: number; + @Consume consume_num188: number; + @Consume consume_num189: number; + @Consume consume_num190: number; + @Consume consume_num191: number; + @Consume consume_num192: number; + @Consume consume_num193: number; + @Consume consume_num194: number; + @Consume consume_num195: number; + @Consume consume_num196: number; + @Consume consume_num197: number; + @Consume consume_num198: number; + @Consume consume_num199: number; + @Consume consume_num200: number; + @Consume consume_num201: number; + @Consume consume_num202: number; + @Consume consume_num203: number; + @Consume consume_num204: number; + @Consume consume_num205: number; + @Consume consume_num206: number; + @Consume consume_num207: number; + @Consume consume_num208: number; + @Consume consume_num209: number; + @Consume consume_num210: number; + @Consume consume_num211: number; + @Consume consume_num212: number; + @Consume consume_num213: number; + @Consume consume_num214: number; + @Consume consume_num215: number; + @Consume consume_num216: number; + @Consume consume_num217: number; + @Consume consume_num218: number; + @Consume consume_num219: number; + @Consume consume_num220: number; + @Consume consume_num221: number; + @Consume consume_num222: number; + @Consume consume_num223: number; + @Consume consume_num224: number; + @Consume consume_num225: number; + @Consume consume_num226: number; + @Consume consume_num227: number; + @Consume consume_num228: number; + @Consume consume_num229: number; + @Consume consume_num230: number; + @Consume consume_num231: number; + @Consume consume_num232: number; + @Consume consume_num233: number; + @Consume consume_num234: number; + @Consume consume_num235: number; + @Consume consume_num236: number; + @Consume consume_num237: number; + @Consume consume_num238: number; + @Consume consume_num239: number; + @Consume consume_num240: number; + @Consume consume_num241: number; + @Consume consume_num242: number; + @Consume consume_num243: number; + @Consume consume_num244: number; + @Consume consume_num245: number; + @Consume consume_num246: number; + @Consume consume_num247: number; + @Consume consume_num248: number; + @Consume consume_num249: number; + @Consume consume_num250: number; + @Consume consume_num251: number; + @Consume consume_num252: number; + @Consume consume_num253: number; + @Consume consume_num254: number; + @Consume consume_num255: number; + @Consume consume_num256: number; + @Consume consume_num257: number; + @Consume consume_num258: number; + @Consume consume_num259: number; + @Consume consume_num260: number; + @Consume consume_num261: number; + @Consume consume_num262: number; + @Consume consume_num263: number; + @Consume consume_num264: number; + @Consume consume_num265: number; + @Consume consume_num266: number; + @Consume consume_num267: number; + @Consume consume_num268: number; + @Consume consume_num269: number; + @Consume consume_num270: number; + @Consume consume_num271: number; + @Consume consume_num272: number; + @Consume consume_num273: number; + @Consume consume_num274: number; + @Consume consume_num275: number; + @Consume consume_num276: number; + @Consume consume_num277: number; + @Consume consume_num278: number; + @Consume consume_num279: number; + @Consume consume_num280: number; + @Consume consume_num281: number; + @Consume consume_num282: number; + @Consume consume_num283: number; + @Consume consume_num284: number; + @Consume consume_num285: number; + @Consume consume_num286: number; + @Consume consume_num287: number; + @Consume consume_num288: number; + @Consume consume_num289: number; + @Consume consume_num290: number; + @Consume consume_num291: number; + @Consume consume_num292: number; + @Consume consume_num293: number; + @Consume consume_num294: number; + @Consume consume_num295: number; + @Consume consume_num296: number; + @Consume consume_num297: number; + @Consume consume_num298: number; + @Consume consume_num299: number; + @Consume consume_num300: number; + @Consume consume_num301: number; + @Consume consume_num302: number; + @Consume consume_num303: number; + @Consume consume_num304: number; + @Consume consume_num305: number; + @Consume consume_num306: number; + @Consume consume_num307: number; + @Consume consume_num308: number; + @Consume consume_num309: number; + @Consume consume_num310: number; + @Consume consume_num311: number; + @Consume consume_num312: number; + @Consume consume_num313: number; + @Consume consume_num314: number; + @Consume consume_num315: number; + @Consume consume_num316: number; + @Consume consume_num317: number; + @Consume consume_num318: number; + @Consume consume_num319: number; + @Consume consume_num320: number; + @Consume consume_num321: number; + @Consume consume_num322: number; + @Consume consume_num323: number; + @Consume consume_num324: number; + @Consume consume_num325: number; + @Consume consume_num326: number; + @Consume consume_num327: number; + @Consume consume_num328: number; + @Consume consume_num329: number; + @Consume consume_num330: number; + @Consume consume_num331: number; + @Consume consume_num332: number; + + + //============================================================================= + + build() { + Column() { + Button('Click Me') + .onClick((e: ClickEvent) => { + this.consume_num0++; + this.consume_num1++; + this.consume_num2++; + this.consume_num3++; + this.consume_num4++; + this.consume_num5++; + this.consume_num6++; + this.consume_num7++; + this.consume_num8++; + this.consume_num9++; + this.consume_num10++; + this.consume_num11++; + this.consume_num12++; + this.consume_num13++; + this.consume_num14++; + this.consume_num15++; + this.consume_num16++; + this.consume_num17++; + this.consume_num18++; + this.consume_num19++; + this.consume_num20++; + this.consume_num21++; + this.consume_num22++; + this.consume_num23++; + this.consume_num24++; + this.consume_num25++; + this.consume_num26++; + this.consume_num27++; + this.consume_num28++; + this.consume_num29++; + this.consume_num30++; + this.consume_num31++; + this.consume_num32++; + this.consume_num33++; + this.consume_num34++; + this.consume_num35++; + this.consume_num36++; + this.consume_num37++; + this.consume_num38++; + this.consume_num39++; + this.consume_num40++; + this.consume_num41++; + this.consume_num42++; + this.consume_num43++; + this.consume_num44++; + this.consume_num45++; + this.consume_num46++; + this.consume_num47++; + this.consume_num48++; + this.consume_num49++; + this.consume_num50++; + this.consume_num51++; + this.consume_num52++; + this.consume_num53++; + this.consume_num54++; + this.consume_num55++; + this.consume_num56++; + this.consume_num57++; + this.consume_num58++; + this.consume_num59++; + this.consume_num60++; + this.consume_num61++; + this.consume_num62++; + this.consume_num63++; + this.consume_num64++; + this.consume_num65++; + this.consume_num66++; + this.consume_num67++; + this.consume_num68++; + this.consume_num69++; + this.consume_num70++; + this.consume_num71++; + this.consume_num72++; + this.consume_num73++; + this.consume_num74++; + this.consume_num75++; + this.consume_num76++; + this.consume_num77++; + this.consume_num78++; + this.consume_num79++; + this.consume_num80++; + this.consume_num81++; + this.consume_num82++; + this.consume_num83++; + this.consume_num84++; + this.consume_num85++; + this.consume_num86++; + this.consume_num87++; + this.consume_num88++; + this.consume_num89++; + this.consume_num90++; + this.consume_num91++; + this.consume_num92++; + this.consume_num93++; + this.consume_num94++; + this.consume_num95++; + this.consume_num96++; + this.consume_num97++; + this.consume_num98++; + this.consume_num99++; + this.consume_num100++; + this.consume_num101++; + this.consume_num102++; + this.consume_num103++; + this.consume_num104++; + this.consume_num105++; + this.consume_num106++; + this.consume_num107++; + this.consume_num108++; + this.consume_num109++; + this.consume_num110++; + this.consume_num111++; + this.consume_num112++; + this.consume_num113++; + this.consume_num114++; + this.consume_num115++; + this.consume_num116++; + this.consume_num117++; + this.consume_num118++; + this.consume_num119++; + this.consume_num120++; + this.consume_num121++; + this.consume_num122++; + this.consume_num123++; + this.consume_num124++; + this.consume_num125++; + this.consume_num126++; + this.consume_num127++; + this.consume_num128++; + this.consume_num129++; + this.consume_num130++; + this.consume_num131++; + this.consume_num132++; + this.consume_num133++; + this.consume_num134++; + this.consume_num135++; + this.consume_num136++; + this.consume_num137++; + this.consume_num138++; + this.consume_num139++; + this.consume_num140++; + this.consume_num141++; + this.consume_num142++; + this.consume_num143++; + this.consume_num144++; + this.consume_num145++; + this.consume_num146++; + this.consume_num147++; + this.consume_num148++; + this.consume_num149++; + this.consume_num150++; + this.consume_num151++; + this.consume_num152++; + this.consume_num153++; + this.consume_num154++; + this.consume_num155++; + this.consume_num156++; + this.consume_num157++; + this.consume_num158++; + this.consume_num159++; + this.consume_num160++; + this.consume_num161++; + this.consume_num162++; + this.consume_num163++; + this.consume_num164++; + this.consume_num165++; + this.consume_num166++; + this.consume_num167++; + this.consume_num168++; + this.consume_num169++; + this.consume_num170++; + this.consume_num171++; + this.consume_num172++; + this.consume_num173++; + this.consume_num174++; + this.consume_num175++; + this.consume_num176++; + this.consume_num177++; + this.consume_num178++; + this.consume_num179++; + this.consume_num180++; + this.consume_num181++; + this.consume_num182++; + this.consume_num183++; + this.consume_num184++; + this.consume_num185++; + this.consume_num186++; + this.consume_num187++; + this.consume_num188++; + this.consume_num189++; + this.consume_num190++; + this.consume_num191++; + this.consume_num192++; + this.consume_num193++; + this.consume_num194++; + this.consume_num195++; + this.consume_num196++; + this.consume_num197++; + this.consume_num198++; + this.consume_num199++; + this.consume_num200++; + this.consume_num201++; + this.consume_num202++; + this.consume_num203++; + this.consume_num204++; + this.consume_num205++; + this.consume_num206++; + this.consume_num207++; + this.consume_num208++; + this.consume_num209++; + this.consume_num210++; + this.consume_num211++; + this.consume_num212++; + this.consume_num213++; + this.consume_num214++; + this.consume_num215++; + this.consume_num216++; + this.consume_num217++; + this.consume_num218++; + this.consume_num219++; + this.consume_num220++; + this.consume_num221++; + this.consume_num222++; + this.consume_num223++; + this.consume_num224++; + this.consume_num225++; + this.consume_num226++; + this.consume_num227++; + this.consume_num228++; + this.consume_num229++; + this.consume_num230++; + this.consume_num231++; + this.consume_num232++; + this.consume_num233++; + this.consume_num234++; + this.consume_num235++; + this.consume_num236++; + this.consume_num237++; + this.consume_num238++; + this.consume_num239++; + this.consume_num240++; + this.consume_num241++; + this.consume_num242++; + this.consume_num243++; + this.consume_num244++; + this.consume_num245++; + this.consume_num246++; + this.consume_num247++; + this.consume_num248++; + this.consume_num249++; + this.consume_num250++; + this.consume_num251++; + this.consume_num252++; + this.consume_num253++; + this.consume_num254++; + this.consume_num255++; + this.consume_num256++; + this.consume_num257++; + this.consume_num258++; + this.consume_num259++; + this.consume_num260++; + this.consume_num261++; + this.consume_num262++; + this.consume_num263++; + this.consume_num264++; + this.consume_num265++; + this.consume_num266++; + this.consume_num267++; + this.consume_num268++; + this.consume_num269++; + this.consume_num270++; + this.consume_num271++; + this.consume_num272++; + this.consume_num273++; + this.consume_num274++; + this.consume_num275++; + this.consume_num276++; + this.consume_num277++; + this.consume_num278++; + this.consume_num279++; + this.consume_num280++; + this.consume_num281++; + this.consume_num282++; + this.consume_num283++; + this.consume_num284++; + this.consume_num285++; + this.consume_num286++; + this.consume_num287++; + this.consume_num288++; + this.consume_num289++; + this.consume_num290++; + this.consume_num291++; + this.consume_num292++; + this.consume_num293++; + this.consume_num294++; + this.consume_num295++; + this.consume_num296++; + this.consume_num297++; + this.consume_num298++; + this.consume_num299++; + this.consume_num300++; + this.consume_num301++; + this.consume_num302++; + this.consume_num303++; + this.consume_num304++; + this.consume_num305++; + this.consume_num306++; + this.consume_num307++; + this.consume_num308++; + this.consume_num309++; + this.consume_num310++; + this.consume_num311++; + this.consume_num312++; + this.consume_num313++; + this.consume_num314++; + this.consume_num315++; + this.consume_num316++; + this.consume_num317++; + this.consume_num318++; + this.consume_num319++; + this.consume_num320++; + this.consume_num321++; + this.consume_num322++; + this.consume_num323++; + this.consume_num324++; + this.consume_num325++; + this.consume_num326++; + this.consume_num327++; + this.consume_num328++; + this.consume_num329++; + this.consume_num330++; + this.consume_num331++; + this.consume_num332++; + + }) + } + } +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/ui2abcconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/ui2abcconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..33650e8265d2e8d8ad2096046bae7701248b9418 --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/perf-tests/ui2abcconfig.json @@ -0,0 +1,53 @@ +{ + "compilerOptions": { + "package": "@ohos.arkui.perf-tests", + "outDir": "build", + "baseUrl": ".", + "paths": { + "@ohos.arkui": ["../../arkoala-arkts/arkui/sdk"], + "@ohos.arkui.components": ["../../arkoala-arkts/arkui/sdk"], + "@ohos.router": ["../../arkoala-arkts/arkui/sdk/ohos/router.ets"], + "@koalaui/builderLambda": ["../../arkoala-arkts/arkui/sdk/annotations"], + "@koalaui/interop": ["../../interop/src/arkts"], + "@koalaui/harness": ["../../incremental/harness/src/arkts"], + "@koalaui/compat": [ "../../incremental/compat/src/arkts" ], + "@koalaui/common": [ "../../incremental/common/src" ], + "@koalaui/runtime": [ "../../incremental/runtime/ets" ], + "@koalaui/runtime/annotations": [ "../../incremental/runtime/annotations" ] + }, + "plugins": [ + { + "transform": "@koalaui/ui-plugins/parsed-stage-plugin", + "stage": "parsed", + "name": "ui" + }, + { + "transform": "@koalaui/memo-plugin/ParserTransformer", + "stage": "parsed", + "name": "memo" + }, + { + "transform": "@koalaui/ui-plugins/checked-stage-plugin", + "stage": "checked", + "name": "ui" + }, + { + "transform": "@koalaui/memo-plugin", + "stage": "checked", + "name": "memo" + } + ] + }, + "include": [ + "./src/**/*.ets" + ], + "exclude": [ + "./src/positionalMemoization.ets", + "./src/1.1/**/*.ets" + ], + "dependencies": { + "@koalaui/runtime": [ "../../incremental/runtime/ui2abcconfig.json" ], + "@ohos.arkui": ["../../arkoala-arkts/arkui/ui2abcconfig-sdk-m3.json"] + } + +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/annotate-tests.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/annotate-tests.json index be0f91028b1bc2b665a8303a6f43b008ad998616..1afed7b7e4958fe697a2351f36d11dbb4d8a9fc6 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/annotate-tests.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/annotate-tests.json @@ -7,6 +7,7 @@ "./test/ts/**/*.ts", "./test/unmemoized/**/*.ts", "./test/ets/**/*.ts", - "./test/arkts_run.ts" + "./test/arkts_run.ts", + "./test/ts_run.ts" ] } \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/arktsconfig-memo-plugin.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/arktsconfig-memo-plugin.json index 4f213f71e5b4f82bebd44a78c167d5d95a206f5e..6294ca3691d194ee5c797dc04de5b2938223f418 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/arktsconfig-memo-plugin.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/arktsconfig-memo-plugin.json @@ -20,7 +20,7 @@ "transform": "../memo-plugin/lib/MemoTransformer", "stage": "checked", "name": "memo", - "manuallyDisableInsertingImport": true + "keepTransformed": "../../tests-memo/build/memo-plugin/memo-transformed" } ] }, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/package.json index b4606b7aae1f7b03246042c96a31e61b46e500a0..333561ea8dfce919bb0873ffc7ae0776cf206097 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/package.json @@ -10,27 +10,21 @@ "clean": "rimraf build dist test/ets test/unmemoized", "annotate:ui2abc:tests": "node ../annotate annotate-tests.json", - "compile:ui2abc:tests": "node ../fast-arktsc --config ./arktsconfig-memo-plugin.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/memo-plugin/test.abc", + "configure:ui2abc:tests": "node ../fast-arktsc --config ./arktsconfig-memo-plugin.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/memo-plugin/test.abc", "build:ui2abc:tests": "cd build/memo-plugin && ninja", "executable:abc": "bash ../../incremental/tools/panda/arkts/ark ./build/memo-plugin/test.abc --ark-boot-files ./build/memo-plugin/test.abc:../../incremental/runtime/build/incremental.abc:../../incremental/harness/build/harness.abc --ark-entry-point @memo-plugin-tests.test.ets.ui2abc_run.ETSGLOBAL::main", - "test:arkts:memo-plugin": "npm run build:harness --prefix ../../incremental/harness && npm run annotate:ui2abc:tests && npm run compile:ui2abc:tests && npm run build:ui2abc:tests && npm run executable:abc", - - "unmemoize:arkts:tests": "ets-tsc -b tsconfig-compiler-plugin.json", - "compile:arkts:tests": "node ../fast-arktsc --config ./arktsconfig-compiler-plugin.json --compiler ../../incremental/tools/panda/arkts/arktsc --link-name ./build/compiler-plugin/test.abc", - "build:arkts:tests": "ninja ${NINJA_OPTIONS} -f build/compiler-plugin/abc/build.ninja", - "run:arkts:tests": "bash ../../incremental/tools/panda/arkts/ark ./build/compiler-plugin/test.abc --ark-boot-files ./build/compiler-plugin/test.abc:../../incremental/runtime/build/incremental.abc:../../incremental/harness/build/harness.abc --ark-entry-point @compiler-plugin-tests.test.unmemoized.test.arkts_run.ETSGLOBAL::main", - "test:arkts:compiler-plugin": "npm run unmemoize:arkts:tests && npm run compile:arkts:tests && npm run build:arkts:tests && npm run run:arkts:tests", - + "test:arkts:memo-plugin:light": "npm run annotate:ui2abc:tests && npm run configure:ui2abc:tests && npm run build:ui2abc:tests && npm run executable:abc", + "test:arkts:memo-plugin": "npm run build:harness --prefix ../../incremental/harness && npm run annotate:ui2abc:tests && npm run configure:ui2abc:tests && npm run build:ui2abc:tests && npm run executable:abc", "install:panda": "npm run panda:sdk:install --prefix ../../incremental/tools/panda", "compile:deps": "cd ../../incremental && npm run compile && cd runtime && npm run build:incremental:components && cd ../harness && npm run compile:all && npm run build:harness && cd ../compiler-plugin && npm run compile && cd ../../ui2abc && npm run build:all && npm run build:incremental:inc:ui2abc --prefix ../incremental/runtime && cd tests-memo", "test:ts": "mocha" }, "dependencies": { - "@koalaui/common": "1.5.15+devel", - "@koalaui/compat": "1.5.15+devel", + "@koalaui/common": "1.7.4+devel", + "@koalaui/compat": "1.7.4+devel", "@koalaui/harness": "file:../../incremental/harness", - "@koalaui/build-common": "1.5.15+devel", + "@koalaui/build-common": "1.7.4+devel", "@koalaui/runtime": "file:../../incremental/runtime", "@koalaui/annotate": "file:../annotate", diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/common/basic.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/common/basic.test.ts index 3410daa00c3f4fd43580c27a73b1252035f8827d..0e6455ae87577147dee592a729340238fc77dd22 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/common/basic.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/common/basic.test.ts @@ -22,7 +22,7 @@ import { sharedMemoFunction, } from "./main_test_module_to_import" import { SharedLog } from "./test_module_to_import" -import * as ut from "./main_test_module_to_import" +// import * as ut from "./main_test_module_to_import" import { isCompilerPlugin } from "../testUtils" function assertResultArray(actual: Array, ...expected: T[]) { @@ -178,6 +178,38 @@ class TestReturnMethod extends Log { } } +class TestReturnLambda extends Log { + /** @memo */ + test() { + const memoReturnLambda = + (): + /** @memo */ + (log: Array, value: string) => void => { + return ( + /** @memo */ + (log: Array, value: string) => { + log.push("lambdaReturnMemo", value) + } + ) + } + + this.runReturnMemo( + memoReturnLambda() + ) + } + + /** @memo */ + runReturnMemo( + /** @memo */ + parameter: (log: Array, value: string)=>void + ) { + GlobalStateHolder.globalState.value + this.log.push("lambdaReturnMemo call") + parameter(this.log, "arg") + } +} + + function returnListMemoFunctions(): [ /** @memo */ () => void, @@ -487,8 +519,8 @@ class TestTrackingParameters { GlobalStateHolder.globalState.value TestTrackingParameters.log.push(`testContentParam call`) this.methodWithContentParam( + TestTrackingParameters.varValue, TestTrackingParameters.updateFlag ? this.methodWithParamCopy : this.methodWithParam, - TestTrackingParameters.varValue ) if (TestTrackingParameters.updateFlag) TestTrackingParameters.updateFlag = false } @@ -523,9 +555,9 @@ class TestTrackingParameters { /** @memo */ methodWithContentParam( + value: number, /** @memo */ content: (value: number) => void, - value: number ) { TestTrackingParameters.log.push(`methodWithContentParam`) content(value) @@ -622,7 +654,7 @@ class TestImportedMemo { GlobalStateHolder.globalState.value SharedLog.log.push('testImportedFunction call') sharedMemoFunction() - ut.sharedMemoFunction() + // ut.sharedMemoFunction() } } @@ -892,8 +924,34 @@ suite("Basic memo semantic", () => { ) }) - test.expectFailure("Description of the problem", "Return type of functional type in lambda", () => { - Assert.fail('implement me') + test("Return type of functional type in lambda", () => { + const instance = new TestReturnLambda() + const root = testRoot( + /** @memo */ + () => { instance.test() } + ) + assertResultArray(instance.log, + "lambdaReturnMemo call", + "lambdaReturnMemo", + "arg" + ) + GlobalStateHolder.globalState.value++ + testTick(root) + assertResultArray(instance.log, + "lambdaReturnMemo call", + "lambdaReturnMemo", + "arg", + "lambdaReturnMemo call", + ) + GlobalStateHolder.globalState.value++ + testTick(root) + assertResultArray(instance.log, + "lambdaReturnMemo call", + "lambdaReturnMemo", + "arg", + "lambdaReturnMemo call", + "lambdaReturnMemo call", + ) }) test("Parameter of function type", () => { @@ -1241,10 +1299,7 @@ suite("Tracking parameters", () => { "testFunction call", ) }) - test.expectFailure("Description of the problem", "By convention a lambda parameter with name `content` is not tracked", () => { - // This is to be addressed later when the compiler provides ability to compare - // lambdas by code, not by closure object equality. - + test("By convention a lambda parameter with name `content` is not tracked", () => { TestTrackingParameters.log.length = 0 TestTrackingParameters.varValue = 10 TestTrackingParameters.updateFlag = false @@ -1266,7 +1321,6 @@ suite("Tracking parameters", () => { `methodWithContentParam`, `methodWithParam: 10`, `testContentParam call`, - `methodWithContentParam`, ) GlobalStateHolder.globalState.value ++ TestTrackingParameters.varValue = 50 @@ -1276,7 +1330,6 @@ suite("Tracking parameters", () => { `methodWithContentParam`, `methodWithParam: 10`, `testContentParam call`, - `methodWithContentParam`, `testContentParam call`, `methodWithContentParam`, `methodWithParam: 50` @@ -1549,29 +1602,36 @@ suite("Functions marked with @memo:intrinsic", () => { }) suite("Memo functions with all kinds of import and export statements", () => { - test("Named import and qualified import with `*` of memo function", () => { - SharedLog.log.length = 0 - const root = testRoot(TestImportedMemo.testImportedFunction) - assertResultArray(SharedLog.log, - "testImportedFunction call", - "sharedMemoFunction", "sharedMemoFunction", - ) - GlobalStateHolder.globalState.value++ - testTick(root) - assertResultArray(SharedLog.log, - "testImportedFunction call", - "sharedMemoFunction", "sharedMemoFunction", - "testImportedFunction call", - ) - GlobalStateHolder.globalState.value++ - testTick(root) - assertResultArray(SharedLog.log, - "testImportedFunction call", - "sharedMemoFunction", "sharedMemoFunction", - "testImportedFunction call", - "testImportedFunction call", - ) - }) + test.expectFailure( + "issue ICB98S: https://gitee.com/rri_opensource/koala_projects/issues/ICB98S", + "Named import and qualified import with `*` of memo function", + () => { + SharedLog.log.length = 0 + const root = testRoot(TestImportedMemo.testImportedFunction) + assertResultArray(SharedLog.log, + "testImportedFunction call", + "sharedMemoFunction", + "sharedMemoFunction", + ) + GlobalStateHolder.globalState.value++ + testTick(root) + assertResultArray(SharedLog.log, + "testImportedFunction call", + "sharedMemoFunction", + "sharedMemoFunction", + "testImportedFunction call", + ) + GlobalStateHolder.globalState.value++ + testTick(root) + assertResultArray(SharedLog.log, + "testImportedFunction call", + "sharedMemoFunction", + "sharedMemoFunction", + "testImportedFunction call", + "testImportedFunction call", + ) + } + ) }) // suite("@memo_stable annotation", () => { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/testUtils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/testUtils.ts index 6586d7b629ac7e8e8c9f935212dabe9af9a53812..af9aaa2d2940a7a2d81c7d80c91fdf9fcb95fefa 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/testUtils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/testUtils.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import { int32, KoalaCallsiteKey, UniqueId, asArray } from "@koalaui/common" +import { charToInt, KoalaCallsiteKey, UniqueId, asArray } from "@koalaui/common" import { Assert } from "@koalaui/harness" import { GlobalStateManager, MutableState } from "@koalaui/runtime" @@ -36,7 +36,7 @@ export enum Language { ArkTS } -let TRANSFORM_PLUGIN: TransformPlugin = TransformPlugin.COMPILER_PLUGIN +let TRANSFORM_PLUGIN: TransformPlugin = TransformPlugin.COMPILER_PLUGIN export function setTransformPlugin(plugin: TransformPlugin) { TRANSFORM_PLUGIN = plugin @@ -68,10 +68,10 @@ export function key(name: string): KoalaCallsiteKey { if (isArktsTest()) { let key: KoalaCallsiteKey = 0 for (let i = 0; i < name.length; i++) { - key = (key << 3) | (key >> 29) ^ (name[i] as int32) + key = (key << 3) | (key >> 29) ^ (charToInt(name[i])) } return key } else { return parseInt(new UniqueId().addString(name).compute().slice(0, 10), 16) as KoalaCallsiteKey } -} \ No newline at end of file +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/ui2abc/ui2abc_test.test.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/ui2abc/ui2abc_test.test.ts index 3965d2b564099028c138b51d78d3ad34233c532a..4182d91f88c83d724433ee996ba35b0c673081f5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/ui2abc/ui2abc_test.test.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/tests-memo/test/ui2abc/ui2abc_test.test.ts @@ -188,7 +188,7 @@ suite("[ARKTS+MEMO PLUGIN] Functions with receiver", () => { ) }) - test.expectFailure("conditional expectFailure", "Lambda function with receiver", () => { + test.expectFailure("TODO: fails in runtime, probably a bug in call AST", "Lambda function with receiver", () => { const instance = new TestLambdaWithReceiver() const root = testRoot(instance.test) assertResultArray(instance.log, diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/package.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/package.json index e825d1edca78f365ea51b3a6f74885f4827fb408..c03f61a570f2f9a49d988222c16fe9237d578021 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/package.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/package.json @@ -11,7 +11,7 @@ "clean": "rimraf build", "compile": "rollup -c ./rollup.config.mjs", "compile:libarkts": "npm run compile --prefix ../libarkts", - "check": "npm run compile && rm -rf ../../arkoala-arkts/trivial/user/build && npm run build:user:pure-ets:m3 --prefix ../../arkoala-arkts/trivial/user", + "check": "npm run compile && rm -rf ../../arkoala-arkts/trivial/user/build && npm run build --prefix ../../arkoala-arkts/trivial/user", "check:run": "npm run check && npm run run:user:pure-ets:node:m3 --prefix ../../arkoala-arkts/trivial/user" } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/annotation-translator.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/annotation-translator.ts index 108c510b2f9e96de5765d5d561e4e87c6916c553..4da0448b230c73e7d631cf4f1116d261c69b9136 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/annotation-translator.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/annotation-translator.ts @@ -14,7 +14,7 @@ */ import * as arkts from "@koalaui/libarkts" -import { DecoratorNames, hasDecorator } from "./property-translators/utils" +import { DecoratorNames, hasDecorator, hasBuilderDecorator } from "./property-translators/utils" import { annotation } from "./common/arkts-utils" import { CustomComponentNames, InternalAnnotations } from "./utils" @@ -35,12 +35,12 @@ export class AnnotationsTransformer extends arkts.AbstractVisitor { // console.log(`builder transform ${node.dumpSrc()} ${arkts.isAnnotationUsage(node)}`) const node = this.visitEachChild(beforeVisit) - if (arkts.isFunctionDeclaration(node) && hasDecorator(node, DecoratorNames.BUILDER)) { + if (arkts.isFunctionDeclaration(node) && hasBuilderDecorator(node)) { return arkts.factory.updateFunctionDeclaration(node, node.function, [ annotation(InternalAnnotations.MEMO)], node.isAnonymous) } if (this.inStruct && arkts.isMethodDefinition(node) && ( - hasDecorator(node, DecoratorNames.BUILDER) || + hasBuilderDecorator(node) || node.function?.id?.name == CustomComponentNames.COMPONENT_BUILD_ORI) ) { node.function!.setAnnotations([annotation(InternalAnnotations.MEMO)]) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/builder-lambda-transformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/builder-lambda-transformer.ts index 95cfb6cd69a2772b43cda3791f900b548b410ae7..a6ded52e2402e06dc528de670fcc341c5ac0425e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/builder-lambda-transformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/builder-lambda-transformer.ts @@ -14,7 +14,11 @@ */ import * as arkts from "@koalaui/libarkts" -import { styledInstance, uiAttributeName } from "./utils" +import { getCustomComponentOptionsName, styledInstance, uiAttributeName } from "./utils" +import { StructDescriptor, StructsResolver } from "./struct-recorder" +import { DecoratorNames } from "./property-translators/utils" +import { fieldOf } from "./property-transformers" +import { backingField } from "./common/arkts-utils" function isBuilderLambdaAnnotation(annotation: arkts.AnnotationUsage): boolean { if (annotation.expr === undefined) { @@ -91,7 +95,7 @@ export function builderLambdaFunctionName(node: arkts.CallExpression): string | */ function inferType(node: arkts.CallExpression): arkts.Identifier | undefined { if (arkts.isIdentifier(node.callee)) { - const component = node.callee.name + const component = node.callee.name.replace("Impl", "") return arkts.factory.createIdentifier(uiAttributeName(component)) } const decl = arkts.getDecl(node.callee!) @@ -159,17 +163,80 @@ function builderLambdaCallee(name: string) { ) } -function transformBuilderLambdaCall(node: arkts.CallExpression): arkts.CallExpression { +function isOptionsType(type: arkts.TypeNode): type is arkts.ETSTypeReference { + return arkts.isETSTypeReference(type) && arkts.isIdentifier(type.part?.name) && (type.part?.name?.name?.startsWith("__Options") ?? false) +} + +function maybeFieldRewrite(struct: StructDescriptor, property: arkts.Property): arkts.Expression { + const value = property.value as arkts.MemberExpression + if (!arkts.isIdentifier(property.key)) return property.value! + if (arkts.isThisExpression(value.object) && arkts.isIdentifier(value.property)) { + let targetName = property.key.name + let localName = value.property.name + // Hack to work around the fact that $-conversion already made transition to backing field, + // let's rework. + if (struct.hasDecorator(targetName, DecoratorNames.LINK) && !localName.startsWith("__backing")) { + return fieldOf(arkts.factory.createThisExpression(), backingField(localName)) + } + } + return value +} + +function rewriteOptionsParameter(expression: arkts.Expression, type: arkts.TypeNode, struct: StructDescriptor): arkts.Expression { + if (!arkts.isObjectExpression(expression) || !struct) return expression + return arkts.factory.createTSAsExpression( + arkts.factory.updateObjectExpression( + expression, + expression.properties.map(value => { + if (arkts.isProperty(value) && arkts.isMemberExpression(value.value)) { + return arkts.factory.updateProperty( + value, + arkts.Es2pandaPropertyKind.PROPERTY_KIND_INIT, + value.key, + maybeFieldRewrite(struct, value), false, false + ) + } else { + return value + } + })), + type, false + ) +} + +function transformBuilderLambdaCall(resolver: StructsResolver | undefined, node: arkts.CallExpression): arkts.CallExpression { const implFunction = builderLambdaFunctionName(node) if (implFunction === undefined) { return node } + const callee = getScriptFunction(node) + let optionsIndex = -1 + let optionsType: arkts.ETSTypeReference | undefined = undefined + let struct: StructDescriptor | undefined = undefined + if (callee) { + callee.params.forEach((it, index) => { + if (arkts.isETSParameterExpression(it)) { + let type = it.typeAnnotation + if (arkts.isETSUnionType(type) && isOptionsType(type.types[0])) { + optionsIndex = index + optionsType = type.types[0] as arkts.ETSTypeReference + struct = resolver?.findStructByOptions(optionsType.baseName!) + } + } + }) + } return arkts.factory.updateCallExpression( node, builderLambdaCallee(implFunction), [ createBuilderLambdaInstanceLambda(node), - ...node.arguments.slice(1) + ...node.arguments.slice(1).map((it, index) => { + // Workaround for type inference bug! + if (index == optionsIndex) { + return rewriteOptionsParameter(it, optionsType!, struct!) + } else { + return it + } + }) ], node.typeParams, node.isOptional, @@ -183,19 +250,25 @@ function transformBuilderLambdaCall(node: arkts.CallExpression): arkts.CallExpre // in theory we don't add new files to import here, // only the new names from the same file, // to it should be okay. -function transformETSImportDeclaration(node: arkts.ETSImportDeclaration): arkts.ETSImportDeclaration { +function transformETSImportDeclaration(resolver: StructsResolver | undefined, node: arkts.ETSImportDeclaration): arkts.ETSImportDeclaration { const additionalNames: string[] = [] node.specifiers.forEach(it => { - const name = (it as arkts.ImportSpecifier).imported - const scriptFunction = name ? getIdentifierScriptFunction(name) : undefined - if (scriptFunction) { - const target = builderLambdaTargetFunctionName(scriptFunction) - if (target) { - // TODO: The type name here should not be explicitly manipulated - // but the type checker of the compiler is still incapable - // to infer the proper lambda argument types - additionalNames.push(uiAttributeName(name?.name!)) - additionalNames.push(target) + if (arkts.isImportSpecifier(it)) { + const name = it.imported + const struct = resolver?.findStruct(it.imported!) + if (struct) { + additionalNames.push(getCustomComponentOptionsName(name?.name!)) + } + const scriptFunction = name ? getIdentifierScriptFunction(name) : undefined + if (scriptFunction) { + const target = builderLambdaTargetFunctionName(scriptFunction) + if (target) { + // TODO: The type name here should not be explicitly manipulated + // but the type checker of the compiler is still incapable + // to infer the proper lambda argument types + additionalNames.push(uiAttributeName(name?.name!)) + additionalNames.push(target) + } } } }) @@ -204,11 +277,11 @@ function transformETSImportDeclaration(node: arkts.ETSImportDeclaration): arkts. return arkts.factory.updateETSImportDeclaration( node, node.source, - [ ...node.specifiers, - ...additionalNames.map(it => arkts.factory.createImportSpecifier( - arkts.factory.createIdentifier(it), - arkts.factory.createIdentifier(it) - )) + [...node.specifiers, + ...additionalNames.map(it => arkts.factory.createImportSpecifier( + arkts.factory.createIdentifier(it), + arkts.factory.createIdentifier(it) + )) ], node.isTypeKind ? arkts.Es2pandaImportKinds.IMPORT_KINDS_TYPES : arkts.Es2pandaImportKinds.IMPORT_KINDS_ALL ) @@ -216,14 +289,17 @@ function transformETSImportDeclaration(node: arkts.ETSImportDeclaration): arkts. export class BuilderLambdaTransformer extends arkts.AbstractVisitor { + constructor(private resolver: StructsResolver | undefined) { + super() + } visitor(beforeChildren: arkts.AstNode): arkts.AstNode { const node = this.visitEachChild(beforeChildren) if (arkts.isCallExpression(node)) { - return transformBuilderLambdaCall(node) + return transformBuilderLambdaCall(this.resolver, node) } if (arkts.isETSImportDeclaration(node)) { - return transformETSImportDeclaration(node) + return transformETSImportDeclaration(this.resolver, node) } return node diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/call-transformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/call-transformer.ts index dc09c442ee5630312834c450eeadccf5f9750e07..b87f3aa13a8e318b16eb962be547ce37fb6e4c43 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/call-transformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/call-transformer.ts @@ -68,6 +68,52 @@ export class CallTransformer extends arkts.AbstractVisitor { ) } + private componentsList = new Map([ + [ "Column", { args: 1 } ], + [ "Row", { args: 1 } ], + [ "List", { args: 1 } ], + [ "ListItem", { args: 1 } ], + [ "DatePicker", { args: 1 } ], + [ "Slider", { args: 1 } ], + [ "Tabs", { args: 1 } ], + [ "TextInput", { args: 1 } ], + [ "Toggle", { args: 1 } ], + [ "Progress", { args: 1 } ], + [ "Swiper", { args: 1, options: "SwiperController" } ], + [ "Grid", { args: 2, options: "GridLayoutOptions" } ], + [ "GridItem", { args: 1 } ], + [ "Scroll", { args: 1, options: "Scroller" } ], + + + ]) + seenComponents = new Set() + + transformComponentCallExpression(node: arkts.CallExpression, nameIdent: arkts.Identifier): arkts.CallExpression { + const name = nameIdent.name + const component = this.componentsList.get(name) + if (!this.seenComponents.has(name)) { + this.seenComponents.add(name) + this.imports.add(component.options ?? `${name}Options`, '@ohos.arkui') + } + node = this.visitEachChild(node) as arkts.CallExpression + return arkts.factory.createCallExpression(node.callee, + this.insertUndefinedTillTrailing(node.arguments, component.args), + node.typeParams, + node.isOptional, + node.hasTrailingComma, + node.trailingBlock + ) + } + + insertUndefinedTillTrailing(params: readonly arkts.Expression[], requestedParams: number): arkts.Expression[] { + const result: arkts.Expression[] = [] + params.forEach(it => result.push(it)) + while (result.length < requestedParams) { + result.push(arkts.factory.createUndefinedLiteral()) + } + return result + } + visitor(node: arkts.AstNode): arkts.AstNode { if (arkts.isClassDeclaration(node)) { this.classNode = node @@ -80,6 +126,10 @@ export class CallTransformer extends arkts.AbstractVisitor { return this.transformDollarVariableAccess(node) } } else if (arkts.isCallExpression(node) && arkts.isIdentifier(node.callee)) { + // Ugly hack, until Panda 26224 is fixed. + if (this.componentsList.get(node.callee.name)) { + return this.transformComponentCallExpression(node, node.callee) + } if (this.whiteList.includes(node.callee.name)) { return this.transformDollarCallExpression(node) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/checked-stage-plugin.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/checked-stage-plugin.ts index e2b48bce7db355339405e75682fadca0c44e82d9..1d3f0b45ff457045ca513da97db3cb69e234bace 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/checked-stage-plugin.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/checked-stage-plugin.ts @@ -18,7 +18,8 @@ import { StyleTransformer } from "./style-transformer" import { EtsFirstArgTransformer } from "./ets-first-arg-transformer" import { BuilderLambdaTransformer } from "./builder-lambda-transformer" import { InstantiateFactoryHelper } from "./instantiate-factory-helper" - +import { Importer } from "./utils" +import { StructsResolver, StructTable } from "./struct-recorder" export interface TransformerOptions { trace?: boolean, } @@ -26,14 +27,14 @@ export interface TransformerOptions { export default function checkedTransformer( userPluginOptions?: TransformerOptions ): arkts.ProgramTransformer { - console.log("CHECKED: ", userPluginOptions) return (program: arkts.Program, _compilationOptions: arkts.CompilationOptions, context: arkts.PluginContext) => { + const structsResolver = context.parameter("structsTable")!; [ new InstantiateFactoryHelper(), new EtsFirstArgTransformer(), new StyleTransformer(), - new BuilderLambdaTransformer() + new BuilderLambdaTransformer(structsResolver) ] - .reduce((node: arkts.AstNode, transformer) => transformer.visitor(node), program.astNode) + .reduce((node: arkts.AstNode, transformer) => transformer.visitor(node), program.ast) } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/class-transformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/class-transformer.ts new file mode 100644 index 0000000000000000000000000000000000000000..4f876a4bfeb73bbe6360103db36235102780630e --- /dev/null +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/class-transformer.ts @@ -0,0 +1,246 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as arkts from "@koalaui/libarkts" + +import { classProperties } from "./common/arkts-utils" +import { CustomComponentNames } from "./utils" + +export class ClassTransformer extends arkts.AbstractVisitor { + + constructor(options?: arkts.VisitorOptions) { + super(options) + } + + visitor(node: arkts.AstNode): arkts.AstNode { + if (arkts.isETSModule(node)) { + const program = (node as arkts.ETSModule).program + if (program + && (!program.modulePrefix + || (!program.modulePrefix.startsWith(CustomComponentNames.COMPONENT_DEFAULT_IMPORT) + && !program.modulePrefix.startsWith("@koalaui")))) { + return this.visitEachChild(node) + } + } + if (arkts.isClassDeclaration(node) && !arkts.isETSStructDeclaration(node)) { + const props = classProperties(node, propertyVerifier) + return props.length > 0 ? this.updateClass(node, props) : node + } + return node + } + + updateClass(clazz: arkts.ClassDeclaration, properties: arkts.ClassProperty[]): arkts.ClassDeclaration { + const node = clazz.definition; + return node + ? arkts.factory.updateClassDeclaration( + clazz, + arkts.factory.updateClassDefinition( + node, + node.ident, + node.typeParams, + node.superTypeParams, + node.implements, + undefined, + node.super, + this.rewriteClassProperties(clazz, properties, node.body as arkts.ClassElement[] ?? []), + node.modifiers, + node.modifierFlags + ) + ) + : clazz + } + + rewriteClassProperties(clazz: arkts.ClassDeclaration, properties: arkts.ClassProperty[], body: readonly arkts.ClassElement[]): arkts.ClassElement[] { + const result: arkts.ClassElement[] = [] + body.forEach(node => { + if (arkts.isClassProperty(node) && propertyVerifier(node)) { + this.rewriteProperty(node, result) + } else if (arkts.isMethodDefinition(node) && node.isConstructor) { + result.push(this.updateConstructor(node, properties)) + } else { + result.push(node) + } + }) + return result + } + + rewriteProperty(property: arkts.ClassProperty, result: arkts.ClassElement[]) { + const backing = arkts.factory.createClassProperty( + createBackingIdentifier(property), + property.value, + property.typeAnnotation, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PRIVATE, + false + ) + backing.setAnnotations(property.annotations) + result.push(backing) + + result.push(createGetterSetter(property, [])) + } + + updateConstructor(method: arkts.MethodDefinition, properties: arkts.ClassProperty[]) { + const originalBody = method.function?.body as arkts.BlockStatement + if (!method.function || !originalBody) { + return method + } + + const statements: arkts.Statement[] = [] + originalBody.statements.forEach(state => { + if (arkts.isExpressionStatement(state) + && arkts.isAssignmentExpression((state as arkts.ExpressionStatement).expression)) { + statements.push(this.rewriteStatement(state, properties)) + } else { + statements.push(state) + } + }) + + return arkts.factory.updateMethodDefinition( + method, + method.kind, + method.id, + arkts.factory.createFunctionExpression( + method.id, + arkts.factory.createScriptFunction( + arkts.factory.createBlockStatement(statements), + method.function.typeParams, + method.function.params ?? [], + method.function.returnTypeAnnotation, + method.function.hasReceiver, + method.function.flags, + method.function.modifierFlags, + method.function.id, + method.function.annotations + ) + ), + method.modifierFlags, + method.isComputed + ) + } + + rewriteStatement(state: arkts.ExpressionStatement, properties: arkts.ClassProperty[]): arkts.ExpressionStatement { + const expr = state.expression as arkts.AssignmentExpression + if (arkts.isMemberExpression(expr.left) + && arkts.isThisExpression(expr.left.object) + && arkts.isIdentifier(expr.left.property)) + { + const propertyName = expr.left.property.name + const property = properties.find(it => it.id?.name == propertyName) + if (property) { + return arkts.factory.createExpressionStatement( + arkts.factory.createAssignmentExpression( + arkts.factory.createMemberExpression( + arkts.factory.createThisExpression(), + createBackingIdentifier(property), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_PROPERTY_ACCESS, + false, + false + ), + expr.right, + expr.operatorType + ) + ) + } + } + return state + } +} + +function propertyVerifier(property: arkts.ClassProperty): boolean { + return arkts.hasModifierFlag(property, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PUBLIC) + && !arkts.hasModifierFlag(property, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_STATIC) +} + +function createBackingIdentifier(property: arkts.ClassProperty): arkts.Identifier { + return arkts.factory.createIdentifier("__backing_" + property.id!.name) +} + +function createGetterSetter(property: arkts.ClassProperty, setterStatements: arkts.Statement[]): arkts.MethodDefinition { + const name = property.id!.name + const getterFunction = arkts.factory.createScriptFunction( + arkts.factory.createBlockStatement([ + arkts.factory.createReturnStatement( + arkts.factory.createMemberExpression( + arkts.factory.createThisExpression(), + createBackingIdentifier(property), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_PROPERTY_ACCESS, + false, + false + ) + ) + ]), + undefined, + [ + ], + property.typeAnnotation, + true, + arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_METHOD | arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_GETTER, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PUBLIC, + arkts.factory.createIdentifier(name), + [] + ) + + const setterFunction = arkts.factory.createScriptFunction( + arkts.factory.createBlockStatement([ + arkts.factory.createExpressionStatement( + arkts.factory.createAssignmentExpression( + arkts.factory.createMemberExpression( + arkts.factory.createThisExpression(), + createBackingIdentifier(property), + arkts.Es2pandaMemberExpressionKind.MEMBER_EXPRESSION_KIND_PROPERTY_ACCESS, + false, + false + ), + arkts.factory.createIdentifier("value"), + arkts.Es2pandaTokenType.TOKEN_TYPE_PUNCTUATOR_SUBSTITUTION + ) + ) + ]), + undefined, + [ + arkts.factory.createETSParameterExpression( + arkts.factory.createIdentifier("value"), + false, + undefined, + property.typeAnnotation! + ) + ], + undefined, + true, + arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_METHOD | arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_SETTER | arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_OVERLOAD, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PUBLIC, + arkts.factory.createIdentifier(name), + [] + ) + + let setter = arkts.factory.createMethodDefinition( + arkts.Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_SET, + arkts.factory.createIdentifier(name), + arkts.factory.createFunctionExpression(arkts.factory.createIdentifier(name), setterFunction), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PUBLIC, + false + ) + + let getter = arkts.factory.createMethodDefinition( + arkts.Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_GET, + arkts.factory.createIdentifier(name), + arkts.factory.createFunctionExpression(arkts.factory.createIdentifier(name), getterFunction), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PUBLIC, + false, + [setter] + ) + setter.parent = getter + + return getter +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/common/arkts-utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/common/arkts-utils.ts index 7ec7bda68e6410715f184b3b83e9e98932a57b90..7308aa23da3d7094e5e138975a07240f83f15a80 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/common/arkts-utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/common/arkts-utils.ts @@ -15,10 +15,9 @@ import * as arkts from "@koalaui/libarkts" -export function annotation(name: string): arkts.AnnotationUsage { - const ident: arkts.Identifier = arkts.factory.createIdentifier(name, undefined).setAnnotationUsage() - const annotation: arkts.AnnotationUsage = arkts.factory.createAnnotationUsage(ident, []) - +export function annotation(name: string, params?: arkts.AstNode[]): arkts.AnnotationUsage { + const ident: arkts.Identifier = arkts.factory.createIdentifier(name).setAnnotationUsage() + const annotation: arkts.AnnotationUsage = arkts.factory.createAnnotationUsage(ident, params ?? []) annotation.modifierFlags = arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_ANNOTATION_USAGE ident.parent = annotation @@ -77,3 +76,9 @@ export function classMethods(clazz: arkts.ClassDeclaration, predicate?: (method: const methods = body.filter(arkts.isMethodDefinition) return predicate ? methods.filter(predicate) : methods } + +export function classProperties(clazz: arkts.ClassDeclaration, predicate?: (prop: arkts.ClassProperty) => boolean): arkts.ClassProperty[] { + const body = clazz.definition?.body ?? [] + const props = body.filter(arkts.isClassProperty) + return predicate ? props.filter(predicate) : props +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/component-transformer.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/component-transformer.ts index 714bc850ea2cd75502aaced97b0caa165a34b6b2..1fbfea62f79f33879b566c8817c29984a8c000f5 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/component-transformer.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/component-transformer.ts @@ -21,12 +21,11 @@ import { InternalAnnotations } from "./utils"; import { BuilderParamTransformer, ConsumeTransformer, LinkTransformer, LocalStorageLinkTransformer, LocalStoragePropTransformer, ObjectLinkTransformer, PropertyTransformer, PropTransformer, ProvideTransformer, StateTransformer, StorageLinkTransformer, StoragePropTransformer, PlainPropertyTransformer, fieldOf, isOptionBackedByProperty, isOptionBackedByPropertyName } from "./property-transformers"; -import { annotation, backingField, isAnnotation } from "./common/arkts-utils"; -import { DecoratorNames, DecoratorParameters, hasDecorator } from "./property-translators/utils"; +import { annotation, isAnnotation, classMethods } from "./common/arkts-utils"; +import { DecoratorNames, DecoratorParameters, hasDecorator, hasBuilderDecorator } from "./property-translators/utils"; import { factory } from "./ui-factory" -import { StructDescriptor, StructTable } from "./struct-recorder"; export interface ApplicationInfo { bundleName: string, @@ -56,8 +55,15 @@ export class ComponentTransformer extends arkts.AbstractVisitor { this.parseEntryParameter(statements) this.imports.add( CustomComponentNames.COMPONENT_CLASS_NAME, - this.arkuiImport ?? CustomComponentNames.COMPONENT_DEFAULT_IMPORT) + CustomComponentNames.COMPONENT_DEFAULT_IMPORT) + this.imports.add( + InternalAnnotations.BUILDER_LAMBDA, + CustomComponentNames.COMPONENT_DEFAULT_IMPORT) + this.imports.add( + "CommonMethod", + CustomComponentNames.COMPONENT_DEFAULT_IMPORT) this.imports.add(InternalAnnotations.MEMO, "@koalaui/runtime/annotations") + this.imports.add(InternalAnnotations.MEMO_STABLE, "@koalaui/runtime/annotations") this.propertyTransformers.forEach(it => it.collectImports(this.imports)) statements.forEach(statement => { if (arkts.isETSStructDeclaration(statement)) { @@ -98,38 +104,40 @@ export class ComponentTransformer extends arkts.AbstractVisitor { } private rewriteStructToClass(node: arkts.ETSStructDeclaration): arkts.ClassDeclaration { - return arkts.factory.createClassDeclaration( - arkts.factory.createClassDefinition( - arkts.factory.createIdentifier(node.definition!.ident!.name), - undefined, - undefined, - node.definition?.implements ?? [], - undefined, - arkts.factory.createETSTypeReference( - arkts.factory.createETSTypeReferencePart( - arkts.factory.createIdentifier(CustomComponentNames.COMPONENT_CLASS_NAME, undefined), - arkts.factory.createTSTypeParameterInstantiation( - [ - arkts.factory.createETSTypeReference( - arkts.factory.createETSTypeReferencePart( - arkts.factory.createIdentifier(node.definition!.ident!.name), - undefined, undefined - ) - ), - arkts.factory.createETSTypeReference( - arkts.factory.createETSTypeReferencePart( - this.optionsName(node.definition!), - undefined, undefined - ) - ), - ] - ), undefined - ) - ), - this.rewriteStructMembers(node, (node.definition?.body as arkts.ClassElement[]) ?? []), - arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, - arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_FINAL + const definition = arkts.factory.createClassDefinition( + arkts.factory.createIdentifier(node.definition!.ident!.name), + undefined, + undefined, + node.definition?.implements ?? [], + undefined, + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier(CustomComponentNames.COMPONENT_CLASS_NAME, undefined), + arkts.factory.createTSTypeParameterInstantiation( + [ + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier(node.definition!.ident!.name), + undefined, undefined + ) + ), + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + this.optionsName(node.definition!), + undefined, undefined + ) + ), + ] + ), undefined + ) ), + this.rewriteStructMembers(node, (node.definition?.body as arkts.ClassElement[]) ?? []), + arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_FINAL + ) + definition.setAnnotations([annotation(InternalAnnotations.MEMO_STABLE)]) + return arkts.factory.createClassDeclaration( + definition, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_EXPORT, ) } @@ -143,7 +151,7 @@ export class ComponentTransformer extends arkts.AbstractVisitor { let method = node as arkts.MethodDefinition if (method.function?.id?.name == CustomComponentNames.COMPONENT_BUILD_ORI) { result.push(this.rewriteBuild(clazz, node)) - } else if (hasDecorator(node, DecoratorNames.BUILDER)) { + } else if (hasBuilderDecorator(node)) { result.push(this.rewriteBuilder(method)) } else { result.push(method) @@ -154,10 +162,13 @@ export class ComponentTransformer extends arkts.AbstractVisitor { }) this.addInitializeStruct(clazz, result) this.addDisposeStruct(clazz, result) + this.addEntryParameter(clazz, result) + this.addCustomLayoutParameter(clazz, result) + this.addInstantiate(clazz, result) return result } - private addInitializeStruct(clazz: arkts.ClassDeclaration, classBody: arkts.AstNode[]) { + private addInitializeStruct(clazz: arkts.ClassDeclaration, classBody: arkts.ClassElement[]) { const statements: arkts.Statement[] = [] forEachProperty(clazz, property => { this.getPropertyTransformer(property).applyInitializeStruct(this.pageLocalStorage, property, statements) @@ -170,7 +181,7 @@ export class ComponentTransformer extends arkts.AbstractVisitor { } } - private addDisposeStruct(clazz: arkts.ClassDeclaration, classBody: arkts.AstNode[]) { + private addDisposeStruct(clazz: arkts.ClassDeclaration, classBody: arkts.ClassElement[]) { const statements: arkts.Statement[] = [] forEachProperty(clazz, property => { this.getPropertyTransformer(property).applyDisposeStruct(property, statements) @@ -180,6 +191,90 @@ export class ComponentTransformer extends arkts.AbstractVisitor { } } + private addEntryParameter(clazz: arkts.ClassDeclaration, classBody: arkts.ClassElement[]) { + if (clazz.definition?.annotations.some(it => isAnnotation(it, DecoratorNames.ENTRY))) { + classBody.push(createTrueMethod(CustomComponentNames.COMPONENT_IS_ENTRY)) + } + } + + private addCustomLayoutParameter(clazz: arkts.ClassDeclaration, classBody: arkts.ClassElement[]) { + const methods = classMethods(clazz, method => + method.function?.id?.name == CustomComponentNames.COMPONENT_ONPLACECHILDREN_ORI || + method.function?.id?.name == CustomComponentNames.COMPONENT_ONMEASURESIZE_ORI) + if (methods.length > 0) { + classBody.push(createTrueMethod(CustomComponentNames.COMPONENT_IS_CUSTOM_LAYOUT)) + } + } + + private createFactoryParameter(typeName: string, paramName: string): arkts.ETSParameterExpression { + return arkts.factory.createETSParameterExpression( + arkts.factory.createIdentifier(paramName, + factory.createLambdaFunctionType([], + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier(typeName) + ) + ) + ) + ), false) + } + + private addInstantiate(clazz: arkts.ClassDeclaration, classBody: arkts.ClassElement[]) { + const clazzName = clazz.definition?.ident?.name! + const classOptionsName = computeOptionsName(clazz) + const methodName = `$_instantiate` + const instantiate: arkts.MethodDefinition = arkts.factory.createMethodDefinition( + arkts.Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_METHOD, + arkts.factory.createIdentifier(methodName), + arkts.factory.createFunctionExpression( + arkts.factory.createIdentifier(methodName), + arkts.factory.createScriptFunction( + arkts.factory.createBlockStatement([ + arkts.factory.createThrowStatement( + arkts.factory.createETSNewClassInstanceExpression( + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier('Error') + ) + ), + [] + ) + ) + ]), + undefined, + [ + this.createFactoryParameter(clazzName, "factory"), + factory.createInitializersOptionsParameter(classOptionsName, true), + factory.createContentParameter(true) + ], + arkts.factory.createETSTypeReference( + arkts.factory.createETSTypeReferencePart( + arkts.factory.createIdentifier('CommonMethod')) + ), + false, + arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_METHOD, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_STATIC, + arkts.factory.createIdentifier(methodName), + [annotation(InternalAnnotations.MEMO), + annotation(InternalAnnotations.BUILDER_LAMBDA, + [ + arkts.factory.createClassProperty( + arkts.factory.createIdentifier("value"), + arkts.factory.createStringLiteral("StructBase.instantiateImpl"), + undefined, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + false + ) + ]) + ] + ) + ), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_STATIC, + false + ) + classBody.push(instantiate) + } + private rewriteBuildBody(clazz: arkts.ClassDeclaration, oldBody: arkts.BlockStatement): arkts.BlockStatement { let result: arkts.Statement[] = [] forEachProperty(clazz, property => { @@ -339,3 +434,29 @@ function createVoidMethod(methodName: string, parameters: readonly arkts.Express false ) } + +function createTrueMethod(methodName: string): arkts.MethodDefinition { + const body = arkts.factory.createBlockStatement( + [arkts.factory.createReturnStatement(arkts.factory.createBooleanLiteral(true))] + ) + return arkts.factory.createMethodDefinition( + arkts.Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_METHOD, + arkts.factory.createIdentifier(methodName), + arkts.factory.createFunctionExpression( + arkts.factory.createIdentifier(methodName), + arkts.factory.createScriptFunction( + body, + undefined, + [], + arkts.factory.createETSPrimitiveType(arkts.Es2pandaPrimitiveType.PRIMITIVE_TYPE_BOOLEAN), + false, + arkts.Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_METHOD, + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PROTECTED, + arkts.factory.createIdentifier(methodName), + [] + ) + ), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PROTECTED, + false + ) +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/entry.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/entry.ts index a77f105c703c6848aa891aa761655c0d3880e306..cad054367d8e5a32372ff5c14ce93ba7af463732 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/entry.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/entry.ts @@ -23,20 +23,16 @@ interface ExternalPluginContext { } export function init() { - const pluginContext = new arkts.PluginContextImpl() + let pluginContext = new arkts.PluginContextImpl() return { name: "ui", parsed(this: ExternalPluginContext) { console.log("[ui-plugin] Run parsed stage plugin") const transform = parsedTransformer() - const prog = this.getArkTSProgram() - const options: arkts.CompilationOptions = { - isMainProgram: true, - name: "ui", - stage: arkts.Es2pandaContextState.ES2PANDA_STATE_PARSED - } + const prog = arkts.arktsGlobal.compilerContext.program + const state = arkts.Es2pandaContextState.ES2PANDA_STATE_PARSED try { - transform(prog, options, pluginContext) + arkts.runTransformer(prog, state, false, transform, pluginContext) } catch(e) { console.trace(e) throw e @@ -45,14 +41,11 @@ export function init() { checked(this: ExternalPluginContext) { console.log("[ui-plugin] Run checked stage plugin") const transform = checkedTransformer({ trace: !0 }) - const prog = this.getArkTSProgram() - const options: arkts.CompilationOptions = { - isMainProgram: true, - name: "ui", - stage: arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED - } + const prog = arkts.arktsGlobal.compilerContext.program + const state = arkts.Es2pandaContextState.ES2PANDA_STATE_CHECKED try { - transform(prog, options, pluginContext) + arkts.runTransformer(prog, state, false, transform, pluginContext) + arkts.recheckSubtree(prog.ast) } catch(e) { console.trace(e) throw e @@ -60,6 +53,7 @@ export function init() { }, clean() { console.log("[ui-plugin] Clean") + pluginContext = new arkts.PluginContextImpl() } } -} \ No newline at end of file +} diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/parsed-stage-plugin.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/parsed-stage-plugin.ts index 6e2ff8131a1bae732d0c34b0ae5ae60940d7bf0d..836ed1eb3d537ed96d8e114338e640db9573f353 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/parsed-stage-plugin.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/parsed-stage-plugin.ts @@ -14,30 +14,44 @@ */ import * as arkts from "@koalaui/libarkts" +import * as path from "node:path" import { ComponentTransformer, ComponentTransformerOptions } from './component-transformer' import { AnnotationsTransformer } from "./annotation-translator" import { CallTransformer } from "./call-transformer" import { Importer } from "./utils" import { ImportsTransformer } from "./imports-transformer" -import { StructRecorder, StructTable } from "./struct-recorder" +import { StructRecorder, StructsResolver, StructTable } from "./struct-recorder" import { StructCallRewriter } from "./struct-call-rewriter" +import { ClassTransformer } from "./class-transformer" export default function parsedTransformer( userPluginOptions?: ComponentTransformerOptions ): arkts.ProgramTransformer { - return (program: arkts.Program, _compilationOptions: arkts.CompilationOptions, context: arkts.PluginContext) => { + return (program: arkts.Program, compilationOptions: arkts.CompilationOptions, context: arkts.PluginContext) => { + const restart = compilationOptions.restart const importer = new Importer() - const structTable = new StructTable() - context.setParameter("structTable", structTable) - const tranformers: arkts.AbstractVisitor[] = [ - new StructRecorder(structTable), + let resolver = context.parameter("structsTable") + if (!resolver) { + resolver = new StructsResolver(restart) + context.setParameter("structsTable", resolver) + } + + // TODO: this logic is completely wrong, and need to be fully rethought. + const newFileIfRestart = path.resolve(arkts.global.arktsconfig!.outDir, "ui-parsed", path.relative(arkts.global.arktsconfig!.baseUrl, arkts.global.filePath)) + const currentFile = restart ? newFileIfRestart : arkts.global.filePath + const structs = resolver.getOrCreateTable(currentFile, restart) + context.setParameter("importer", importer) + + const transformers: arkts.AbstractVisitor[] = [ + new StructRecorder(structs, restart), + new StructCallRewriter(structs, importer), + new ClassTransformer(), new ComponentTransformer(importer, userPluginOptions), - new StructCallRewriter(importer, structTable), new AnnotationsTransformer(), new CallTransformer(importer, userPluginOptions), new ImportsTransformer(importer) ] - tranformers.reduce((node: arkts.AstNode, transformer: arkts.AbstractVisitor) => transformer.visitor(node), program.astNode) + transformers.reduce((node: arkts.AstNode, transformer: arkts.AbstractVisitor) => transformer.visitor(node), program.ast) } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-transformers.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-transformers.ts index 9a52b0ea8b008d3cc51a70a0e8280852262a2586..97823afb0a27c15c647ccd7ec4b434db245624b3 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-transformers.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-transformers.ts @@ -43,14 +43,15 @@ function createOptionalClassProperty( return result } -function createWrapperType(name: string, type: arkts.TypeNode): arkts.ETSTypeReference { - return arkts.factory.createETSTypeReference( +export function createWrapperType(name: string, type: arkts.TypeNode, useUnion: boolean = false): arkts.TypeNode { + const box = arkts.factory.createETSTypeReference( arkts.factory.createETSTypeReferencePart( arkts.factory.createIdentifier(name), arkts.factory.createTSTypeParameterInstantiation([type]), undefined ) ) + return useUnion ? arkts.factory.createETSUnionType([type, box]) : box } function backingFieldNameOf(property: arkts.ClassProperty): string { @@ -370,17 +371,22 @@ export class LinkTransformer extends PropertyTransformerBase { super(DecoratorNames.LINK, "LinkDecoratorProperty") } applyOptions(property: arkts.ClassProperty, result: arkts.ClassElement[]): void { - result.push(arkts.factory.createClassProperty( - arkts.factory.createIdentifier(property.id?.name!), - undefined, - createWrapperType("SubscribedAbstractProperty", property.typeAnnotation!), - arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL, - false + result.push(arkts.factory.createClassProperty( + arkts.factory.createIdentifier(property.id?.name!), + undefined, + createWrapperType("SubscribedAbstractProperty", property.typeAnnotation!, true), + arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL, + false )) + //result.push(createOptionalClassProperty(property.id!.name, property)) } applyInitializeStruct(localStorage: arkts.Expression | undefined, property: arkts.ClassProperty, result: arkts.Statement[]): void { result.push(thisPropertyMethodCall(property, "linkTo", [initializerOf(property)])) } + collectImports(imports: Importer): void { + imports.add("SubscribedAbstractProperty", "@ohos.arkui") + imports.add("LinkDecoratorProperty", "@ohos.arkui") + } } function withStorageKey(expressions: arkts.Expression[], property: arkts.ClassProperty, decorator: DecoratorNames): arkts.Expression[] { @@ -472,7 +478,7 @@ export function fieldOf(base: arkts.Expression, name: string, optional: boolean false, optional ) - //if (optional) return arkts.factory.createChainExpression(result) + if (optional) return arkts.factory.createChainExpression(result) return result } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/state.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/state.ts index 894df2e86c3fd20d271df76d380d23ffb66ae41f..d37afe62840efb432d3ac55f65f30069f101fb7e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/state.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/state.ts @@ -54,8 +54,7 @@ export class StateTranslator extends PropertyTranslator implements InitializerCo arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_PRIVATE); const thisValue: arkts.Expression = generateThisBacking(newName, false, true); const thisGet: arkts.CallExpression = generateGetOrSetCall(thisValue, "get"); - const thisSet: arkts.ExpressionStatement = arkts.factory.createExpressionStatement( - generateGetOrSetCall(thisValue, "set")); + const thisSet = generateGetOrSetCall(thisValue, "set"); const getter: arkts.MethodDefinition = this.translateGetter(originalName, this.property.typeAnnotation, thisGet); const setter: arkts.MethodDefinition = this.translateSetter(originalName, this.property.typeAnnotation, thisSet); @@ -73,9 +72,9 @@ export class StateTranslator extends PropertyTranslator implements InitializerCo translateSetter( originalName: string, typeAnnotation: arkts.TypeNode | undefined, - statement: arkts.AstNode + left: arkts.Expression ): arkts.MethodDefinition { - return createSetter2(originalName, typeAnnotation, statement); + return createSetter2(originalName, typeAnnotation, arkts.factory.createExpressionStatement(left)); } generateInitializeStruct( diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/utils.ts index f025268015eb338b33983de39d2197cc9a62410f..242d2194bd9a9f86e503c19ef7cab209b569a0b1 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/property-translators/utils.ts @@ -36,6 +36,7 @@ export enum DecoratorNames { CUSTOM_DIALOG = "CustomDialog", LOCAL_STORAGE_PROP = "LocalStorageProp", LOCAL_STORAGE_LINK = "LocalStorageLink", + LOCAL_BUILDER = "LocalBuilder", } export enum DecoratorParameters { @@ -57,6 +58,10 @@ export function hasDecorator(property: arkts.ClassProperty | arkts.ClassDefiniti return property.annotations.some((anno) => isDecoratorAnnotation(anno, decoratorName)); } +export function hasBuilderDecorator(property: arkts.ClassProperty | arkts.ClassDefinition | arkts.ClassDeclaration | arkts.MethodDefinition | arkts.FunctionDeclaration): boolean { + return hasDecorator(property, DecoratorNames.BUILDER) || hasDecorator(property, DecoratorNames.LOCAL_BUILDER) +} + export function getStageManagmentType(node: arkts.ClassProperty): string { if (hasDecorator(node, DecoratorNames.STATE)) { return "StateDecoratedVariable"; @@ -147,7 +152,7 @@ export function createSetter( export function createSetter2( name: string, type: arkts.TypeNode | undefined, - statement: arkts.AstNode + statement: arkts.Statement ): arkts.MethodDefinition { const body = arkts.factory.createBlockStatement([statement]); const param: arkts.ETSParameterExpression = arkts.factory.createETSParameterExpression( diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-call-rewriter.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-call-rewriter.ts index dff063e9a10939dbcec053a7c414f5fc2e7c1612..0b7c277fea1dbe313b821b4176b68b192b68b96c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-call-rewriter.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-call-rewriter.ts @@ -15,24 +15,24 @@ import * as arkts from "@koalaui/libarkts" import { getCustomComponentOptionsName, Importer, InternalAnnotations } from "./utils" -import { fieldOf, isOptionBackedByPropertyName } from "./property-transformers" +import { fieldOf } from "./property-transformers" import { annotation, backingField } from "./common/arkts-utils" -import { StructDescriptor, StructTable } from "./struct-recorder"; +import { StructDescriptor, StructsResolver, StructTable } from "./struct-recorder"; import { DecoratorNames } from "./property-translators/utils"; -// For some time we execute this plugin on parrsed stage. export class StructCallRewriter extends arkts.AbstractVisitor { currentStructRewritten: StructDescriptor | undefined = undefined currentStructCalled: StructDescriptor | undefined = undefined + isInCall = false - constructor(private importer: Importer, private structTable: StructTable) { + constructor(private structs: StructTable, private importer: Importer) { super() } private addImports(statement: arkts.ETSImportDeclaration) { statement.specifiers.forEach(it => { const name = (it as arkts.ImportSpecifier).imported - if (name && this.structTable.findStruct(name)) { + if (name && this.structs?.findStruct(name.name)) { this.importer.add(getCustomComponentOptionsName(name.name), statement.source?.str!) } }) @@ -43,52 +43,37 @@ export class StructCallRewriter extends arkts.AbstractVisitor { this.addImports(node) return node } - if (arkts.isClassDeclaration(node)) { - const struct = this.structTable.findStruct(node.definition?.ident!) + if (arkts.isETSStructDeclaration(node)) { + const struct = StructTable.toDescriptor(node) this.currentStructRewritten = struct const result = this.visitEachChild(node) this.currentStructRewritten = undefined return result } if (arkts.isCallExpression(node) && arkts.isIdentifier(node.callee)) { - const struct = this.structTable.findStruct(node.callee as arkts.Identifier) - let result: arkts.AstNode - if (struct) { - this.currentStructCalled = struct - result = this.visitEachChild(node) - this.currentStructCalled = undefined - } else { - result = this.visitEachChild(node) - } + this.isInCall = true + this.currentStructCalled = this.structs.findStruct(node.callee.name) + const result = this.visitEachChild(node) + this.currentStructCalled = undefined + this.isInCall = false return result } - if (this.currentStructCalled != undefined && arkts.isObjectExpression(node)) { - // Iterate over all statements to properly use fields getters - return arkts.factory.createTSAsExpression( - this.createObjectLiteralRewrite(node), - arkts.factory.createTSTypeReference(arkts.factory.createIdentifier( - getCustomComponentOptionsName(this.currentStructCalled.name))), - false - ) + + if (this.currentStructRewritten != undefined && this.isInCall && arkts.isObjectExpression(node)) { + return this.createObjectLiteralRewrite(node) } return this.visitEachChild(node) } - private createObjectLiteralRewrite(expression: arkts.ObjectExpression): arkts.ObjectExpression { - return arkts.factory.createObjectExpression( + private createObjectLiteralRewrite(expression: arkts.ObjectExpression): arkts.Expression { + const rewritten = arkts.factory.createObjectExpression( arkts.Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION, expression.properties.map(value => { - if (arkts.isProperty(value) && arkts.isMemberExpression(value.value)) { - return arkts.factory.createProperty( - arkts.Es2pandaPropertyKind.PROPERTY_KIND_INIT, - value.key, - this.createMemberRewrite(value.key as arkts.Identifier, value.value), false, false - ) - } else if (arkts.isProperty(value) && arkts.isIdentifier(value.value)) { + if (arkts.isProperty(value) && arkts.isIdentifier(value.value)) { return arkts.factory.createProperty( arkts.Es2pandaPropertyKind.PROPERTY_KIND_INIT, value.key, - this.createDollarRewrite(value.key as arkts.Identifier, value.value), false, false + this.createDollarRewrite(value.value), false, false ) } else if (arkts.isProperty(value) && arkts.isArrowFunctionExpression(value.value)) { return arkts.factory.createProperty( @@ -101,44 +86,43 @@ export class StructCallRewriter extends arkts.AbstractVisitor { } }), false ) + return rewritten + } + + // TODO: FIX, move to checked phase + private updateArrowFunctionExpression(targetPropertyNameId: arkts.Identifier, original: arkts.ArrowFunctionExpression): arkts.ArrowFunctionExpression { + let targetPropertyName = targetPropertyNameId.name + // Add @memo annotation if using @BuildParam decorated property + let decorators = this.currentStructCalled?.decoratorsFor(targetPropertyName) + if (decorators?.find(it => it == DecoratorNames.BUILDER_PARAM)) { + original.setAnnotations([annotation(InternalAnnotations.MEMO)]) + } + return original } - private createMemberRewrite(targetPropertyNameId: arkts.Identifier, original: arkts.MemberExpression): arkts.Expression { + private createMemberRewrite(original: arkts.MemberExpression): arkts.Expression { if (!this.currentStructRewritten) return original if (arkts.isThisExpression(original.object) && arkts.isIdentifier(original.property)) { let thisPropertyName = original.property.name - let targetPropertyName = targetPropertyNameId.name // Use backing field instead of property value, if using property. - let decorators = this.currentStructCalled?.decoratorsFor(targetPropertyName) - if (decorators?.find(it => isOptionBackedByPropertyName(it))) { + let decorators = this.currentStructRewritten.decoratorsFor(thisPropertyName) + if (decorators && decorators.includes(DecoratorNames.LINK)) { return fieldOf(arkts.factory.createThisExpression(), backingField(thisPropertyName)) } } return original } - private createDollarRewrite(targetPropertyNameId: arkts.Identifier, original: arkts.Identifier): arkts.Expression { + private createDollarRewrite(original: arkts.Identifier): arkts.Expression { if (!this.currentStructRewritten) return original if (original.name.startsWith('$')) { - let targetPropertyName = targetPropertyNameId.name let thisPropertyName = original.name.substring(1) // Use backing field instead of property value, if using property. - let decorators = this.currentStructCalled?.decoratorsFor(targetPropertyName) - if (decorators?.find(it => isOptionBackedByPropertyName(it))) { + let decorators = this.currentStructRewritten?.decoratorsFor(thisPropertyName) + if (decorators && decorators.length > 0) { return fieldOf(arkts.factory.createThisExpression(), backingField(thisPropertyName)) } } return original } - - private updateArrowFunctionExpression(targetPropertyNameId: arkts.Identifier, original: arkts.ArrowFunctionExpression): arkts.ArrowFunctionExpression { - if (!this.currentStructRewritten) return original - let targetPropertyName = targetPropertyNameId.name - // Add @memo annotation if using @BuildParam decorated property - let decorators = this.currentStructCalled?.decoratorsFor(targetPropertyName) - if (decorators?.find(it => it == DecoratorNames.BUILDER_PARAM)) { - original.setAnnotations([annotation(InternalAnnotations.MEMO)]) - } - return original - } -} +} \ No newline at end of file diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-recorder.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-recorder.ts index d201837eaa8a68100f910714f66bb773707a734b..ac14830ef98234946f75c0a8f75709415bf3bf70 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-recorder.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/struct-recorder.ts @@ -15,13 +15,19 @@ import * as arkts from "@koalaui/libarkts" import * as fs from "fs" +import * as path from "path" +import { CustomComponentNames } from "./utils" +import { programGetExternalSources, metaDatabase } from "@koalaui/libarkts" export class PropertyDescriptor { - constructor(public name: string, public decorators: string[]) {} + constructor(public name: string, public decorators: string[]) { } + toJSON(): string { + return `{"name": "${this.name}", "decorators": [${this.decorators.map(it => `"${it}"`).join(",")}]}` + } } export class StructDescriptor { - constructor(public name: string, public properties: PropertyDescriptor[]) {} + constructor(public name: string, public properties: PropertyDescriptor[]) { } static fromJSON(parsed: any): StructDescriptor[] { return parsed.structs.map((struct: any) => new StructDescriptor(struct.name, struct.properties.map((property: any) => @@ -29,20 +35,126 @@ export class StructDescriptor { ) )) } + toJSON(): string { + return `{ "name": "${this.name}", "properties": [${this.properties.map(it => it.toJSON()).join(", ")}] }` + } decoratorsFor(name: string): string[] | undefined { return this.properties.find(it => it.name == name)?.decorators } + + hasDecorator(property: string, decorator: string): boolean { + return this.decoratorsFor(property)?.includes(decorator) ?? false + } } +export class StructsResolver { + private structByFile = new Map() -export class StructTable { - structByName = new Map() + constructor(private restart: boolean) { + this.init() + } + + init() { + for (let source of programGetExternalSources(arkts.global.compilerContext.program)) { + const name = source.getName() + if (name.startsWith("std.")) continue + if (name.startsWith("escompat")) continue + if (name.startsWith("@ohos.arkui")) continue + if (name.startsWith("@koalaui")) continue + + let program = source.programs[0] + let table = this.getOrCreateTable(program.sourceFilePath, this.restart) + table.recordStructs(program, this.restart) + this.addTable(program.sourceFilePath, table) + } + } + + addTable(fileName: string, table: StructTable) { + this.structByFile.set(fileName, table) + } + + getOrCreateTable(fileName: string, restart: boolean) { + let result = this.structByFile.get(fileName) + if (!result) { + result = new StructTable(fileName, restart) + this.addTable(fileName, result) + } + return result + } + + findDeclarationFile(declaration: arkts.AstNode): string { + let current: arkts.AstNode|undefined = declaration + while (current && !arkts.isETSModule(current)) { + current = current.parent + } + if (!current) throw new Error(`Is not part of module`) + let module = current as arkts.ETSModule + return module.program!.sourceFilePath + } + + private declarationToTable(declaration: arkts.AstNode): StructTable { + const declarationFile = this.findDeclarationFile(declaration) + if (!declarationFile) throw new Error(`No declaration file`) + let structs = this.structByFile.get(declarationFile) + if (!structs) { + structs = new StructTable(declarationFile, this.restart) + this.addTable(declarationFile, structs) + } + return structs + } + + findStructByOptions(name: arkts.AstNode|undefined): StructDescriptor | undefined { + if (!name) return undefined + const declaration = arkts.getDecl(name) + if (!declaration || !arkts.isTSInterfaceDeclaration(declaration)) return undefined + const structName = declaration.id!.name.replace(CustomComponentNames.COMPONENT_INTERFACE_PREFIX, "") + return this.declarationToTable(declaration).findStruct(structName) + } findStruct(name: arkts.Identifier): StructDescriptor | undefined { - return this.structByName.get(name.name) + const declaration = arkts.getDecl(name) + if (!declaration) return undefined + return this.declarationToTable(declaration).findStruct(name.name) + } + + hasDefinition(filename: string): boolean { + return this.structByFile.has(filename) + } +} + +export class StructTable { + private structByName = new Map() + constructor(private fileName: string, private restart: boolean) { + if (this.restart) { + this.readDB() + } + } + readDB() { + const db = metaDatabase(this.fileName) + if (fs.existsSync(db)) { + try { + this.addDescriptors( + StructDescriptor.fromJSON( + JSON.parse( + fs.readFileSync(db, "utf-8") + ) + ) + ) + } catch (e: any) { + console.log(e.stack) + } + } + } + recordStructs(program: arkts.Program, restart: boolean = false) { + new StructRecorder(this, restart).visitor(program.ast) + } + findStruct(name: string): StructDescriptor|undefined { + return this.structByName.get(name) } addStruct(declaration: arkts.ETSStructDeclaration) { - this.addDescriptor(this.toDescriptor(declaration)) + if (this.structByName.has(declaration.definition?.ident?.name!)) return + const descriptor = StructTable.toDescriptor(declaration) + this.addDescriptor(descriptor) } addDescriptor(descriptor: StructDescriptor) { this.structByName.set(descriptor.name, descriptor) @@ -50,19 +162,18 @@ export class StructTable { addDescriptors(descriptors: StructDescriptor[]) { descriptors.forEach(it => this.addDescriptor(it)) } - - toDescriptor(declaration: arkts.ETSStructDeclaration): StructDescriptor { + static toDescriptor(declaration: arkts.ETSStructDeclaration): StructDescriptor { return new StructDescriptor( declaration.definition?.ident?.name!, declaration.definition!.body .filter(arkts.isClassProperty) .map((classProperty: arkts.ClassProperty) => new PropertyDescriptor((classProperty.key as arkts.Identifier).name!, - this.extractDecorators(classProperty)) + StructTable.extractDecorators(classProperty)) ) - ) + ) } - extractDecorators(property: arkts.ClassProperty): string[] { + static extractDecorators(property: arkts.ClassProperty): string[] { let decorators = property.decorators .filter(it => arkts.isIdentifier(it.expr)) .map(it => (it.expr as arkts.Identifier).name!) @@ -71,26 +182,47 @@ export class StructTable { .map(it => (it.expr as arkts.Identifier).name!) return decorators.concat(annotations) } + update() { + if (!this.restart) return + if (this.structByName.size == 0) return + let lines = [] + for (let desc of this.structByName.values()) { + lines.push(desc.toJSON()) + } + let result = `{"structs": [ ${lines.join(",")} ]}` + const filePath = metaDatabase( + path.resolve(arkts.global.arktsconfig!.outDir, path.relative(arkts.global.arktsconfig!.baseUrl, arkts.global.filePath)) + ) + fs.mkdirSync(path.dirname(filePath), { recursive: true }) + fs.writeFileSync(filePath, result) + } } export class StructRecorder extends arkts.AbstractVisitor { - constructor(private table: StructTable) { + constructor(private table: StructTable, private restart: boolean = false) { super() - const database = "./structs.json" - if (fs.existsSync(database)) { - try { - table.addDescriptors(StructDescriptor.fromJSON(JSON.parse(fs.readFileSync(database, "utf-8")))) - } catch (e: any) { - console.log(e.stack) - } - } } visitor(node: arkts.AstNode): arkts.AstNode { + if (arkts.isETSModule(node)) { + const result = this.visitEachChild(node) + this.table.update() + return result + } if (arkts.isETSStructDeclaration(node)) { this.table.addStruct(node) + return node + } + // Do not go inside classes, structs cannot be there. + if (arkts.isClassDeclaration(node)) { + return node + } + if (arkts.isFunctionDeclaration(node)) { + return node + } + if (arkts.isInterfaceDecl(node)) { + return node } - this.visitEachChild(node) - return node + return this.visitEachChild(node) } } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/ui-factory.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/ui-factory.ts index fe871ab13e6440c14d26a534c32f1cab48dae2e0..6f516b758cb8615c4b2430c3b00117d3c17b925e 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/ui-factory.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/ui-factory.ts @@ -96,36 +96,37 @@ export class factory { /** * create `initializers: | undefined` as parameter */ - static createInitializersOptionsParameter(optionsName: string): arkts.ETSParameterExpression { + static createInitializersOptionsParameter(optionsName: string, isOptional: boolean = false): arkts.ETSParameterExpression { return arkts.factory.createETSParameterExpression( factory.createInitializerOptionsIdentifier( optionsName ), - false + isOptional ) } /** * create `content: (() => void) | undefined` as identifier */ - static createContentIdentifier(): arkts.Identifier { + static createContentIdentifier(isOptional: boolean): arkts.Identifier { return arkts.factory.createIdentifier( - BuilderLambdaNames.CONTENT_PARAM_NAME, - arkts.factory.createETSUnionType([ - factory.createLambdaFunctionType(), - arkts.factory.createETSUndefinedType() - ]) - ); + BuilderLambdaNames.CONTENT_PARAM_NAME, + isOptional ? factory.createLambdaFunctionType() : + arkts.factory.createETSUnionType([ + factory.createLambdaFunctionType(), + arkts.factory.createETSUndefinedType() + ]) + ) } /** * create `@memo() content: (() => void) | undefined` as parameter */ - static createContentParameter(): arkts.ETSParameterExpression { - const contentParam: arkts.Identifier = factory.createContentIdentifier(); - const param = arkts.factory.createETSParameterExpression(contentParam, false); - param.setAnnotations([annotation(InternalAnnotations.MEMO)]); - return param; + static createContentParameter(isOptional: boolean = false): arkts.ETSParameterExpression { + const contentParam: arkts.Identifier = factory.createContentIdentifier(isOptional) + const param = arkts.factory.createETSParameterExpression(contentParam, isOptional) + param.setAnnotations([annotation(InternalAnnotations.MEMO)]) + return param } /** diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/utils.ts b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/utils.ts index 933782a16064ac6175d87b8648921116d359fb59..1a3fdbb06032030e5c045aa09215ea29e2c1a60c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/utils.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/src/utils.ts @@ -32,7 +32,11 @@ export enum CustomComponentNames { COMPONENT_UPDATE_STRUCT = '__updateStruct', COMPONENT_BUILD = '_build', REUSABLE_COMPONENT_REBIND_STATE = '__rebindStates', - COMPONENT_INITIALIZERS_NAME = 'initializers' + COMPONENT_INITIALIZERS_NAME = 'initializers', + COMPONENT_IS_ENTRY = 'isEntry', + COMPONENT_IS_CUSTOM_LAYOUT = 'isCustomLayoutComponent', + COMPONENT_ONPLACECHILDREN_ORI = 'onPlaceChildren', + COMPONENT_ONMEASURESIZE_ORI = 'onMeasureSize' } export enum BuilderLambdaNames { @@ -47,10 +51,11 @@ export enum BuilderLambdaNames { export enum InternalAnnotations { MEMO = 'memo', MEMO_STABLE = 'memo_stable', + BUILDER_LAMBDA = 'BuilderLambda' } export function uiAttributeName(componentName: string): string { - return `UI${componentName}Attribute` + return `${componentName}Attribute` } export function getCustomComponentOptionsName(className: string): string { return `${CustomComponentNames.COMPONENT_INTERFACE_PREFIX}${className}` @@ -132,7 +137,7 @@ export function makeImport(what: string, asWhat: string, where: string) { export class Importer { storage = new Map() - private defaultArkUIImports = [ + private defaultArkUIImports1 = [ 'Color', 'ClickEvent', 'FlexAlign', 'Image', 'Button', 'List', @@ -142,21 +147,23 @@ export class Importer { 'TestComponent', 'TestComponentOptions', 'ForEach', 'Text', 'Margin', 'Padding', 'BorderOptions', 'Curve', 'RouteType', 'TextOverflowOptions', 'Flex', 'FlexWrap', 'HorizontalAlign', 'Scroll', 'Tabs', 'TabsController', 'TabContent', - 'NavDestination', 'NavPathStack', 'Literal_String_target_NavigationType_type', + 'NavDestination', 'NavPathStack', 'IDataSource', 'DataChangeListener', 'ItemAlign', 'ImageFit', 'FlexDirection', 'FontWeight', 'Counter', 'Toggle', 'ToggleType', 'BarMode', 'TextAlign', 'VerticalAlign', 'TextOverflow', 'BarState', 'NavPathInfo', 'Stack', 'Swiper', - 'ListItem', 'Grid', 'GridItem', 'Navigator', 'Position', 'Axis', + 'ListItem', 'Navigator', 'Position', 'Axis', 'TextInput', 'Font', 'Alignment', 'Visibility', 'ImageRepeat', 'SizeOptions', 'Divider', 'TabBarOptions', 'Navigation', 'Span', 'NavigationMode', 'BarPosition', 'EnterKeyType', 'LazyForEach', - 'TestComponent', 'TestComponentOptions', 'UITestComponentAttribute', 'ForEach', 'Text', + 'UITestComponentAttribute', 'ForEach', 'Text', 'AppStorage', 'LocalStorage', 'AbstractProperty', 'SubscribedAbstractProperty', ] + private defaultArkUIImports2 = [ 'TestComponentOptions' ] + constructor() { const withDefaultImports = true if (withDefaultImports) { - this.defaultArkUIImports.forEach(it => { + this.defaultArkUIImports2.forEach(it => { this.add(it, '@ohos.arkui') }) } diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/tsconfig.json b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/tsconfig.json index e636131aa76108979de50177e470b80eed1e1bc3..3853af984543804b8aaeb2e1159417a71e825cb4 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/tsconfig.json +++ b/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/ui-plugins/tsconfig.json @@ -7,7 +7,7 @@ "module": "CommonJS" }, "include": [ - "./src/**/*.ts", + "./src/**/*.ts" ], "references": [ {"path": "../libarkts"}