xbintsc 0.5.6 → 0.5.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +20 -10
- package/README.md +8 -7
- package/README.zh-CN.md +6 -6
- package/dist/src/binder/declarations.js +14 -3
- package/dist/src/binder/declarations.js.map +1 -1
- package/dist/src/cli/hints.js +7 -1
- package/dist/src/cli/hints.js.map +1 -1
- package/dist/src/cli/main.js +115 -15
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/watch.d.ts +25 -0
- package/dist/src/cli/watch.js +93 -0
- package/dist/src/cli/watch.js.map +1 -0
- package/dist/src/codegen/generator/calls/access.js +11 -2
- package/dist/src/codegen/generator/calls/access.js.map +1 -1
- package/dist/src/codegen/generator/calls/closures.js +12 -4
- package/dist/src/codegen/generator/calls/closures.js.map +1 -1
- package/dist/src/codegen/generator/context.d.ts +8 -0
- package/dist/src/codegen/generator/context.js +22 -3
- package/dist/src/codegen/generator/context.js.map +1 -1
- package/dist/src/codegen/generator/expressions/operators.js +17 -15
- package/dist/src/codegen/generator/expressions/operators.js.map +1 -1
- package/dist/src/codegen/generator/expressions/primary.js +5 -0
- package/dist/src/codegen/generator/expressions/primary.js.map +1 -1
- package/dist/src/codegen/generator/module.js +0 -7
- package/dist/src/codegen/generator/module.js.map +1 -1
- package/dist/src/codegen/generator/numeric.d.ts +6 -3
- package/dist/src/codegen/generator/numeric.js +54 -11
- package/dist/src/codegen/generator/numeric.js.map +1 -1
- package/dist/src/codegen/generator/state.js +23 -0
- package/dist/src/codegen/generator/state.js.map +1 -1
- package/dist/src/codegen/generator/statements/control-flow.js +1 -4
- package/dist/src/codegen/generator/statements/control-flow.js.map +1 -1
- package/dist/src/codegen/generator/statements/loops.js +48 -16
- package/dist/src/codegen/generator/statements/loops.js.map +1 -1
- package/dist/src/codegen/generator/tables.js +26 -1
- package/dist/src/codegen/generator/tables.js.map +1 -1
- package/dist/src/diagnostics/diagnostic.d.ts +3 -1
- package/dist/src/diagnostics/diagnostic.js +23 -3
- package/dist/src/diagnostics/diagnostic.js.map +1 -1
- package/dist/src/driver/app-artifacts.d.ts +42 -0
- package/dist/src/driver/app-artifacts.js +53 -0
- package/dist/src/driver/app-artifacts.js.map +1 -0
- package/dist/src/driver/build-key.d.ts +29 -0
- package/dist/src/driver/build-key.js +35 -0
- package/dist/src/driver/build-key.js.map +1 -0
- package/dist/src/driver/bundler/graph.js +61 -12
- package/dist/src/driver/bundler/graph.js.map +1 -1
- package/dist/src/driver/bundler/merge.js +7 -1
- package/dist/src/driver/bundler/merge.js.map +1 -1
- package/dist/src/driver/compiler.d.ts +10 -67
- package/dist/src/driver/compiler.js +95 -234
- package/dist/src/driver/compiler.js.map +1 -1
- package/dist/src/driver/config.d.ts +3 -0
- package/dist/src/driver/config.js +8 -0
- package/dist/src/driver/config.js.map +1 -1
- package/dist/src/driver/frontend.d.ts +37 -0
- package/dist/src/driver/frontend.js +92 -0
- package/dist/src/driver/frontend.js.map +1 -0
- package/dist/src/driver/index.d.ts +1 -1
- package/dist/src/driver/index.js.map +1 -1
- package/dist/src/driver/options.d.ts +64 -0
- package/dist/src/driver/options.js +9 -0
- package/dist/src/driver/options.js.map +1 -0
- package/dist/src/driver/runtime-objects.d.ts +38 -0
- package/dist/src/driver/runtime-objects.js +112 -0
- package/dist/src/driver/runtime-objects.js.map +1 -0
- package/dist/src/driver/toolchain-provider.d.ts +4 -0
- package/dist/src/driver/toolchain-provider.js +4 -0
- package/dist/src/driver/toolchain-provider.js.map +1 -1
- package/dist/src/driver/toolchain.d.ts +32 -1
- package/dist/src/driver/toolchain.js +115 -11
- package/dist/src/driver/toolchain.js.map +1 -1
- package/dist/src/driver/version.d.ts +12 -0
- package/dist/src/driver/version.js +13 -0
- package/dist/src/driver/version.js.map +1 -0
- package/dist/src/driver/win-icon.d.ts +7 -9
- package/dist/src/driver/win-icon.js +37 -35
- package/dist/src/driver/win-icon.js.map +1 -1
- package/dist/src/extensions/node/fs/index.d.ts +4 -3
- package/dist/src/extensions/node/fs/index.js +12 -3
- package/dist/src/extensions/node/fs/index.js.map +1 -1
- package/dist/src/extensions/node/fs-promises/index.d.ts +5 -5
- package/dist/src/extensions/node/fs-promises/index.js +15 -6
- package/dist/src/extensions/node/fs-promises/index.js.map +1 -1
- package/dist/src/parser/declarations/classes.js +5 -0
- package/dist/src/parser/declarations/classes.js.map +1 -1
- package/dist/src/parser/declarations/functions.js +13 -1
- package/dist/src/parser/declarations/functions.js.map +1 -1
- package/dist/src/parser/modules.js +8 -3
- package/dist/src/parser/modules.js.map +1 -1
- package/dist/src/parser/parser.d.ts +1 -0
- package/dist/src/parser/parser.js +23 -0
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/tests/cli/check.test.d.ts +6 -0
- package/dist/tests/cli/check.test.js +68 -0
- package/dist/tests/cli/check.test.js.map +1 -0
- package/dist/tests/cli/main.test.js +19 -0
- package/dist/tests/cli/main.test.js.map +1 -1
- package/dist/tests/cli/watch.test.d.ts +6 -0
- package/dist/tests/cli/watch.test.js +72 -0
- package/dist/tests/cli/watch.test.js.map +1 -0
- package/dist/tests/codegen/expressions.test.js +15 -3
- package/dist/tests/codegen/expressions.test.js.map +1 -1
- package/dist/tests/codegen/llvm.test.js +16 -0
- package/dist/tests/codegen/llvm.test.js.map +1 -1
- package/dist/tests/diagnostics/diagnostic.test.js +8 -0
- package/dist/tests/diagnostics/diagnostic.test.js.map +1 -1
- package/dist/tests/docs/structure.test.d.ts +1 -0
- package/dist/tests/docs/structure.test.js +92 -0
- package/dist/tests/docs/structure.test.js.map +1 -0
- package/dist/tests/driver/compiler.test.js +6 -0
- package/dist/tests/driver/compiler.test.js.map +1 -1
- package/dist/tests/driver/config.test.js +9 -0
- package/dist/tests/driver/config.test.js.map +1 -1
- package/dist/tests/driver/icon.test.js +19 -32
- package/dist/tests/driver/icon.test.js.map +1 -1
- package/dist/tests/driver/invalid-input.test.d.ts +10 -0
- package/dist/tests/driver/invalid-input.test.js +29 -0
- package/dist/tests/driver/invalid-input.test.js.map +1 -0
- package/dist/tests/driver/modules.test.js +42 -3
- package/dist/tests/driver/modules.test.js.map +1 -1
- package/dist/tests/driver/toolchain-provider.test.js +27 -1
- package/dist/tests/driver/toolchain-provider.test.js.map +1 -1
- package/dist/tests/driver/toolchain.test.js +60 -2
- package/dist/tests/driver/toolchain.test.js.map +1 -1
- package/dist/tests/e2e/array-buffer.test.d.ts +5 -0
- package/dist/tests/e2e/array-buffer.test.js +38 -0
- package/dist/tests/e2e/array-buffer.test.js.map +1 -0
- package/dist/tests/e2e/array-from-iterables.test.d.ts +7 -0
- package/dist/tests/e2e/array-from-iterables.test.js +34 -0
- package/dist/tests/e2e/array-from-iterables.test.js.map +1 -0
- package/dist/tests/e2e/array-symbol-iterator.test.d.ts +8 -0
- package/dist/tests/e2e/array-symbol-iterator.test.js +42 -0
- package/dist/tests/e2e/array-symbol-iterator.test.js.map +1 -0
- package/dist/tests/e2e/async-await.test.js +1 -1
- package/dist/tests/e2e/async-fs.test.d.ts +9 -0
- package/dist/tests/e2e/async-fs.test.js +119 -0
- package/dist/tests/e2e/async-fs.test.js.map +1 -0
- package/dist/tests/e2e/async-generators.test.d.ts +1 -0
- package/dist/tests/e2e/async-generators.test.js +154 -0
- package/dist/tests/e2e/async-generators.test.js.map +1 -0
- package/dist/tests/e2e/await-ordering.test.d.ts +5 -0
- package/dist/tests/e2e/await-ordering.test.js +37 -0
- package/dist/tests/e2e/await-ordering.test.js.map +1 -0
- package/dist/tests/e2e/compile-builtins.test.js +1 -1
- package/dist/tests/e2e/compile-modules.test.js +7 -0
- package/dist/tests/e2e/compile-modules.test.js.map +1 -1
- package/dist/tests/e2e/date-parse.test.d.ts +8 -0
- package/dist/tests/e2e/date-parse.test.js +38 -0
- package/dist/tests/e2e/date-parse.test.js.map +1 -0
- package/dist/tests/e2e/default-anonymous-exports.test.d.ts +7 -0
- package/dist/tests/e2e/default-anonymous-exports.test.js +23 -0
- package/dist/tests/e2e/default-anonymous-exports.test.js.map +1 -0
- package/dist/tests/e2e/fetch.test.js +24 -0
- package/dist/tests/e2e/fetch.test.js.map +1 -1
- package/dist/tests/e2e/globals-microtask.test.d.ts +9 -0
- package/dist/tests/e2e/globals-microtask.test.js +37 -0
- package/dist/tests/e2e/globals-microtask.test.js.map +1 -0
- package/dist/tests/e2e/gui-inline-svg.test.d.ts +11 -0
- package/dist/tests/e2e/gui-inline-svg.test.js +160 -0
- package/dist/tests/e2e/gui-inline-svg.test.js.map +1 -0
- package/dist/tests/e2e/gui-media.test.js +8 -1
- package/dist/tests/e2e/gui-media.test.js.map +1 -1
- package/dist/tests/e2e/inspect-builtins.test.d.ts +10 -0
- package/dist/tests/e2e/inspect-builtins.test.js +43 -0
- package/dist/tests/e2e/inspect-builtins.test.js.map +1 -0
- package/dist/tests/e2e/json-builtin-objects.test.d.ts +9 -0
- package/dist/tests/e2e/json-builtin-objects.test.js +23 -0
- package/dist/tests/e2e/json-builtin-objects.test.js.map +1 -0
- package/dist/tests/e2e/json-circular.test.d.ts +6 -0
- package/dist/tests/e2e/json-circular.test.js +43 -0
- package/dist/tests/e2e/json-circular.test.js.map +1 -0
- package/dist/tests/e2e/json-parse-reviver.test.d.ts +6 -0
- package/dist/tests/e2e/json-parse-reviver.test.js +29 -0
- package/dist/tests/e2e/json-parse-reviver.test.js.map +1 -0
- package/dist/tests/e2e/json-stringify-replacer.test.d.ts +6 -0
- package/dist/tests/e2e/json-stringify-replacer.test.js +27 -0
- package/dist/tests/e2e/json-stringify-replacer.test.js.map +1 -0
- package/dist/tests/e2e/json-stringify-space.test.d.ts +6 -0
- package/dist/tests/e2e/json-stringify-space.test.js +23 -0
- package/dist/tests/e2e/json-stringify-space.test.js.map +1 -0
- package/dist/tests/e2e/method-dispatch-errors.test.d.ts +9 -0
- package/dist/tests/e2e/method-dispatch-errors.test.js +38 -0
- package/dist/tests/e2e/method-dispatch-errors.test.js.map +1 -0
- package/dist/tests/e2e/native-extensions.test.js +1 -1
- package/dist/tests/e2e/native-extensions.test.js.map +1 -1
- package/dist/tests/e2e/promise-with-resolvers.test.d.ts +5 -0
- package/dist/tests/e2e/promise-with-resolvers.test.js +20 -0
- package/dist/tests/e2e/promise-with-resolvers.test.js.map +1 -0
- package/dist/tests/e2e/property-descriptors.test.d.ts +5 -0
- package/dist/tests/e2e/property-descriptors.test.js +25 -0
- package/dist/tests/e2e/property-descriptors.test.js.map +1 -0
- package/dist/tests/e2e/property-ic.test.d.ts +1 -0
- package/dist/tests/e2e/property-ic.test.js +55 -0
- package/dist/tests/e2e/property-ic.test.js.map +1 -0
- package/dist/tests/e2e/runtime-errors.test.d.ts +10 -0
- package/dist/tests/e2e/runtime-errors.test.js +52 -0
- package/dist/tests/e2e/runtime-errors.test.js.map +1 -0
- package/dist/tests/e2e/structured-clone.test.d.ts +6 -0
- package/dist/tests/e2e/structured-clone.test.js +49 -0
- package/dist/tests/e2e/structured-clone.test.js.map +1 -0
- package/dist/tests/e2e/text-codec.test.d.ts +6 -0
- package/dist/tests/e2e/text-codec.test.js +24 -0
- package/dist/tests/e2e/text-codec.test.js.map +1 -0
- package/dist/tests/e2e/typed-array-views.test.d.ts +6 -0
- package/dist/tests/e2e/typed-array-views.test.js +39 -0
- package/dist/tests/e2e/typed-array-views.test.js.map +1 -0
- package/dist/tests/e2e/url-search-params.test.d.ts +5 -0
- package/dist/tests/e2e/url-search-params.test.js +30 -0
- package/dist/tests/e2e/url-search-params.test.js.map +1 -0
- package/dist/tests/e2e/weak-collections.test.d.ts +1 -0
- package/dist/tests/e2e/weak-collections.test.js +88 -0
- package/dist/tests/e2e/weak-collections.test.js.map +1 -0
- package/dist/tests/parser/declarations.test.js +12 -0
- package/dist/tests/parser/declarations.test.js.map +1 -1
- package/dist/tests/parser/module-syntax.test.js +9 -0
- package/dist/tests/parser/module-syntax.test.js.map +1 -1
- package/dist/tests/parser/parser.test.js +7 -0
- package/dist/tests/parser/parser.test.js.map +1 -1
- package/dist/tests/version.test.js +5 -1
- package/dist/tests/version.test.js.map +1 -1
- package/doc/ai/README.md +4 -3
- package/doc/ai/cli.md +41 -0
- package/doc/ai/contributing.md +20 -16
- package/doc/ai/extensions.md +13 -10
- package/doc/ai/language-support.md +19 -14
- package/doc/ai/troubleshooting.md +11 -9
- package/doc/ai/zh-CN/README.md +3 -2
- package/doc/ai/zh-CN/cli.md +35 -0
- package/doc/ai/zh-CN/contributing.md +16 -15
- package/doc/ai/zh-CN/extensions.md +12 -9
- package/doc/ai/zh-CN/language-support.md +19 -15
- package/doc/ai/zh-CN/troubleshooting.md +9 -8
- package/doc/gui/api.md +8 -0
- package/doc/gui/build.md +13 -4
- package/doc/gui/known-issues.md +19 -14
- package/doc/gui/media.md +32 -3
- package/doc/gui/rendering.md +3 -1
- package/doc/gui.md +28 -5
- package/doc/icon.md +5 -4
- package/doc/implemented/async.md +51 -0
- package/doc/implemented/binder.md +13 -0
- package/doc/implemented/cli.md +47 -0
- package/doc/implemented/codegen.md +33 -0
- package/doc/implemented/collections.md +26 -0
- package/doc/implemented/driver.md +19 -0
- package/doc/implemented/extensions.md +19 -0
- package/doc/implemented/fetch.md +44 -0
- package/doc/implemented/lexer.md +23 -0
- package/doc/implemented/modules.md +28 -0
- package/doc/implemented/node/assert.md +17 -0
- package/doc/implemented/node/buffer.md +29 -0
- package/doc/implemented/node/child-process.md +29 -0
- package/doc/implemented/node/crypto.md +9 -0
- package/doc/implemented/node/dgram.md +15 -0
- package/doc/implemented/node/events.md +37 -0
- package/doc/implemented/node/fs-promises.md +49 -0
- package/doc/implemented/node/fs.md +112 -0
- package/doc/implemented/node/http.md +21 -0
- package/doc/implemented/node/net.md +17 -0
- package/doc/implemented/node/os.md +22 -0
- package/doc/implemented/node/path.md +33 -0
- package/doc/implemented/node/process.md +23 -0
- package/doc/implemented/node/querystring.md +20 -0
- package/doc/implemented/node/stream-promises.md +8 -0
- package/doc/implemented/node/stream.md +19 -0
- package/doc/implemented/node/test.md +10 -0
- package/doc/implemented/node/url.md +8 -0
- package/doc/implemented/node/util.md +25 -0
- package/doc/implemented/node/worker-threads.md +10 -0
- package/doc/implemented/node/zlib.md +8 -0
- package/doc/implemented/node.md +48 -0
- package/doc/implemented/operators.md +38 -0
- package/doc/implemented/parser.md +58 -0
- package/doc/implemented/pipeline.md +28 -0
- package/doc/implemented/runtime-core.md +32 -0
- package/doc/implemented/stdlib.md +78 -0
- package/doc/implemented/strings.md +27 -0
- package/doc/implemented/tests.md +10 -0
- package/doc/implemented/typed-arrays.md +26 -0
- package/doc/implemented/value-model.md +18 -0
- package/doc/implemented.md +54 -355
- package/doc/node-implemented.md +3 -585
- package/doc/node-unimplemented.md +3 -164
- package/doc/requirements.md +23 -8
- package/doc/unimplemented/classes.md +22 -0
- package/doc/unimplemented/deviations.md +27 -0
- package/doc/unimplemented/expressions.md +26 -0
- package/doc/unimplemented/functions.md +21 -0
- package/doc/unimplemented/modules.md +22 -0
- package/doc/unimplemented/node/async.md +20 -0
- package/doc/unimplemented/node/bun.md +9 -0
- package/doc/unimplemented/node/fs-promises.md +20 -0
- package/doc/unimplemented/node/fs.md +30 -0
- package/doc/unimplemented/node/globals.md +23 -0
- package/doc/unimplemented/node/modules.md +21 -0
- package/doc/unimplemented/node.md +21 -0
- package/doc/unimplemented/statements.md +18 -0
- package/doc/unimplemented/stdlib.md +54 -0
- package/doc/unimplemented/toolchain.md +14 -0
- package/doc/unimplemented/types.md +12 -0
- package/doc/unimplemented.md +18 -275
- package/doc/xbintsc.config.schema.json +12 -0
- package/doc/zh-CN/gui/api.md +7 -0
- package/doc/zh-CN/gui/build.md +11 -3
- package/doc/zh-CN/gui/known-issues.md +17 -11
- package/doc/zh-CN/gui/media.md +26 -2
- package/doc/zh-CN/gui/rendering.md +2 -1
- package/doc/zh-CN/gui.md +21 -3
- package/doc/zh-CN/icon.md +5 -4
- package/doc/zh-CN/implemented/async.md +49 -0
- package/doc/zh-CN/implemented/binder.md +13 -0
- package/doc/zh-CN/implemented/cli.md +46 -0
- package/doc/zh-CN/implemented/codegen.md +33 -0
- package/doc/zh-CN/implemented/collections.md +26 -0
- package/doc/zh-CN/implemented/driver.md +19 -0
- package/doc/zh-CN/implemented/extensions.md +19 -0
- package/doc/zh-CN/implemented/fetch.md +31 -0
- package/doc/zh-CN/implemented/lexer.md +23 -0
- package/doc/zh-CN/implemented/modules.md +28 -0
- package/doc/zh-CN/implemented/node/assert.md +17 -0
- package/doc/zh-CN/implemented/node/buffer.md +25 -0
- package/doc/zh-CN/implemented/node/child-process.md +27 -0
- package/doc/zh-CN/implemented/node/crypto.md +9 -0
- package/doc/zh-CN/implemented/node/dgram.md +15 -0
- package/doc/zh-CN/implemented/node/events.md +36 -0
- package/doc/zh-CN/implemented/node/fs-promises.md +30 -0
- package/doc/zh-CN/implemented/node/fs.md +105 -0
- package/doc/zh-CN/implemented/node/http.md +17 -0
- package/doc/zh-CN/implemented/node/net.md +17 -0
- package/doc/zh-CN/implemented/node/os.md +21 -0
- package/doc/zh-CN/implemented/node/path.md +26 -0
- package/doc/zh-CN/implemented/node/process.md +23 -0
- package/doc/zh-CN/implemented/node/querystring.md +20 -0
- package/doc/zh-CN/implemented/node/stream-promises.md +8 -0
- package/doc/zh-CN/implemented/node/stream.md +15 -0
- package/doc/zh-CN/implemented/node/test.md +10 -0
- package/doc/zh-CN/implemented/node/url.md +8 -0
- package/doc/zh-CN/implemented/node/util.md +25 -0
- package/doc/zh-CN/implemented/node/worker-threads.md +9 -0
- package/doc/zh-CN/implemented/node/zlib.md +8 -0
- package/doc/zh-CN/implemented/node.md +45 -0
- package/doc/zh-CN/implemented/operators.md +38 -0
- package/doc/zh-CN/implemented/parser.md +58 -0
- package/doc/zh-CN/implemented/pipeline.md +25 -0
- package/doc/zh-CN/implemented/runtime-core.md +31 -0
- package/doc/zh-CN/implemented/stdlib.md +76 -0
- package/doc/zh-CN/implemented/strings.md +27 -0
- package/doc/zh-CN/implemented/tests.md +10 -0
- package/doc/zh-CN/implemented/typed-arrays.md +26 -0
- package/doc/zh-CN/implemented/value-model.md +18 -0
- package/doc/zh-CN/implemented.md +50 -350
- package/doc/zh-CN/node-implemented.md +4 -531
- package/doc/zh-CN/node-unimplemented.md +4 -139
- package/doc/zh-CN/plan-require-node-modules.md +4 -4
- package/doc/zh-CN/requirements.md +20 -6
- package/doc/zh-CN/unimplemented/classes.md +22 -0
- package/doc/zh-CN/unimplemented/deviations.md +24 -0
- package/doc/zh-CN/unimplemented/expressions.md +24 -0
- package/doc/zh-CN/unimplemented/functions.md +21 -0
- package/doc/zh-CN/unimplemented/modules.md +19 -0
- package/doc/zh-CN/unimplemented/node/async.md +20 -0
- package/doc/zh-CN/unimplemented/node/bun.md +8 -0
- package/doc/zh-CN/unimplemented/node/fs-promises.md +12 -0
- package/doc/zh-CN/unimplemented/node/fs.md +24 -0
- package/doc/zh-CN/unimplemented/node/globals.md +14 -0
- package/doc/zh-CN/unimplemented/node/modules.md +15 -0
- package/doc/zh-CN/unimplemented/node.md +18 -0
- package/doc/zh-CN/unimplemented/statements.md +15 -0
- package/doc/zh-CN/unimplemented/stdlib.md +54 -0
- package/doc/zh-CN/unimplemented/toolchain.md +14 -0
- package/doc/zh-CN/unimplemented/types.md +11 -0
- package/doc/zh-CN/unimplemented.md +14 -237
- package/llms.txt +32 -4
- package/package.json +1 -1
- package/runtime/ext_gui/inline_svg.cpp +219 -0
- package/runtime/ext_gui/inline_svg.h +41 -0
- package/runtime/ext_gui/layout.cpp +18 -0
- package/runtime/ext_gui/layout.h +7 -0
- package/runtime/ext_gui/layout_flow.cpp +4 -3
- package/runtime/ext_gui/paint.cpp +14 -0
- package/runtime/ext_gui/paint.h +5 -1
- package/runtime/ext_gui/renderer_image.cpp +53 -25
- package/runtime/ext_gui/renderer_shaders.h +2 -2
- package/runtime/ext_gui/stb_image.h +1 -17
- package/runtime/ext_gui/style_ua.cpp +3 -0
- package/runtime/ext_gui/svg.cpp +122 -39
- package/runtime/ext_gui/svg.h +14 -3
- package/runtime/ext_gui/window.cpp +28 -0
- package/runtime/ext_node/child_process/child_process.c +173 -73
- package/runtime/ext_node/fs/async_api.c +314 -0
- package/runtime/ext_node/fs/async_complete.c +99 -0
- package/runtime/ext_node/fs/async_fh.c +206 -0
- package/runtime/ext_node/fs/async_job.c +81 -0
- package/runtime/ext_node/fs/async_job.h +132 -0
- package/runtime/ext_node/fs/async_worker.c +534 -0
- package/runtime/ext_node/fs/async_worker_dir.c +439 -0
- package/runtime/ext_node/fs/async_worker_dir.h +33 -0
- package/runtime/ext_node/fs/async_worker_fd.c +74 -0
- package/runtime/ext_node/fs/dir.c +60 -15
- package/runtime/ext_node/fs/fs_common.h +9 -0
- package/runtime/ext_node/fs/fs_ops.c +18 -29
- package/runtime/ext_node/fs/parts/builtins.inc +34 -0
- package/runtime/ext_node/fs/parts/platform.inc +66 -0
- package/runtime/ext_node/fs/promises.c +44 -234
- package/runtime/rt.h +15 -0
- package/runtime/rt_internal.h +108 -0
- package/runtime/xt_alloc.c +43 -7
- package/runtime/xt_array_buffer.c +284 -0
- package/runtime/xt_async.c +46 -21
- package/runtime/xt_async_io.c +333 -0
- package/runtime/xt_async_io.h +47 -0
- package/runtime/xt_bigint/helpers.inc +3 -3
- package/runtime/xt_builtins.c +21 -17
- package/runtime/xt_constructors.c +12 -2
- package/runtime/xt_containers/access.inc +148 -3
- package/runtime/xt_containers/objects.inc +26 -2
- package/runtime/xt_containers/shapes.inc +71 -0
- package/runtime/xt_containers.c +1 -0
- package/runtime/xt_coroutine.c +17 -0
- package/runtime/xt_fetch/async.inc +295 -0
- package/runtime/xt_fetch/request.inc +6 -183
- package/runtime/xt_fetch/socket.inc +5 -4
- package/runtime/xt_fetch.c +6 -4
- package/runtime/xt_generator.c +299 -10
- package/runtime/xt_io/inspect.inc +112 -0
- package/runtime/xt_loop.c +79 -7
- package/runtime/xt_performance.c +37 -0
- package/runtime/xt_promise.c +63 -1
- package/runtime/xt_stdlib/arrays.inc +1 -1
- package/runtime/xt_stdlib/dispatch.inc +46 -11
- package/runtime/xt_stdlib/strings.inc +1 -1
- package/runtime/xt_stdlib2/array-statics.inc +25 -0
- package/runtime/xt_stdlib2/arrays.inc +5 -3
- package/runtime/xt_stdlib2/container.inc +5 -0
- package/runtime/xt_stdlib2/date.inc +111 -3
- package/runtime/xt_stdlib2/error.inc +24 -0
- package/runtime/xt_stdlib2/json.inc +310 -19
- package/runtime/xt_stdlib2/number-string-statics.inc +1 -1
- package/runtime/xt_stdlib2/objects.inc +122 -0
- package/runtime/xt_stdlib2/set.inc +1 -1
- package/runtime/xt_structured_clone.c +159 -0
- package/runtime/xt_symbol.c +2 -2
- package/runtime/xt_text_codec.c +69 -0
- package/runtime/xt_typed_array/construction.inc +35 -5
- package/runtime/xt_typed_array/elements.inc +159 -0
- package/runtime/xt_typed_array/methods.inc +21 -5
- package/runtime/xt_typed_array.c +7 -10
- package/runtime/xt_url.c +375 -0
- package/runtime/xt_values/arithmetic.inc +2 -2
- package/runtime/xt_values/conversions.inc +1 -1
- package/runtime/xt_weak.c +281 -0
- package/scripts/build-gui.ts +133 -60
- package/scripts/check-version.ts +3 -3
- package/src/binder/declarations.ts +14 -3
- package/src/cli/hints.ts +8 -1
- package/src/cli/main.ts +119 -18
- package/src/cli/watch.ts +101 -0
- package/src/codegen/generator/calls/access.ts +10 -2
- package/src/codegen/generator/calls/closures.ts +12 -4
- package/src/codegen/generator/context.ts +23 -3
- package/src/codegen/generator/expressions/operators.ts +27 -13
- package/src/codegen/generator/expressions/primary.ts +4 -0
- package/src/codegen/generator/module.ts +0 -7
- package/src/codegen/generator/numeric.ts +85 -11
- package/src/codegen/generator/state.ts +23 -0
- package/src/codegen/generator/statements/control-flow.ts +1 -4
- package/src/codegen/generator/statements/loops.ts +50 -16
- package/src/codegen/generator/tables.ts +26 -1
- package/src/diagnostics/diagnostic.ts +23 -3
- package/src/driver/app-artifacts.ts +77 -0
- package/src/driver/build-key.ts +55 -0
- package/src/driver/bundler/graph.ts +63 -13
- package/src/driver/bundler/merge.ts +4 -1
- package/src/driver/compiler.ts +94 -328
- package/src/driver/config.ts +11 -0
- package/src/driver/frontend.ts +120 -0
- package/src/driver/index.ts +0 -1
- package/src/driver/options.ts +70 -0
- package/src/driver/runtime-objects.ts +134 -0
- package/src/driver/toolchain-provider.ts +4 -0
- package/src/driver/toolchain.ts +154 -10
- package/src/driver/version.ts +12 -0
- package/src/driver/win-icon.ts +36 -36
- package/src/extensions/node/fs/index.ts +12 -3
- package/src/extensions/node/fs-promises/index.ts +15 -6
- package/src/parser/declarations/classes.ts +4 -0
- package/src/parser/declarations/functions.ts +12 -1
- package/src/parser/modules.ts +8 -4
- package/src/parser/parser.ts +28 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `xbintsc watch` support: fingerprint a source tree and rebuild when it
|
|
3
|
+
* changes.
|
|
4
|
+
*
|
|
5
|
+
* The scan is deliberately polling-based. A self-hosted xbintsc binary has no
|
|
6
|
+
* `fs.watch` backend in the Node extension, and polling works identically on
|
|
7
|
+
* every platform. The tree is the entry file's directory, with build outputs
|
|
8
|
+
* and dependency directories excluded; package sources inside `node_modules`
|
|
9
|
+
* are not watched (run the build once after installing a dependency).
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
12
|
+
import { extname, join, resolve } from "node:path";
|
|
13
|
+
const WATCHED_EXTENSIONS = new Set([
|
|
14
|
+
".ts",
|
|
15
|
+
".tsx",
|
|
16
|
+
".js",
|
|
17
|
+
".mjs",
|
|
18
|
+
".cjs",
|
|
19
|
+
".json",
|
|
20
|
+
".html",
|
|
21
|
+
".css",
|
|
22
|
+
]);
|
|
23
|
+
const IGNORED_DIRECTORIES = new Set([
|
|
24
|
+
"node_modules",
|
|
25
|
+
".git",
|
|
26
|
+
".github",
|
|
27
|
+
".xbintsc",
|
|
28
|
+
".xbintsc-cache",
|
|
29
|
+
"build",
|
|
30
|
+
"dist",
|
|
31
|
+
"coverage",
|
|
32
|
+
"scratch",
|
|
33
|
+
"target",
|
|
34
|
+
"vendor",
|
|
35
|
+
]);
|
|
36
|
+
/** One string that changes whenever a watched file changes. */
|
|
37
|
+
export function fingerprintTree(root) {
|
|
38
|
+
const entries = [];
|
|
39
|
+
collect(resolve(root), entries);
|
|
40
|
+
entries.sort();
|
|
41
|
+
return entries.join("|");
|
|
42
|
+
}
|
|
43
|
+
function collect(directory, out) {
|
|
44
|
+
let entries;
|
|
45
|
+
try {
|
|
46
|
+
entries = readdirSync(directory, { withFileTypes: true });
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return; // the directory disappeared between scans
|
|
50
|
+
}
|
|
51
|
+
for (const entry of entries) {
|
|
52
|
+
const path = join(directory, entry.name);
|
|
53
|
+
if (entry.isDirectory()) {
|
|
54
|
+
if (!IGNORED_DIRECTORIES.has(entry.name))
|
|
55
|
+
collect(path, out);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (!entry.isFile())
|
|
59
|
+
continue;
|
|
60
|
+
if (!WATCHED_EXTENSIONS.has(extname(entry.name).toLowerCase()))
|
|
61
|
+
continue;
|
|
62
|
+
try {
|
|
63
|
+
const stat = statSync(path);
|
|
64
|
+
/* mtime resolution is coarse on some filesystems (and on Windows two
|
|
65
|
+
* same-size writes can share a timestamp), so hash the bytes as well. */
|
|
66
|
+
let hash = 2166136261;
|
|
67
|
+
const contents = readFileSync(path);
|
|
68
|
+
for (let i = 0; i < contents.length; i++) {
|
|
69
|
+
hash = Math.imul(hash ^ (contents[i] ?? 0), 16777619);
|
|
70
|
+
}
|
|
71
|
+
out.push(`${path}:${stat.mtimeMs}:${stat.size}:${hash >>> 0}`);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// A file removed during the scan is picked up by the next iteration.
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Start polling. Returns a stop function. The caller performs the initial
|
|
80
|
+
* build, so this never fires `onRebuild` for the state it starts in.
|
|
81
|
+
*/
|
|
82
|
+
export function startWatching(options) {
|
|
83
|
+
let previous = options.scan();
|
|
84
|
+
const timer = setInterval(() => {
|
|
85
|
+
const next = options.scan();
|
|
86
|
+
if (next === previous)
|
|
87
|
+
return;
|
|
88
|
+
previous = next;
|
|
89
|
+
options.onRebuild();
|
|
90
|
+
}, options.intervalMs ?? 300);
|
|
91
|
+
return () => clearInterval(timer);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,7 +103,15 @@ export const accessCallMethods = {
|
|
|
103
103
|
const access = () => {
|
|
104
104
|
const key = this.emitExpression(node.argumentExpression);
|
|
105
105
|
const result = this.reg();
|
|
106
|
-
|
|
106
|
+
/* Array-index reads are not object property layouts, so skip the IC for
|
|
107
|
+
* a numeric literal; every other key may benefit from it. */
|
|
108
|
+
if (node.argumentExpression.kind === SyntaxKind.NumericLiteral) {
|
|
109
|
+
this.emit(` ${result} = call i64 @xt_get(i64 ${object}, i64 ${key})`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
const cache = this.icCachePointer();
|
|
113
|
+
this.emit(` ${result} = call i64 @xt_get_ic(i64 ${object}, i64 ${key}, i64* ${cache})`);
|
|
114
|
+
}
|
|
107
115
|
return result;
|
|
108
116
|
};
|
|
109
117
|
return node.optional ? this.emitOptional(object, access) : access();
|
|
@@ -117,8 +125,9 @@ export const accessCallMethods = {
|
|
|
117
125
|
return result;
|
|
118
126
|
}
|
|
119
127
|
const key = this.stringValue(name);
|
|
128
|
+
const cache = this.icCachePointer();
|
|
120
129
|
const result = this.reg();
|
|
121
|
-
this.emit(` ${result} = call i64 @
|
|
130
|
+
this.emit(` ${result} = call i64 @xt_get_ic(i64 ${object}, i64 ${key}, i64* ${cache})`);
|
|
122
131
|
return result;
|
|
123
132
|
},
|
|
124
133
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/calls/access.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/calls/access.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,12 +68,20 @@ export const closureCallMethods = {
|
|
|
68
68
|
name = fn.classInfo.name;
|
|
69
69
|
const nameValue = this.stringValue(name);
|
|
70
70
|
this.emit(` call i64 @xt_function_set_metadata(i64 ${closure}, i64 ${nameValue}, i32 ${arity})`);
|
|
71
|
-
if (fn.isGenerator)
|
|
71
|
+
if (fn.isAsync && fn.isGenerator) {
|
|
72
|
+
/* `async function*`: a generator whose `.next()` returns promises. The
|
|
73
|
+
* runtime needs both flags, so use the combined marker instead of the
|
|
74
|
+
* two separate setters. */
|
|
75
|
+
this.emit(` call i64 @xt_function_set_async_generator(i64 ${closure})`);
|
|
76
|
+
}
|
|
77
|
+
else if (fn.isGenerator) {
|
|
72
78
|
this.emit(` call i64 @xt_function_set_generator(i64 ${closure})`);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
}
|
|
80
|
+
else if (fn.isAsync) {
|
|
81
|
+
/* `async` functions run on a coroutine: the runtime must know at call
|
|
82
|
+
* time so it can return a promise and suspend at `await`. */
|
|
76
83
|
this.emit(` call i64 @xt_function_set_async(i64 ${closure})`);
|
|
84
|
+
}
|
|
77
85
|
},
|
|
78
86
|
};
|
|
79
87
|
//# sourceMappingURL=closures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closures.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/calls/closures.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"closures.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/calls/closures.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ export declare class GeneratorContext {
|
|
|
61
61
|
readonly lineStartsByFile: Map<string, number[]>;
|
|
62
62
|
stringCounter: number;
|
|
63
63
|
staticCounter: number;
|
|
64
|
+
/** Monotonic id for per-property-access inline-cache globals. */
|
|
65
|
+
icCounter: number;
|
|
64
66
|
/**
|
|
65
67
|
* How many `UnsupportedFeature` diagnostics the function currently being
|
|
66
68
|
* emitted produced. Unsupported constructs can leave the generator with a
|
|
@@ -129,6 +131,12 @@ export declare class GeneratorContext {
|
|
|
129
131
|
label(prefix: string): string;
|
|
130
132
|
startBlock(label: string): void;
|
|
131
133
|
alloca(): string;
|
|
134
|
+
/**
|
|
135
|
+
* Allocate a two-word inline cache for one property-access site and return
|
|
136
|
+
* the `i64*` the runtime fills with (shape, property index). The global is
|
|
137
|
+
* zero-initialised, which the runtime treats as an empty cache.
|
|
138
|
+
*/
|
|
139
|
+
icCachePointer(): string;
|
|
132
140
|
/** Lay already-computed values out as a contiguous `i64*` argument buffer. */
|
|
133
141
|
emitValueArguments(values: readonly string[]): {
|
|
134
142
|
argc: string;
|
|
@@ -54,6 +54,8 @@ export class GeneratorContext {
|
|
|
54
54
|
lineStartsByFile = new Map();
|
|
55
55
|
stringCounter = 0;
|
|
56
56
|
staticCounter = 0;
|
|
57
|
+
/** Monotonic id for per-property-access inline-cache globals. */
|
|
58
|
+
icCounter = 0;
|
|
57
59
|
/**
|
|
58
60
|
* How many `UnsupportedFeature` diagnostics the function currently being
|
|
59
61
|
* emitted produced. Unsupported constructs can leave the generator with a
|
|
@@ -172,8 +174,8 @@ export class GeneratorContext {
|
|
|
172
174
|
const symbols = this.importBindingSymbols(declaration);
|
|
173
175
|
if (!symbols.some((symbol) => this.usedAsValue(symbol)))
|
|
174
176
|
return;
|
|
175
|
-
this.diagnostics.error(DiagnosticCode.ModuleNotFound, `module '${specifier}' is not supported:
|
|
176
|
-
"relative
|
|
177
|
+
this.diagnostics.error(DiagnosticCode.ModuleNotFound, `module '${specifier}' is not supported: expected a Node built-in ` +
|
|
178
|
+
"(with --ext node), a relative .ts/.js file, or a package in node_modules", declaration.moduleSpecifier, this.fileNameOf(declaration.moduleSpecifier));
|
|
177
179
|
for (const symbol of symbols)
|
|
178
180
|
this.missingModuleSymbols.add(symbol.id);
|
|
179
181
|
}
|
|
@@ -286,6 +288,18 @@ export class GeneratorContext {
|
|
|
286
288
|
this.current.escapePointers.push(ptr);
|
|
287
289
|
return ptr;
|
|
288
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* Allocate a two-word inline cache for one property-access site and return
|
|
293
|
+
* the `i64*` the runtime fills with (shape, property index). The global is
|
|
294
|
+
* zero-initialised, which the runtime treats as an empty cache.
|
|
295
|
+
*/
|
|
296
|
+
icCachePointer() {
|
|
297
|
+
const name = `@ic.${this.icCounter++}`;
|
|
298
|
+
this.globals.push(`${name} = internal global [2 x i64] zeroinitializer`);
|
|
299
|
+
const ptr = this.reg();
|
|
300
|
+
this.emit(` ${ptr} = getelementptr [2 x i64], [2 x i64]* ${name}, i64 0, i64 0`);
|
|
301
|
+
return ptr;
|
|
302
|
+
}
|
|
289
303
|
/** Lay already-computed values out as a contiguous `i64*` argument buffer. */
|
|
290
304
|
emitValueArguments(values) {
|
|
291
305
|
if (values.length === 0)
|
|
@@ -488,8 +502,13 @@ export class GeneratorContext {
|
|
|
488
502
|
}
|
|
489
503
|
unsupported(node, what) {
|
|
490
504
|
const label = kindName(node.kind);
|
|
505
|
+
const hasName = label !== String(node.kind);
|
|
506
|
+
/* `unsupported(statement, "statement")` is the generic fallback; when the
|
|
507
|
+
* syntax kind has a human name, use it directly instead of appending a
|
|
508
|
+
* redundant "(statement)". */
|
|
509
|
+
const subject = what === "statement" && hasName ? `this ${label}` : `this ${what} (${label})`;
|
|
491
510
|
this.unsupportedCount++;
|
|
492
|
-
this.diagnostics.error(DiagnosticCode.UnsupportedFeature, `xbintsc does not yet support
|
|
511
|
+
this.diagnostics.error(DiagnosticCode.UnsupportedFeature, `xbintsc does not yet support ${subject}`, node, this.fileNameOf(node));
|
|
493
512
|
}
|
|
494
513
|
/**
|
|
495
514
|
* Report a CommonJS `require(...)` use. xbintsc has no CommonJS module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/codegen/generator/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/codegen/generator/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAoC,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAA2E,MAAM,oBAAoB,CAAC;AACzH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQjD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhG,MAAM,OAAO,gBAAgB;IAClB,OAAO,CAAa;IACpB,UAAU,CAAiB;IAC3B,WAAW,CAAgB;IAC3B,QAAQ,CAA4C;IACpD,OAAO,CAA4C;IAC5D,gFAAgF;IACvE,WAAW,CAAmC;IACvD;;;;OAIG;IACM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,kFAAkF;IACzE,MAAM,CAAuD;IACtE,6DAA6D;IACpD,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzD,oEAAoE;IAC3D,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD;;;;;OAKG;IACM,mBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChE;;;OAGG;IACM,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,OAAO,GAAa,EAAE,CAAC;IACvB,SAAS,GAAa,EAAE,CAAC;IACzB,OAAO,GAAG,IAAI,GAAG,EAA2D,CAAC;IAC7E,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,wEAAwE;IAC/D,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,yEAAyE;IAChE,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAClB,iEAAiE;IACjE,SAAS,GAAG,CAAC,CAAC;IACd;;;;;;OAMG;IACH,gBAAgB,GAAG,CAAC,CAAC;IACrB,6CAA6C;IACpC,KAAK,CAAU;IACxB,kEAAkE;IAClE,eAAe,GAAG,CAAC,CAAC;IACX,QAAQ,GAAa,EAAE,CAAC;IACxB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,SAAS,CAAU;IACnB,UAAU,GAAa,EAAE,CAAC;IAC1B,mBAAmB,CAAU;IAC7B,OAAO,CAAiB;IAExB,YAAY,UAA0B,EAAE,WAA0B,EAAE,UAA0B,EAAE;QAC9F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,cAAc;QACpB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,iBAAiB;gBAAE,SAAS;YAC9D,MAAM,WAAW,GAAG,SAA8B,CAAC;YACnD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC;YACxC,uEAAuE;YACvE,yBAAyB;YACzB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU;gBAAE,SAAS;YAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;oBAClD,IAAI,aAAa;wBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;YACtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1D,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC9C,IAAI,aAAa,CAAC,UAAU;wBAAE,SAAS;oBACvC,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACxE,IAAI,CAAC,MAAM;wBAAE,SAAS;oBACtB,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAC5C,+DAA+D;wBAC/D,iEAAiE;wBACjE,kCAAkC;wBAClC,IAAI,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,cAAc,EAC7B,YAAY,SAAS,8BAA8B,YAAY,GAAG,EAClE,aAAa,CAAC,IAAI,EAClB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CACpC,CAAC;wBACF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,MAAM;oBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CAAC,WAA8B,EAAE,SAAiB;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,cAAc,EAC7B,WAAW,SAAS,yBAAyB,QAAQ,2BAA2B,QAAQ,EAAE,EAC1F,WAAW,CAAC,eAAe,EAC3B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAC7C,CAAC;YACF,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAAE,OAAO;QACxC,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO;QAChE,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,cAAc,EAC7B,WAAW,SAAS,+CAA+C;YACjE,0EAA0E,EAC5E,WAAW,CAAC,eAAe,EAC3B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAC7C,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,MAAkB;QACpC,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,MAAkB,EAAE,MAAuB;QACjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,oBAAoB,CAAC,WAA8B;QACzD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;QACtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YAC1D,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6EAA6E;IACrE,wBAAwB,CAAC,WAA8B;QAC7D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,0DAA0D;IAC1D,iBAAiB,CAAC,MAA8B;QAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gEAAgE;IAChE,qBAAqB,CAAC,MAA8B;QAClD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACnE,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,2EAA2E;IAE3E,IAAI,CAAC,IAAY;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,GAAG;QACD,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,qEAAqE;YACrE,sDAAsD;YACtD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,+BAA+B,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,8BAA8B,KAAK,SAAS,KAAK,GAAG,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,uCAAuC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,4BAA4B,KAAK,SAAS,YAAY,GAAG,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAc;QAClB,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,8CAA8C,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,0CAA0C,IAAI,gBAAgB,CAAC,CAAC;QAClF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8EAA8E;IAC9E,kBAAkB,CAAC,MAAyB;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,8BAA8B,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,2EAA2E;IAE3E,WAAW,CAAC,MAAkB,EAAE,OAAe;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,+BAA+B,OAAO,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,UAAU,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,UAAU,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,+BAA+B,OAAO,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB,CAAC,MAAkB,EAAE,GAAW;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7C,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,MAAkB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,UAAU,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,+BAA+B,KAAK,GAAG,CAAC,CAAC;YAC/D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,oDAAoD;YACpD,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,YAAY,EAC3B,0BAA0B,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,+BAA+B,KAAK,GAAG,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,MAAkB,EAAE,KAAa;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,UAAU,UAAU,EAAE,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,UAAU,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,8BAA8B,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,0BAA0B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAChG,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,8BAA8B,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,2EAA2E;IAE3E;;;OAGG;IACH,eAAe,CAAC,UAAgB;QAC9B,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAChE,MAAM,UAAU,GAAG,UAAwB,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACtE,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,2EAA2E;QAC3E,4EAA4E;QAC5E,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,qCAAqC,KAAK,CAAC,MAAM,GAAG,CAAC,YAAY,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtH,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAY;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,qCAAqC,KAAK,CAAC,MAAM,GAAG,CAAC,YAAY,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2EAA2E;IAC3E,aAAa,CAAC,IAAY;QACxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,UAAU,CAAC,IAAU;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAC5E,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,CAAE,IAAI,MAAM;gBAAE,GAAG,GAAG,MAAM,CAAC;;gBACvC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAU;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IACxE,CAAC;IAED,WAAW,CAAC,IAAU,EAAE,IAAY;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C;;sCAE8B;QAC9B,MAAM,OAAO,GAAG,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,GAAG,CAAC;QAC9F,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,kBAAkB,EACjC,gCAAgC,OAAO,EAAE,EACzC,IAAI,EACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAU;QACzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,SAAS;YAC3B,CAAC,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI;YACtF,CAAC,CAAC,uCAAuC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,cAAc,CAAC,kBAAkB,EACjC,4CAA4C,WAAW,EAAE,EACzD,IAAI,EACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC;CACF;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,IAAU;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,KAAK,GAAI,IAAwC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;QACrD,OAAQ,KAAsC,CAAC,KAAK,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,CACL,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3B,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CACnC,CAAC;AACJ,CAAC"}
|
|
@@ -9,6 +9,17 @@ import { BINARY_RUNTIME, BUILTIN_INSTANCEOF, isAssignmentOperator } from "../tab
|
|
|
9
9
|
function isStringLike(node) {
|
|
10
10
|
return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
|
|
11
11
|
}
|
|
12
|
+
/** True for a numeric literal (optionally signed), whose tag check can be skipped. */
|
|
13
|
+
function isNumericLiteral(node) {
|
|
14
|
+
if (node.kind === SyntaxKind.NumericLiteral)
|
|
15
|
+
return true;
|
|
16
|
+
if (node.kind !== SyntaxKind.PrefixUnaryExpression)
|
|
17
|
+
return false;
|
|
18
|
+
const prefix = node;
|
|
19
|
+
if (prefix.operator !== PrefixUnaryOperator.Minus && prefix.operator !== PrefixUnaryOperator.Plus)
|
|
20
|
+
return false;
|
|
21
|
+
return prefix.operand.kind === SyntaxKind.NumericLiteral;
|
|
22
|
+
}
|
|
12
23
|
/**
|
|
13
24
|
* The built-in constructor a right-hand `instanceof` operand names, if any.
|
|
14
25
|
* A user binding with the same name shadows it.
|
|
@@ -62,7 +73,7 @@ export const operatorExpressionMethods = {
|
|
|
62
73
|
// `+` concatenates when either side is known to be a string; skip the
|
|
63
74
|
// numeric tag checks for that shape and call the runtime directly.
|
|
64
75
|
const knownStringConcat = operator === "+" && (isStringLike(node.left) || isStringLike(node.right));
|
|
65
|
-
return this.emitBinaryOperation(left, right, operator, runtime, !knownStringConcat);
|
|
76
|
+
return this.emitBinaryOperation(left, right, operator, runtime, !knownStringConcat, isNumericLiteral(node.left), isNumericLiteral(node.right));
|
|
66
77
|
},
|
|
67
78
|
emitShortCircuit(node, kind) {
|
|
68
79
|
const result = this.alloca();
|
|
@@ -72,16 +83,10 @@ export const operatorExpressionMethods = {
|
|
|
72
83
|
const endLabel = this.label("sc.end");
|
|
73
84
|
let condition;
|
|
74
85
|
if (kind === "and") {
|
|
75
|
-
|
|
76
|
-
this.emit(` ${truthy} = call i32 @xt_truthy(i64 ${left})`);
|
|
77
|
-
condition = this.reg();
|
|
78
|
-
this.emit(` ${condition} = icmp ne i32 ${truthy}, 0`);
|
|
86
|
+
condition = this.emitTruthiness(left, node.left);
|
|
79
87
|
}
|
|
80
88
|
else if (kind === "or") {
|
|
81
|
-
const
|
|
82
|
-
this.emit(` ${truthy} = call i32 @xt_truthy(i64 ${left})`);
|
|
83
|
-
const isTruthy = this.reg();
|
|
84
|
-
this.emit(` ${isTruthy} = icmp ne i32 ${truthy}, 0`);
|
|
89
|
+
const isTruthy = this.emitTruthiness(left, node.left);
|
|
85
90
|
condition = this.reg();
|
|
86
91
|
this.emit(` ${condition} = xor i1 ${isTruthy}, true`);
|
|
87
92
|
}
|
|
@@ -106,10 +111,7 @@ export const operatorExpressionMethods = {
|
|
|
106
111
|
emitConditional(node) {
|
|
107
112
|
const result = this.alloca();
|
|
108
113
|
const condition = this.emitExpression(node.condition);
|
|
109
|
-
const
|
|
110
|
-
this.emit(` ${truthy} = call i32 @xt_truthy(i64 ${condition})`);
|
|
111
|
-
const nonzero = this.reg();
|
|
112
|
-
this.emit(` ${nonzero} = icmp ne i32 ${truthy}, 0`);
|
|
114
|
+
const nonzero = this.emitTruthiness(condition, node.condition);
|
|
113
115
|
const trueLabel = this.label("cond.true");
|
|
114
116
|
const falseLabel = this.label("cond.false");
|
|
115
117
|
const endLabel = this.label("cond.end");
|
|
@@ -168,7 +170,7 @@ export const operatorExpressionMethods = {
|
|
|
168
170
|
const one = numberLiteral(1);
|
|
169
171
|
const current = this.emitExpression(node.operand);
|
|
170
172
|
const fn = node.operator === PrefixUnaryOperator.PlusPlus ? "xt_add" : "xt_sub";
|
|
171
|
-
const next = this.emitBinaryOperation(current, one, node.operator === PrefixUnaryOperator.PlusPlus ? "+" : "-", fn);
|
|
173
|
+
const next = this.emitBinaryOperation(current, one, node.operator === PrefixUnaryOperator.PlusPlus ? "+" : "-", fn, true, false, true);
|
|
172
174
|
this.emitAssignmentTarget(node.operand, next);
|
|
173
175
|
return next;
|
|
174
176
|
}
|
|
@@ -181,7 +183,7 @@ export const operatorExpressionMethods = {
|
|
|
181
183
|
const one = numberLiteral(1);
|
|
182
184
|
const current = this.emitExpression(node.operand);
|
|
183
185
|
const fn = node.operator === PostfixUnaryOperator.PlusPlus ? "xt_add" : "xt_sub";
|
|
184
|
-
const next = this.emitBinaryOperation(current, one, node.operator === PostfixUnaryOperator.PlusPlus ? "+" : "-", fn);
|
|
186
|
+
const next = this.emitBinaryOperation(current, one, node.operator === PostfixUnaryOperator.PlusPlus ? "+" : "-", fn, true, false, true);
|
|
185
187
|
this.emitAssignmentTarget(node.operand, next);
|
|
186
188
|
return current;
|
|
187
189
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/expressions/operators.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/expressions/operators.ts"],"names":[],"mappings":"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"}
|
|
@@ -206,6 +206,11 @@ export const primaryExpressionMethods = {
|
|
|
206
206
|
this.reportRequireUse(identifier);
|
|
207
207
|
return i64(XT_UNDEFINED);
|
|
208
208
|
}
|
|
209
|
+
/* The parser's recovery node for a missing expression. The syntax
|
|
210
|
+
* error has already been reported; "Cannot find name '<error>'" is
|
|
211
|
+
* pure noise on top of it. */
|
|
212
|
+
if (identifier.text === "<error>")
|
|
213
|
+
return i64(XT_UNDEFINED);
|
|
209
214
|
this.diagnostics.error(DiagnosticCode.CannotFindName, `Cannot find name '${identifier.text}'`, identifier, this.fileNameOf(identifier));
|
|
210
215
|
return i64(XT_UNDEFINED);
|
|
211
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primary.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/expressions/primary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"primary.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/expressions/primary.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,13 +73,6 @@ export const moduleMethods = {
|
|
|
73
73
|
// -- module level --------------------------------------------------------
|
|
74
74
|
emitFunction(fn) {
|
|
75
75
|
this.unsupportedCount = 0;
|
|
76
|
-
// `async function*` would need an async iterator and a promise-returning
|
|
77
|
-
// `.next()`; the generator/async lowering below would silently produce a
|
|
78
|
-
// synchronous generator instead, so reject it rather than miscompile.
|
|
79
|
-
if (fn.isAsync && fn.isGenerator) {
|
|
80
|
-
this.unsupported(fn.node, "async generator function");
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
76
|
const name = this.functionName(fn);
|
|
84
77
|
const debugSubprogram = this.debugSubprogramFor(fn);
|
|
85
78
|
const state = {
|