warpo 3.1.3 → 3.2.1

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.
Files changed (132) hide show
  1. package/assemblyscript/std/README.md +5 -0
  2. package/assemblyscript/std/assembly/array.ts +542 -0
  3. package/assemblyscript/std/assembly/arraybuffer.ts +72 -0
  4. package/assemblyscript/std/assembly/builtins.ts +2312 -0
  5. package/assemblyscript/std/assembly/compat.ts +2 -0
  6. package/assemblyscript/std/assembly/dataview.ts +144 -0
  7. package/assemblyscript/std/assembly/date.ts +383 -0
  8. package/assemblyscript/std/assembly/diagnostics.ts +11 -0
  9. package/assemblyscript/std/assembly/error.ts +39 -0
  10. package/assemblyscript/std/assembly/function.ts +44 -0
  11. package/assemblyscript/std/assembly/iterator.ts +24 -0
  12. package/assemblyscript/std/assembly/map.ts +304 -0
  13. package/assemblyscript/std/assembly/math.ts +3401 -0
  14. package/assemblyscript/std/assembly/memory.ts +110 -0
  15. package/assemblyscript/std/assembly/number.ts +388 -0
  16. package/assemblyscript/std/assembly/object.ts +30 -0
  17. package/assemblyscript/std/assembly/polyfills.ts +24 -0
  18. package/assemblyscript/std/assembly/process.ts +7 -0
  19. package/assemblyscript/std/assembly/promise.ts +172 -0
  20. package/assemblyscript/std/assembly/reference.ts +48 -0
  21. package/assemblyscript/std/assembly/regexp.ts +16 -0
  22. package/assemblyscript/std/assembly/rt/common.ts +79 -0
  23. package/assemblyscript/std/assembly/rt/index-incremental.ts +4 -0
  24. package/assemblyscript/std/assembly/rt/index-radical.ts +4 -0
  25. package/assemblyscript/std/assembly/rt/index.d.ts +37 -0
  26. package/assemblyscript/std/assembly/rt/itcms.ts +415 -0
  27. package/assemblyscript/std/assembly/rt/tcms.ts +276 -0
  28. package/assemblyscript/std/assembly/rt/tlsf.ts +564 -0
  29. package/assemblyscript/std/assembly/rt.ts +71 -0
  30. package/assemblyscript/std/assembly/set.ts +261 -0
  31. package/assemblyscript/std/assembly/shared/feature.ts +69 -0
  32. package/assemblyscript/std/assembly/shared/host.ts +12 -0
  33. package/assemblyscript/std/assembly/shared/runtime.ts +9 -0
  34. package/assemblyscript/std/assembly/shared/target.ts +9 -0
  35. package/assemblyscript/std/assembly/shared/tsconfig.json +9 -0
  36. package/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
  37. package/assemblyscript/std/assembly/staticarray.ts +446 -0
  38. package/assemblyscript/std/assembly/string.ts +892 -0
  39. package/assemblyscript/std/assembly/symbol.ts +61 -0
  40. package/assemblyscript/std/assembly/table.ts +15 -0
  41. package/assemblyscript/std/assembly/tsconfig.json +4 -0
  42. package/assemblyscript/std/assembly/tuple.ts +36 -0
  43. package/assemblyscript/std/assembly/typedarray.ts +2000 -0
  44. package/assemblyscript/std/assembly/uri.ts +17 -0
  45. package/assemblyscript/std/assembly/util/bytes.ts +90 -0
  46. package/assemblyscript/std/assembly/util/casemap.ts +264 -0
  47. package/assemblyscript/std/assembly/util/error.ts +54 -0
  48. package/assemblyscript/std/assembly/util/hash.ts +117 -0
  49. package/assemblyscript/std/assembly/util/math.ts +1922 -0
  50. package/assemblyscript/std/assembly/util/memory.ts +309 -0
  51. package/assemblyscript/std/assembly/util/number.ts +884 -0
  52. package/assemblyscript/std/assembly/util/sort.ts +282 -0
  53. package/assemblyscript/std/assembly/util/string.ts +1075 -0
  54. package/assemblyscript/std/assembly/util/uri.ts +251 -0
  55. package/assemblyscript/std/assembly/vector.ts +3 -0
  56. package/dist/common/leb128.d.ts +5 -0
  57. package/dist/common/leb128.js +17 -0
  58. package/dist/common/leb128.js.map +1 -0
  59. package/dist/debug_server/debugSession.d.ts +31 -1
  60. package/dist/debug_server/debugSession.js +477 -99
  61. package/dist/debug_server/debugSession.js.map +1 -1
  62. package/dist/debug_server/debugTrace.d.ts +2 -0
  63. package/dist/debug_server/debugTrace.js +38 -0
  64. package/dist/debug_server/debugTrace.js.map +1 -0
  65. package/dist/debug_server/debugger.d.ts +5 -1
  66. package/dist/debug_server/debuggerWasmModule.d.ts +9 -0
  67. package/dist/debug_server/debuggerWasmModule.js +182 -4
  68. package/dist/debug_server/debuggerWasmModule.js.map +1 -1
  69. package/dist/debug_server/nodeDebugger.d.ts +12 -1
  70. package/dist/debug_server/nodeDebugger.js +74 -28
  71. package/dist/debug_server/nodeDebugger.js.map +1 -1
  72. package/dist/debug_server/tests/debugSession.test.js +556 -22
  73. package/dist/debug_server/tests/debugSession.test.js.map +1 -1
  74. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.d.ts +1 -0
  75. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js +12 -0
  76. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js.map +1 -0
  77. package/dist/debug_server/tests/testModule/debugger_closure_stepping.d.ts +1 -0
  78. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js +12 -0
  79. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js.map +1 -0
  80. package/dist/debug_server/tests/testModule/debugger_function_closure.d.ts +1 -0
  81. package/dist/debug_server/tests/testModule/debugger_function_closure.js +24 -0
  82. package/dist/debug_server/tests/testModule/debugger_function_closure.js.map +1 -0
  83. package/dist/debug_server/tests/testModule/debugger_import.case.d.ts +1 -0
  84. package/dist/debug_server/tests/testModule/debugger_import.case.js +9 -0
  85. package/dist/debug_server/tests/testModule/debugger_import.case.js.map +1 -0
  86. package/dist/debug_server/tests/testModule/debugger_import.d.ts +1 -0
  87. package/dist/debug_server/tests/testModule/debugger_import.js +6 -0
  88. package/dist/debug_server/tests/testModule/debugger_import.js.map +1 -0
  89. package/dist/debug_server/tests/testModule/debugger_pause.d.ts +1 -0
  90. package/dist/debug_server/tests/testModule/debugger_pause.js +9 -0
  91. package/dist/debug_server/tests/testModule/debugger_pause.js.map +1 -0
  92. package/dist/debug_server/tests/testModule/debugger_std_array.d.ts +1 -0
  93. package/dist/debug_server/tests/testModule/debugger_std_array.js +6 -0
  94. package/dist/debug_server/tests/testModule/debugger_std_array.js.map +1 -0
  95. package/dist/debug_server/tests/testModule/debugger_stepping.d.ts +3 -0
  96. package/dist/debug_server/tests/testModule/debugger_stepping.js +28 -0
  97. package/dist/debug_server/tests/testModule/debugger_stepping.js.map +1 -0
  98. package/dist/debug_server/tests/testModule/debugger_string_stepping.d.ts +1 -0
  99. package/dist/debug_server/tests/testModule/debugger_string_stepping.js +9 -0
  100. package/dist/debug_server/tests/testModule/debugger_string_stepping.js.map +1 -0
  101. package/dist/debug_server/tests/testModule/debugger_typed_array.d.ts +1 -0
  102. package/dist/debug_server/tests/testModule/debugger_typed_array.js +52 -0
  103. package/dist/debug_server/tests/testModule/debugger_typed_array.js.map +1 -0
  104. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.d.ts +1 -0
  105. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js +10 -0
  106. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js.map +1 -0
  107. package/dist/dwarf/dwarfParser.js +6 -13
  108. package/dist/dwarf/dwarfParser.js.map +1 -1
  109. package/dist/dwarf/functionDebugInfo.d.ts +3 -0
  110. package/dist/dwarf/functionDebugInfo.js +24 -0
  111. package/dist/dwarf/functionDebugInfo.js.map +1 -1
  112. package/package.json +7 -7
  113. package/warpo_extension/std/tsconfig.json +4 -0
  114. package/warpo_extension/std/warpo/ffi.ts +16 -0
  115. package/warpo_extension/std/warpo/test/comparison.ts +122 -0
  116. package/warpo_extension/std/warpo/test/env.ts +33 -0
  117. package/warpo_extension/std/warpo/test/expect.ts +101 -0
  118. package/warpo_extension/std/warpo/test/formatPrint.ts +99 -0
  119. package/warpo_extension/std/warpo/test/implement.ts +41 -0
  120. package/warpo_extension/std/warpo/test/index.d.ts +0 -0
  121. package/warpo_extension/std/warpo/test/index.ts +39 -0
  122. package/warpo_extension/std/warpo/test/mockInstrument.ts +26 -0
  123. package/warpo_extension/std/warpo/utf8/const_str.ts +17 -0
  124. package/warpo_extension/std/wasi_snapshot_preview1/LICENSE +202 -0
  125. package/warpo_extension/std/wasi_snapshot_preview1/README.md +1 -0
  126. package/warpo_extension/std/wasi_snapshot_preview1/bindings/wasi_snapshot_preview1.ts +1731 -0
  127. package/warpo_extension/std/wasi_snapshot_preview1/wasi_console.ts +96 -0
  128. package/warpo_extension/std/wasi_snapshot_preview1/wasi_crypto.ts +8 -0
  129. package/warpo_extension/std/wasi_snapshot_preview1/wasi_date.ts +13 -0
  130. package/warpo_extension/std/wasi_snapshot_preview1/wasi_internal.ts +119 -0
  131. package/warpo_extension/std/wasi_snapshot_preview1/wasi_performance.ts +11 -0
  132. package/warpo_extension/std/wasi_snapshot_preview1/wasi_process.ts +191 -0
@@ -0,0 +1,52 @@
1
+ // @ts-nocheck
2
+ export function _start() {
3
+ return run();
4
+ }
5
+ function run() {
6
+ let int8 = new Int8Array(2);
7
+ int8[0] = -8;
8
+ int8[1] = 8;
9
+ let uint8 = new Uint8Array(2);
10
+ uint8[0] = 9;
11
+ uint8[1] = 19;
12
+ let uint8Clamped = new Uint8ClampedArray(2);
13
+ uint8Clamped[0] = 29;
14
+ uint8Clamped[1] = 39;
15
+ let int16 = new Int16Array(2);
16
+ int16[0] = -49;
17
+ int16[1] = 49;
18
+ let uint16 = new Uint16Array(2);
19
+ uint16[0] = 59;
20
+ uint16[1] = 69;
21
+ let int32 = new Int32Array(2);
22
+ int32[0] = -79;
23
+ int32[1] = 79;
24
+ let uint32 = new Uint32Array(2);
25
+ uint32[0] = 89;
26
+ uint32[1] = 99;
27
+ let int64 = new Int64Array(2);
28
+ int64[0] = -109;
29
+ int64[1] = 109;
30
+ let uint64 = new Uint64Array(2);
31
+ uint64[0] = 119;
32
+ uint64[1] = 129;
33
+ let float32 = new Float32Array(2);
34
+ float32[0] = 1.5;
35
+ float32[1] = 2.5;
36
+ let float64 = new Float64Array(2);
37
+ float64[0] = 3.5;
38
+ float64[1] = 4.5;
39
+ let result = int8[0] +
40
+ uint8[0] +
41
+ uint8Clamped[0] +
42
+ int16[0] +
43
+ uint16[0] +
44
+ int32[0] +
45
+ uint32[0] +
46
+ int64[0] +
47
+ uint64[0] +
48
+ float32[0] +
49
+ float64[0];
50
+ return result;
51
+ }
52
+ //# sourceMappingURL=debugger_typed_array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger_typed_array.js","sourceRoot":"","sources":["../../../../tools/debug_server/tests/testModule/debugger_typed_array.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,MAAM,UAAU,MAAM;IACpB,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED,SAAS,GAAG;IACV,IAAI,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,YAAY,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5C,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrB,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACf,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAChB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAChB,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,IAAI,MAAM,GACH,IAAI,CAAC,CAAC,CAAC;QACP,KAAK,CAAC,CAAC,CAAC;QACR,YAAY,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,OAAO,CAAC,CAAC,CAAC;QACV,OAAO,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function _start(): i32;
@@ -0,0 +1,10 @@
1
+ // @ts-nocheck
2
+ import * as utf8 from "warpo/utf8/const_str";
3
+ export function _start() {
4
+ return run();
5
+ }
6
+ function run() {
7
+ let s = utf8.build("abcdef");
8
+ return s.size;
9
+ }
10
+ //# sourceMappingURL=debugger_utf8_const_str.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger_utf8_const_str.js","sourceRoot":"","sources":["../../../../tools/debug_server/tests/testModule/debugger_utf8_const_str.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,MAAM;IACpB,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED,SAAS,GAAG;IACV,IAAI,CAAC,GAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,IAAI,CAAC;AAChB,CAAC"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { BinaryReader, } from "wasmparser";
12
12
  import assert from "node:assert/strict";
13
+ import { readULEB128 as readUnsignedLEB128 } from "../common/leb128.js";
13
14
  // ── DWARF constants ──────────────────────────────────────────────────────────
14
15
  /** DWARF tag values (DW_TAG_*). */
15
16
  export const DW_TAG = {
@@ -46,9 +47,11 @@ export const DW_FORM = {
46
47
  };
47
48
  class BufferReader {
48
49
  view;
50
+ bytes;
49
51
  offset;
50
52
  constructor(data, offset = 0) {
51
53
  this.view = data instanceof Uint8Array ? new DataView(data.buffer, data.byteOffset, data.byteLength) : data;
54
+ this.bytes = new Uint8Array(this.view.buffer, this.view.byteOffset, this.view.byteLength);
52
55
  this.offset = offset;
53
56
  }
54
57
  get length() {
@@ -68,19 +71,9 @@ class BufferReader {
68
71
  return val;
69
72
  }
70
73
  readULEB128() {
71
- let result = 0;
72
- let shift = 0;
73
- let byte;
74
- const start = this.offset;
75
- do {
76
- if (this.offset >= this.view.byteLength) {
77
- throw new Error(`ULEB128 read past end of buffer at offset ${start}`);
78
- }
79
- byte = this.view.getUint8(this.offset++);
80
- result |= (byte & 0x7f) << shift;
81
- shift += 7;
82
- } while (byte & 0x80);
83
- return result >>> 0;
74
+ const result = readUnsignedLEB128(this.bytes, this.offset);
75
+ this.offset = result.nextOffset;
76
+ return result.value;
84
77
  }
85
78
  readString() {
86
79
  let end = this.offset;
@@ -1 +1 @@
1
- {"version":3,"file":"dwarfParser.js","sourceRoot":"","sources":["../../tools/dwarf/dwarfParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwarfParser.js","sourceRoot":"","sources":["../../tools/dwarf/dwarfParser.ts"],"names":[],"mappings":"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"}
@@ -43,10 +43,13 @@ export interface DwarfFunctionInfo {
43
43
  }
44
44
  export declare class DwarfFunctionInfoResolver {
45
45
  private readonly functions;
46
+ private readonly functionsByName;
46
47
  private readonly globals;
47
48
  private constructor();
48
49
  static fromWasm(wasmBinary: Uint8Array | ArrayBuffer): DwarfFunctionInfoResolver;
49
50
  getFunctions(): DwarfFunctionInfo[];
51
+ findFunctionByName(functionName: string): DwarfFunctionInfo | undefined;
52
+ getClosureVariableLevelsByFunctionName(functionName: string): DwarfClosureVariableLevel[] | undefined;
50
53
  getGlobals(): DwarfGlobalVariableInfo[];
51
54
  findFunctionByBytecodeOffset(bytecodeOffset: number): DwarfFunctionInfo | undefined;
52
55
  }
@@ -5,9 +5,11 @@ import { DW_AT, DW_TAG, buildOffsetMap, getAttr, parseWasmDebugInfo } from "./dw
5
5
  export const WARPO_DEBUG_CLOSURE_ENV_LOCAL_NAME = "~__warpo_debug_closure_env";
6
6
  export class DwarfFunctionInfoResolver {
7
7
  functions;
8
+ functionsByName;
8
9
  globals;
9
10
  constructor(functions, globals) {
10
11
  this.functions = functions;
12
+ this.functionsByName = buildFunctionNameMap(functions);
11
13
  this.globals = globals;
12
14
  }
13
15
  static fromWasm(wasmBinary) {
@@ -33,6 +35,13 @@ export class DwarfFunctionInfoResolver {
33
35
  getFunctions() {
34
36
  return this.functions;
35
37
  }
38
+ findFunctionByName(functionName) {
39
+ return this.functionsByName.get(functionName);
40
+ }
41
+ getClosureVariableLevelsByFunctionName(functionName) {
42
+ const functionInfo = this.findFunctionByName(functionName);
43
+ return functionInfo === undefined ? undefined : getClosureVariableLevels(functionInfo);
44
+ }
36
45
  getGlobals() {
37
46
  return this.globals;
38
47
  }
@@ -223,6 +232,21 @@ function getNodeVariables(node) {
223
232
  }
224
233
  return node.variables;
225
234
  }
235
+ function buildFunctionNameMap(functions) {
236
+ const functionsByName = new Map();
237
+ function visit(node) {
238
+ if (node.kind === "function" && !functionsByName.has(node.name)) {
239
+ functionsByName.set(node.name, node);
240
+ }
241
+ for (const child of node.children) {
242
+ visit(child);
243
+ }
244
+ }
245
+ for (const functionInfo of functions) {
246
+ visit(functionInfo);
247
+ }
248
+ return functionsByName;
249
+ }
226
250
  function getScopeTrace(node) {
227
251
  const scopes = [];
228
252
  let current = node;
@@ -1 +1 @@
1
- {"version":3,"file":"functionDebugInfo.js","sourceRoot":"","sources":["../../tools/dwarf/functionDebugInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functionDebugInfo.js","sourceRoot":"","sources":["../../tools/dwarf/functionDebugInfo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "warpo",
3
- "version": "3.1.3",
3
+ "version": "3.2.1",
4
4
  "description": "next generation AssemblyScript compiler with optimizations",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,12 +18,12 @@
18
18
  "build:release": "npm run build:ts && npm run build:cpp:release",
19
19
  "test:as:ut": "node dist/warpo.js test",
20
20
  "test:cpp:ut": "cd build && ctest --output-on-failure",
21
- "test:as:snapshot": "cross-env-shell ./build/tests/frontend/warpo_frontend_test",
21
+ "test:as:snapshot": "node tests/run_native_test.mjs ./build/tests/frontend/warpo_frontend_test",
22
22
  "test:opt:snapshot": "node tests/snapshot_diff/index.mjs",
23
23
  "test:bootstrap:debug": "./tests/bootstrap/debug.sh",
24
24
  "test:bootstrap:release": "./tests/bootstrap/release.sh",
25
- "test:debug_symbol": "cross-env-shell ./build/tests/dwarf/TestDebugSymbol",
26
- "test:debug_symbol:update": "cross-env-shell build/tests/dwarf/TestDebugSymbol --update-fixtures",
25
+ "test:debug_symbol": "node tests/run_native_test.mjs ./build/tests/dwarf/TestDebugSymbol",
26
+ "test:debug_symbol:update": "node tests/run_native_test.mjs ./build/tests/dwarf/TestDebugSymbol --update-fixtures",
27
27
  "test:dwarf": "node --import tsx --test tools/dwarf/tests/**/*.test.ts",
28
28
  "test:debug_server": "node --import tsx --test tools/debug_server/tests/**/*.test.ts",
29
29
  "test:heap_analyzer": "cd tools/heap_analyzer && npm test",
@@ -55,11 +55,12 @@
55
55
  "files": [
56
56
  "asconfig.schema.json",
57
57
  "assemblyscript/build-parser/**/*",
58
- "assemblyscript/std/assembly/index.d.ts",
58
+ "assemblyscript/std/**/*",
59
59
  "create",
60
60
  "dist",
61
61
  "tsconfig-warpo.json",
62
- "types"
62
+ "types",
63
+ "warpo_extension/std/**/*"
63
64
  ],
64
65
  "devDependencies": {
65
66
  "@eslint/js": "^9.0.0",
@@ -71,7 +72,6 @@
71
72
  "@vscode/vsce": "^3.0.0",
72
73
  "assemblyscript": "^0.28.9",
73
74
  "assemblyscript-prettier": "^3.0.4",
74
- "cross-env": "^10.1.0",
75
75
  "cspell": "^9.3.0",
76
76
  "diff": "^8.0.0",
77
77
  "esbuild": "^0.28.1",
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "../../types/tsconfig-std.json",
3
+ "include": ["./**/*.ts"]
4
+ }
@@ -0,0 +1,16 @@
1
+ // Copyright (C) 2026 wasm-ecosystem
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export namespace ffi {
5
+ // @ts-ignore: decorator
6
+ @unsafe @external("as-builtin-fn", "set_ffi_closure_env")
7
+ export declare function set_ffi_closure_env(value: i32): void;
8
+
9
+ // @ts-ignore: decorator
10
+ @unsafe @builtin
11
+ export declare function multi_return_to_tuple<T>(value: MultiReturn<T>): T;
12
+
13
+ // @ts-ignore: decorator
14
+ @unmanaged
15
+ export class MultiReturn<T> {}
16
+ }
@@ -0,0 +1,122 @@
1
+ // Copyright (C) 2025 wasm-ecosystem
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export function isNull<T>(a: T): bool {
5
+ if (!isReference<T>(a)) {
6
+ ERROR("parameter of isNull should be a reference type");
7
+ }
8
+ if (!isNullable<T>(a)) {
9
+ ERROR("parameter of isNull should be nullable");
10
+ }
11
+ return a == null;
12
+ }
13
+
14
+ function includes<T>(set: T[], value: T): bool {
15
+ for (let i = 0; i < set.length; i++) {
16
+ if (equal<T>(set[i], value)) {
17
+ return true;
18
+ }
19
+ }
20
+ return false;
21
+ }
22
+
23
+ function equalArrayBuffer<T>(a: T, b: T): bool {
24
+ if (!(a instanceof ArrayBuffer) || !(b instanceof ArrayBuffer)) {
25
+ return false;
26
+ }
27
+ if (a.byteLength != b.byteLength) {
28
+ return false;
29
+ }
30
+ const aRef = changetype<i32>(a);
31
+ const bRef = changetype<i32>(b);
32
+ const wordSize = a.byteLength / 4;
33
+ const remainder = a.byteLength % 4;
34
+ for (let i = 0; i < wordSize; i++) {
35
+ if (load<u32>(aRef + i * 4) != load<u32>(bRef + i * 4)) {
36
+ return false;
37
+ }
38
+ }
39
+ for (let i = 0; i < remainder; i++) {
40
+ if (load<u8>(aRef + wordSize * 4 + i) != load<u8>(bRef + wordSize * 4 + i)) {
41
+ return false;
42
+ }
43
+ }
44
+ return true;
45
+ }
46
+
47
+ function equalArrayLike<T>(a: T, b: T): bool {
48
+ if (!isArrayLike<T>(a) || !isArrayLike<T>(b)) {
49
+ return false;
50
+ }
51
+ if (a.length != b.length) {
52
+ return false;
53
+ }
54
+ for (let i = 0; i < a.length; i++) {
55
+ if (!equal(a[i], b[i])) {
56
+ return false;
57
+ }
58
+ }
59
+ return true;
60
+ }
61
+
62
+ function equalMap<T, U>(a: Map<T, U>, b: Map<T, U>): bool {
63
+ const a_key: T[] = a.keys();
64
+ const b_key: T[] = b.keys();
65
+ if (a_key.length != b_key.length) {
66
+ return false;
67
+ }
68
+ for (let i = 0; i < a_key.length; i++) {
69
+ const k: T = a_key[i];
70
+ if (!includes(b_key, k)) {
71
+ return false;
72
+ }
73
+ if (!equal(a.get(k), b.get(k))) {
74
+ return false;
75
+ }
76
+ }
77
+ return true;
78
+ }
79
+
80
+ function equalSet<T>(a: Set<T>, b: Set<T>): bool {
81
+ if (a.size != b.size) {
82
+ return false;
83
+ }
84
+ const va: T[] = a.values();
85
+ const vb: T[] = b.values();
86
+ for (let i = 0; i < va.length; i++) {
87
+ if (!includes(vb, va[i])) {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
92
+ }
93
+
94
+ export function equal<T>(a: T, b: T): bool {
95
+ if (!isReference<T>() || isString<T>()) {
96
+ return a == b;
97
+ }
98
+ if (isNullable(a) || isNullable(b)) {
99
+ if (isNull(a) && isNull(b)) {
100
+ return true;
101
+ }
102
+ if ((isNull(a) && !isNull(b)) || (!isNull(a) && isNull(b))) {
103
+ return false;
104
+ }
105
+ }
106
+ const nonnull_a = <NonNullable<T>>a;
107
+ const nonnull_b = <NonNullable<T>>b;
108
+ if (nonnull_a instanceof ArrayBuffer && nonnull_b instanceof ArrayBuffer) {
109
+ return equalArrayBuffer<NonNullable<T>>(nonnull_a, nonnull_b);
110
+ }
111
+ if (isArrayLike<T>(nonnull_a) && isArrayLike<T>(nonnull_b)) {
112
+ return equalArrayLike<NonNullable<T>>(nonnull_a, nonnull_b);
113
+ }
114
+ if (nonnull_a instanceof Map && nonnull_b instanceof Map) {
115
+ return equalMap(nonnull_a, nonnull_b);
116
+ }
117
+ if (nonnull_a instanceof Set && nonnull_b instanceof Set) {
118
+ return equalSet(nonnull_a, nonnull_b);
119
+ }
120
+ ERROR("type is not supported for equality, hint: cannot compare user-defined objects");
121
+ return false;
122
+ }
@@ -0,0 +1,33 @@
1
+ // Copyright (C) 2025 wasm-ecosystem
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export namespace assertResult {
5
+ // @ts-ignore: decorators
6
+ @external("__unittest_framework_env","addDescription")
7
+ export declare function addDescription(description: string): void;
8
+
9
+ // @ts-ignore: decorators
10
+ @external("__unittest_framework_env","removeDescription")
11
+ export declare function removeDescription(): void;
12
+
13
+ // @ts-ignore: decorators
14
+ @external("__unittest_framework_env","registerTestFunction")
15
+ export declare function registerTestFunction(index: u32): void;
16
+
17
+ // @ts-ignore: decorators
18
+ @external("__unittest_framework_env","registerBeforeEachFunction")
19
+ export declare function registerBeforeEachFunction(index: u32): boolean;
20
+
21
+ // @ts-ignore: decorators
22
+ @external("__unittest_framework_env","registerAfterEachFunction")
23
+ export declare function registerAfterEachFunction(index: u32): boolean;
24
+
25
+ // @ts-ignore: decorators
26
+ @external("__unittest_framework_env","collectCheckResult")
27
+ export declare function collectCheckResult(
28
+ result: bool,
29
+ codeInfoIndex: number,
30
+ actualValue: string,
31
+ expectValue: string
32
+ ): void;
33
+ }
@@ -0,0 +1,101 @@
1
+ import { equal, isNull } from "./comparison";
2
+ import { assertResult } from "./env";
3
+ import { toJson } from "./formatPrint";
4
+
5
+ // @ts-ignore
6
+ @inline
7
+ const EXPECT_MAX_INDEX = 2147483647;
8
+
9
+ export class Value<T> {
10
+ reversed: bool = false;
11
+ data: T;
12
+ constructor(_data: T) {
13
+ this.data = _data;
14
+ }
15
+
16
+ private collect(result: bool, codeInfoIndex: number, actualValue: string, expectValue: string): void {
17
+ assertResult.collectCheckResult(this.reversed ? !result : result, codeInfoIndex, actualValue, expectValue);
18
+ }
19
+
20
+ get not(): Value<T> {
21
+ this.reversed = !this.reversed;
22
+ return this;
23
+ }
24
+
25
+ isNull(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
26
+ this.collect(isNull<T>(this.data), codeInfoIndex, toJson(this.data), "to be null");
27
+ return this;
28
+ }
29
+ notNull(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
30
+ this.collect(!isNull<T>(this.data), codeInfoIndex, toJson(this.data), "notNull");
31
+ return this;
32
+ }
33
+
34
+ equal(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
35
+ this.collect(equal<T>(this.data, checkValue), codeInfoIndex, toJson(this.data), "= " + toJson(checkValue));
36
+ return this;
37
+ }
38
+ notEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
39
+ this.collect(!equal<T>(this.data, checkValue), codeInfoIndex, toJson(this.data), " != " + toJson(checkValue));
40
+ return this;
41
+ }
42
+
43
+ greaterThan(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
44
+ this.collect(this.data > checkValue, codeInfoIndex, toJson(this.data), " > " + toJson(checkValue));
45
+ return this;
46
+ }
47
+ greaterThanOrEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
48
+ this.collect(this.data >= checkValue, codeInfoIndex, toJson(this.data), " >= " + toJson(checkValue));
49
+ return this;
50
+ }
51
+ lessThan(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
52
+ this.collect(this.data < checkValue, codeInfoIndex, toJson(this.data), " < " + toJson(checkValue));
53
+ return this;
54
+ }
55
+ lessThanOrEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
56
+ this.collect(this.data <= checkValue, codeInfoIndex, toJson(this.data), " <= " + toJson(checkValue));
57
+ return this;
58
+ }
59
+
60
+ closeTo(checkValue: T, delta: number, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
61
+ const data = this.data;
62
+ if (isFloat<T>(checkValue) && isFloat<T>(data)) {
63
+ this.collect(abs(data - checkValue) < delta, codeInfoIndex, toJson(this.data), " closeTo " + toJson(checkValue));
64
+ } else {
65
+ ERROR("closeTo should only be used in f32 | f64");
66
+ }
67
+ return this;
68
+ }
69
+
70
+ isa<ExpectType>(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
71
+ if (isNullable<T>()) {
72
+ if (this.data == null) {
73
+ this.collect(false, codeInfoIndex, `<<null>>`, `RTID<${idof<ExpectType>()}>`);
74
+ return this;
75
+ }
76
+ }
77
+ assert(this.data != null, "data should not be null here");
78
+ this.collect(
79
+ // @ts-ignore
80
+ this.data instanceof ExpectType,
81
+ codeInfoIndex,
82
+ // TODO: need extend chain information
83
+ `RTID<${load<u32>(changetype<usize>(this.data) - 8)}>`,
84
+ `RTID<${idof<ExpectType>()}>`
85
+ );
86
+ return this;
87
+ }
88
+
89
+ isExactly<ExpectType>(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
90
+ if (isNullable<T>()) {
91
+ if (this.data == null) {
92
+ this.collect(false, codeInfoIndex, `<<null>>`, `RTID<${idof<ExpectType>()}>`);
93
+ return this;
94
+ }
95
+ }
96
+ assert(this.data != null, "data should not be null here");
97
+ const rtid = load<u32>(changetype<usize>(this.data) - 8);
98
+ this.collect(rtid == idof<ExpectType>(), codeInfoIndex, `RTID<${rtid}>`, `RTID<${idof<ExpectType>()}>`);
99
+ return this;
100
+ }
101
+ }