goscript 0.0.8 → 0.0.10

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 (58) hide show
  1. package/builtin/builtin.ts +180 -0
  2. package/compiler/compile_expr.go +119 -25
  3. package/compiler/compile_spec.go +175 -2
  4. package/compiler/compile_stmt.go +86 -49
  5. package/compiler/writer.go +2 -2
  6. package/dist/builtin/builtin.d.ts +55 -0
  7. package/dist/builtin/builtin.js +126 -0
  8. package/dist/builtin/builtin.js.map +1 -1
  9. package/dist/compliance/tests/array_literal/array_literal.gs.js +1 -0
  10. package/dist/compliance/tests/array_literal/array_literal.gs.js.map +1 -1
  11. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js +4 -0
  12. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js.map +1 -1
  13. package/dist/compliance/tests/copy_independence/copy_independence.gs.js +3 -1
  14. package/dist/compliance/tests/copy_independence/copy_independence.gs.js.map +1 -1
  15. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.d.ts +1 -0
  16. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js +37 -0
  17. package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js.map +1 -0
  18. package/dist/compliance/tests/float64/float64.gs.js +1 -0
  19. package/dist/compliance/tests/float64/float64.gs.js.map +1 -1
  20. package/dist/compliance/tests/func_literal/func_literal.gs.js.map +1 -1
  21. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.d.ts +2 -0
  22. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js +4 -0
  23. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js.map +1 -1
  24. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.d.ts +1 -0
  25. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js +34 -0
  26. package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js.map +1 -0
  27. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js +8 -2
  28. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js.map +1 -1
  29. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js +6 -2
  30. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js.map +1 -1
  31. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js +3 -1
  32. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js.map +1 -1
  33. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js +3 -0
  34. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js.map +1 -1
  35. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js +3 -0
  36. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js.map +1 -1
  37. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js +3 -0
  38. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js.map +1 -1
  39. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js +3 -0
  40. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js.map +1 -1
  41. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js +3 -0
  42. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js.map +1 -1
  43. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js +3 -0
  44. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js.map +1 -1
  45. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js +3 -1
  46. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js.map +1 -1
  47. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js +1 -0
  48. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js.map +1 -1
  49. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js +3 -1
  50. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js.map +1 -1
  51. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js.map +1 -1
  52. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js +3 -0
  53. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js.map +1 -1
  54. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js +3 -0
  55. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js.map +1 -1
  56. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js +3 -1
  57. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js.map +1 -1
  58. package/package.json +2 -2
@@ -0,0 +1,34 @@
1
+ // Generated file based on interface_multi_param_return.go
2
+ // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
4
+ // Register this interface with the runtime type system
5
+ const MultiParamReturner__typeInfo = goscript.registerType('MultiParamReturner', goscript.TypeKind.Interface, null, new Set(['Process']), undefined);
6
+ class MyProcessor {
7
+ Process(data, count, _) {
8
+ const p = this;
9
+ if (count > 0 && goscript.len(data) > 0) {
10
+ console.log("Processing successful");
11
+ return [true, null];
12
+ }
13
+ console.log("Processing failed");
14
+ return [false, null];
15
+ }
16
+ constructor(init) { if (init)
17
+ Object.assign(this, init); }
18
+ clone() { return Object.assign(Object.create(MyProcessor.prototype), this); }
19
+ // Register this type with the runtime type system
20
+ static __typeInfo = goscript.registerType('MyProcessor', goscript.TypeKind.Struct, new MyProcessor(), new Set(['Process']), MyProcessor);
21
+ }
22
+ export async function main() {
23
+ let processor;
24
+ processor = new MyProcessor({});
25
+ let data = [1, 2, 3];
26
+ let [success,] = processor.Process(data, 5, "unused");
27
+ if (success) {
28
+ console.log("Main: Success reported");
29
+ }
30
+ else {
31
+ console.log("Main: Failure reported");
32
+ }
33
+ }
34
+ //# sourceMappingURL=interface_multi_param_return.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface_multi_param_return.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAMxC,uDAAuD;AACvD,MAAM,4BAA4B,GAAG,QAAQ,CAAC,YAAY,CACxD,oBAAoB,EACpB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,SAAS,CACV,CAAC;AAEF,MAAM,WAAW;IAET,OAAO,CAAC,IAAc,EAAE,KAAa,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,IAAI,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,YAAY,IAA2B,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IACjF,KAAK,KAAkB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhH,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,aAAa,EACb,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,WAAW,EAAE,EACjB,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,WAAW,CACZ,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,SAA6B,CAAC;IAClC,SAAS,GAAG,IAAI,WAAW,CAAC,EAAI,CAAC,CAAA;IAEjC,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACpB,IAAI,CAAC,OAAO,EAAG,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEtD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACtC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACtC,CAAC;AACF,CAAC"}
@@ -1,5 +1,8 @@
1
1
  // Generated file based on interface_to_interface_type_assertion.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
4
+ // Register this interface with the runtime type system
5
+ const MyInterface__typeInfo = goscript.registerType('MyInterface', goscript.TypeKind.Interface, null, new Set(['Method1']), undefined);
3
6
  class MyStruct {
4
7
  Value = 0;
5
8
  Method1() {
@@ -9,13 +12,16 @@ class MyStruct {
9
12
  constructor(init) { if (init)
10
13
  Object.assign(this, init); }
11
14
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
15
+ // Register this type with the runtime type system
16
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['Method1']), MyStruct);
12
17
  }
18
+ // Register this interface with the runtime type system
19
+ const MyOtherInterface__typeInfo = goscript.registerType('MyOtherInterface', goscript.TypeKind.Interface, null, new Set(['Method1']), undefined);
13
20
  export async function main() {
14
21
  let i;
15
22
  let s = new MyStruct({ Value: 10 });
16
23
  i = s.clone();
17
- let ok = i;
18
- let assertedValue = ok ? i : null;
24
+ let { value: _, ok: ok } = goscript.typeAssert(i, 'MyOtherInterface');
19
25
  if (ok) {
20
26
  console.log("Type assertion successful");
21
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interface_to_interface_type_assertion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,yDAAyD;AASzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAElB,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAOD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAc,CAAC;IACnB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEb,IAAI,EAAE,GAAa,CAAoC,CAAA;IACvD,IAAI,aAAa,GAA4B,EAAE,CAAC,CAAC,CAAE,CAAsB,CAAC,CAAC,CAAC,IAAI,CAAA;IAChF,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"interface_to_interface_type_assertion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAMxC,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,YAAY,CACjD,aAAa,EACb,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,SAAS,CACV,CAAC;AAEF,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAElB,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,QAAQ,CACT,CAAC;;AAOH,uDAAuD;AACvD,MAAM,0BAA0B,GAAG,QAAQ,CAAC,YAAY,CACtD,kBAAkB,EAClB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAc,CAAC;IACnB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEb,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAmB,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACvF,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;AACF,CAAC"}
@@ -1,5 +1,8 @@
1
1
  // Generated file based on interface_type_assertion.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
4
+ // Register this interface with the runtime type system
5
+ const MyInterface__typeInfo = goscript.registerType('MyInterface', goscript.TypeKind.Interface, null, new Set(['Method1']), undefined);
3
6
  class MyStruct {
4
7
  Value = 0;
5
8
  Method1() {
@@ -9,13 +12,14 @@ class MyStruct {
9
12
  constructor(init) { if (init)
10
13
  Object.assign(this, init); }
11
14
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
15
+ // Register this type with the runtime type system
16
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['Method1']), MyStruct);
12
17
  }
13
18
  export async function main() {
14
19
  let i;
15
20
  let s = new MyStruct({ Value: 10 });
16
21
  i = s.clone();
17
- let ok = i;
18
- let assertedValue = ok ? i : null;
22
+ let { value: _, ok: ok } = goscript.typeAssert(i, 'MyStruct');
19
23
  if (ok) {
20
24
  console.log("Type assertion successful");
21
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interface_type_assertion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_type_assertion/interface_type_assertion.gs.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AASzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAElB,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAc,CAAC;IACnB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEb,IAAI,EAAE,GAAa,CAA4B,CAAA;IAC/C,IAAI,aAAa,GAAoB,EAAE,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,IAAI,CAAA;IAChE,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"interface_type_assertion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_type_assertion/interface_type_assertion.gs.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAMxC,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,YAAY,CACjD,aAAa,EACb,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,SAAS,CACV,CAAC;AAEF,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAElB,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EACpB,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAc,CAAC;IACnB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEb,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAW,CAAC,EAAE,UAAU,CAAC,CAAA;IACvE,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;AACF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  // Generated file based on method_call_on_pointer_receiver.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
- myBool = false;
7
7
  // GetMyString returns the MyString field.
8
8
  GetMyString() {
9
9
  const m = this;
@@ -12,6 +12,8 @@ class MyStruct {
12
12
  constructor(init) { if (init)
13
13
  Object.assign(this, init); }
14
14
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
15
+ // Register this type with the runtime type system
16
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['GetMyString']), MyStruct);
15
17
  }
16
18
  export async function main() {
17
19
  let structPointer = new MyStruct({ MyInt: 4, MyString: "hello world" });
@@ -1 +1 @@
1
- {"version":3,"file":"method_call_on_pointer_receiver.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,0CAA0C;IACnC,WAAW;QACjB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,QAAQ,CAAA;IAClB,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,0CAA0C;IAC1C,iFAAiF;IACjF,OAAO,CAAC,GAAG,CAAC,yEAAyE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,CAAA;AACrH,CAAC"}
1
+ {"version":3,"file":"method_call_on_pointer_receiver.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,0CAA0C;IACnC,WAAW;QACjB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,QAAQ,CAAA;IAClB,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EACxB,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,0CAA0C;IAC1C,iFAAiF;IACjF,OAAO,CAAC,GAAG,CAAC,yEAAyE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,CAAA;AACrH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Generated file based on method_call_on_pointer_via_value.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  // SetValue sets the MyInt field (pointer receiver).
@@ -15,6 +16,8 @@ class MyStruct {
15
16
  constructor(init) { if (init)
16
17
  Object.assign(this, init); }
17
18
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
19
+ // Register this type with the runtime type system
20
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['SetValue', 'GetValue']), MyStruct);
18
21
  }
19
22
  export async function main() {
20
23
  // Create a struct value
@@ -1 +1 @@
1
- {"version":3,"file":"method_call_on_pointer_via_value.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAEzB,oDAAoD;IAC7C,QAAQ,CAAC,CAAS;QACxB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,sEAAsE;IAC/D,QAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,wBAAwB;IACxB,IAAI,OAAO,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAE1C,oDAAoD;IACpD,6DAA6D;IAC7D,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErB,yDAAyD;IACzD,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,mEAAmE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"method_call_on_pointer_via_value.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAEzB,oDAAoD;IAC7C,QAAQ,CAAC,CAAS;QACxB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,sEAAsE;IAC/D,QAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EACjC,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,wBAAwB;IACxB,IAAI,OAAO,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAE1C,oDAAoD;IACpD,6DAA6D;IAC7D,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErB,yDAAyD;IACzD,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,mEAAmE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrG,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Generated file based on method_call_on_value_receiver.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
@@ -11,6 +12,8 @@ class MyStruct {
11
12
  constructor(init) { if (init)
12
13
  Object.assign(this, init); }
13
14
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
15
+ // Register this type with the runtime type system
16
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['GetMyString']), MyStruct);
14
17
  }
15
18
  export async function main() {
16
19
  let ms = new MyStruct({ MyInt: 1, MyString: "bar" });
@@ -1 +1 @@
1
- {"version":3,"file":"method_call_on_value_receiver.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,0CAA0C;IACnC,WAAW;QACjB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,QAAQ,CAAA;IAClB,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"method_call_on_value_receiver.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,0CAA0C;IACnC,WAAW;QACjB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,QAAQ,CAAA;IAClB,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EACxB,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAC9E,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Generated file based on method_call_on_value_via_pointer.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  // GetValue returns the MyInt field (value receiver).
@@ -10,6 +11,8 @@ class MyStruct {
10
11
  constructor(init) { if (init)
11
12
  Object.assign(this, init); }
12
13
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
14
+ // Register this type with the runtime type system
15
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['GetValue']), MyStruct);
13
16
  }
14
17
  export async function main() {
15
18
  // Create a struct value
@@ -1 +1 @@
1
- {"version":3,"file":"method_call_on_value_via_pointer.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAEzB,qDAAqD;IAC9C,QAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,wBAAwB;IACxB,IAAI,OAAO,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC1C,uCAAuC;IACvC,IAAI,SAAS,GAAG,OAAO,CAAA;IAEvB,oDAAoD;IACpD,6DAA6D;IAC7D,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEnF,uDAAuD;IACvD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAA;IAEnB,iDAAiD;IACjD,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,mEAAmE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;AACvG,CAAC"}
1
+ {"version":3,"file":"method_call_on_value_via_pointer.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAEzB,qDAAqD;IAC9C,QAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,KAAK,CAAA;IACf,CAAC;IAED,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EACrB,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,wBAAwB;IACxB,IAAI,OAAO,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC1C,uCAAuC;IACvC,IAAI,SAAS,GAAG,OAAO,CAAA;IAEvB,oDAAoD;IACpD,6DAA6D;IAC7D,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEnF,uDAAuD;IACvD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAA;IAEnB,iDAAiD;IACjD,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,mEAAmE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;AACvG,CAAC"}
@@ -1,11 +1,14 @@
1
1
  // Generated file based on pointer_assignment_no_copy.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
7
  constructor(init) { if (init)
7
8
  Object.assign(this, init); }
8
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
9
12
  }
10
13
  export async function main() {
11
14
  let original = new MyStruct({ MyInt: 10, MyString: "original" });
@@ -1 +1 @@
1
- {"version":3,"file":"pointer_assignment_no_copy.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IAEhE,uCAAuC;IACvC,4DAA4D;IAC5D,IAAI,WAAW,GAAG,QAAQ,CAAA;IAE1B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAA;IAEvC,4EAA4E;IAC5E,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,2DAA2D,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAE/F,gDAAgD;IAChD,WAAW,CAAC,KAAK,GAAG,EAAE,CAAA;IAEtB,8EAA8E;IAC9E,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,uEAAuE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"pointer_assignment_no_copy.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IAEhE,uCAAuC;IACvC,4DAA4D;IAC5D,IAAI,WAAW,GAAG,QAAQ,CAAA;IAE1B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAA;IAEvC,4EAA4E;IAC5E,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,2DAA2D,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAE/F,gDAAgD;IAChD,WAAW,CAAC,KAAK,GAAG,EAAE,CAAA;IAEtB,8EAA8E;IAC9E,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,uEAAuE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrG,CAAC"}
@@ -1,11 +1,14 @@
1
1
  // Generated file based on pointer_composite_literal_assignment.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
7
  constructor(init) { if (init)
7
8
  Object.assign(this, init); }
8
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
9
12
  }
10
13
  export async function main() {
11
14
  // === Pointer Composite Literal Assignment ===
@@ -1 +1 @@
1
- {"version":3,"file":"pointer_composite_literal_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,+CAA+C;IAC/C,2EAA2E;IAC3E,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAC,CAAA;IAEtF,oCAAoC;IACpC,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5E,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,qEAAqE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE3G,6BAA6B;IAC7B,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;IACxB,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC"}
1
+ {"version":3,"file":"pointer_composite_literal_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,+CAA+C;IAC/C,2EAA2E;IAC3E,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAC,CAAA;IAEtF,oCAAoC;IACpC,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5E,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,qEAAqE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE3G,6BAA6B;IAC7B,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;IACxB,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Generated file based on pointer_deref_multiassign.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
@@ -7,6 +8,8 @@ class MyStruct {
7
8
  constructor(init) { if (init)
8
9
  Object.assign(this, init); }
9
10
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
11
+ // Register this type with the runtime type system
12
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
10
13
  }
11
14
  export async function main() {
12
15
  let structPointer = new MyStruct({ MyInt: 4, MyString: "hello world" });
@@ -1 +1 @@
1
- {"version":3,"file":"pointer_deref_multiassign.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,mDAAmD;IACnD,yDAAyD;IACzD,uFAAuF;IACvF,IAAI,sBAAsB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;IAClD,IAAI,YAAY,GAAG,OAAO,CAAA,CAAC,gBAAgB;AAC5C,CAAC"}
1
+ {"version":3,"file":"pointer_deref_multiassign.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,mDAAmD;IACnD,yDAAyD;IACzD,uFAAuF;IACvF,IAAI,sBAAsB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;IAClD,IAAI,YAAY,GAAG,OAAO,CAAA,CAAC,gBAAgB;AAC5C,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // Generated file based on pointer_initialization.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
- myBool = false;
7
7
  constructor(init) { if (init)
8
8
  Object.assign(this, init); }
9
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
10
12
  }
11
13
  export async function main() {
12
14
  // === Pointer Initialization ===
@@ -1 +1 @@
1
- {"version":3,"file":"pointer_initialization.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_initialization/pointer_initialization.gs.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,iCAAiC;IACjC,qEAAqE;IACrE,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,iEAAiE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AACxG,CAAC"}
1
+ {"version":3,"file":"pointer_initialization.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/pointer_initialization/pointer_initialization.gs.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,iCAAiC;IACjC,qEAAqE;IACrE,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,iEAAiE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AACxG,CAAC"}
@@ -4,6 +4,7 @@ import * as goscript from "@go/builtin";
4
4
  export async function main() {
5
5
  let ch = goscript.makeChannel(0, 0); // Unbuffered
6
6
  ch.close();
7
+ //nolint:staticcheck
7
8
  // Should not be reached
8
9
  // Should be reached
9
10
  await goscript.selectStatement([
@@ -1 +1 @@
1
- {"version":3,"file":"select_receive_on_closed_channel_no_default.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAS,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,aAAa;IACzD,EAAE,CAAC,KAAK,EAAE,CAAA;IAEV,wBAAwB;IAExB,oBAAoB;IACpB,MAAM,QAAQ,CAAC,eAAe,CAAC;QAC9B;YACC,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAA;gBACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;gBACpB,IAAI,EAAE,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA,CAAC,wBAAwB;gBAC3E,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA,CAAC,oBAAoB;gBAC7E,CAAC;YACF,CAAC;SACD;KACD,EAAE,KAAK,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"select_receive_on_closed_channel_no_default.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAS,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,aAAa;IACzD,EAAE,CAAC,KAAK,EAAE,CAAA;IAEV,oBAAoB;IAEpB,wBAAwB;IAExB,oBAAoB;IACpB,MAAM,QAAQ,CAAC,eAAe,CAAC;QAC9B;YACC,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAA;gBACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;gBACpB,IAAI,EAAE,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA,CAAC,wBAAwB;gBAC3E,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA,CAAC,oBAAoB;gBAC7E,CAAC;YACF,CAAC;SACD;KACD,EAAE,KAAK,CAAC,CAAA;AACV,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // Generated file based on simple_deref_assignment.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
- myBool = false;
7
7
  constructor(init) { if (init)
8
8
  Object.assign(this, init); }
9
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
10
12
  }
11
13
  export async function main() {
12
14
  let structPointer = new MyStruct({ MyInt: 4, MyString: "hello world" });
@@ -1 +1 @@
1
- {"version":3,"file":"simple_deref_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,qDAAqD;IACrD,IAAI,sBAAsB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;IAClD,sFAAsF;IACtF,sBAAsB,CAAC,QAAQ,GAAG,4BAA4B,CAAA;IAC9D,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,gGAAgG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtI,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,0EAA0E,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;AAC1H,CAAC"}
1
+ {"version":3,"file":"simple_deref_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,qDAAqD;IACrD,IAAI,sBAAsB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;IAClD,sFAAsF;IACtF,sBAAsB,CAAC,QAAQ,GAAG,4BAA4B,CAAA;IAC9D,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,gGAAgG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtI,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,0EAA0E,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;AAC1H,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string_rune_conversion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/string_rune_conversion/string_rune_conversion.gs.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,kCAAkC;IAClC,IAAI,CAAC,GAAW,EAAE,CAAC;IACnB,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEd,MAAM;IACN,IAAI,EAAE,GAAW,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM;IACN,IAAI,EAAE,GAAW,MAAM,CAAC;IACxB,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"string_rune_conversion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/string_rune_conversion/string_rune_conversion.gs.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,kCAAkC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAA;IACV,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEd,MAAM;IACN,IAAI,EAAE,GAAW,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM;IACN,IAAI,EAAE,GAAW,MAAM,CAAC;IACxB,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChB,CAAC"}
@@ -1,11 +1,14 @@
1
1
  // Generated file based on struct_field_access.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
7
  constructor(init) { if (init)
7
8
  Object.assign(this, init); }
8
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
9
12
  }
10
13
  export async function main() {
11
14
  // === Struct Field Access ===
@@ -1 +1 @@
1
- {"version":3,"file":"struct_field_access.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/struct_field_access/struct_field_access.gs.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,8BAA8B;IAC9B,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"struct_field_access.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/struct_field_access/struct_field_access.gs.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,8BAA8B;IAC9B,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC7D,CAAC"}
@@ -1,11 +1,14 @@
1
1
  // Generated file based on struct_value_init_clone.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class Point {
4
5
  X = 0;
5
6
  Y = 0;
6
7
  constructor(init) { if (init)
7
8
  Object.assign(this, init); }
8
9
  clone() { return Object.assign(Object.create(Point.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('Point', goscript.TypeKind.Struct, new Point(), new Set([]), Point);
9
12
  }
10
13
  export async function main() {
11
14
  // Initialize directly
@@ -1 +1 @@
1
- {"version":3,"file":"struct_value_init_clone.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,yDAAyD;AAIzD,MAAM,KAAK;IACH,CAAC,GAAW,CAAC,CAAC;IACd,CAAC,GAAW,CAAC,CAAC;IAErB,YAAY,IAAqB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,KAAY,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,sBAAsB;IACtB,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9B,oDAAoD;IACpD,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;IACnB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,kBAAkB;IAE5B,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9B,qCAAqC;IACrC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACjC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA,CAAC,uBAAuB;IAC1C,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,kBAAkB;IAE5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"struct_value_init_clone.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,KAAK;IACH,CAAC,GAAW,CAAC,CAAC;IACd,CAAC,GAAW,CAAC,CAAC;IAErB,YAAY,IAAqB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,KAAY,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9F,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,OAAO,EACP,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,KAAK,EAAE,EACX,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,KAAK,CACN,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,sBAAsB;IACtB,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9B,oDAAoD;IACpD,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;IACnB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,kBAAkB;IAE5B,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9B,qCAAqC;IACrC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACjC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA,CAAC,uBAAuB;IAC1C,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,kBAAkB;IAE5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // Generated file based on value_type_copy_behavior.go
2
2
  // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ import * as goscript from "@go/builtin";
3
4
  class MyStruct {
4
5
  MyInt = 0;
5
6
  MyString = "";
6
- myBool = false;
7
7
  constructor(init) { if (init)
8
8
  Object.assign(this, init); }
9
9
  clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ // Register this type with the runtime type system
11
+ static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
10
12
  }
11
13
  export async function main() {
12
14
  let dereferencedStructCopy = new MyStruct({ MyString: "original" });
@@ -1 +1 @@
1
- {"version":3,"file":"value_type_copy_behavior.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,sBAAsB,GAAG,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,mCAAmC;IACnC,8DAA8D;IAC9D,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,WAAW,GAAG,sBAAsB,CAAA;IACxC,kEAAkE;IAClE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,sBAAsB,CAAC,QAAQ,GAAG,qCAAqC,CAAA,CAAC,kCAAkC;IAC1G,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjF,kDAAkD;IAClD,OAAO,CAAC,GAAG,CAAC,mHAAmH,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAClK,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAClF,CAAC"}
1
+ {"version":3,"file":"value_type_copy_behavior.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IAE7B,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CACvC,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,IAAI,QAAQ,EAAE,EACd,IAAI,GAAG,CAAC,EAAE,CAAC,EACX,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,sBAAsB,GAAG,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,mCAAmC;IACnC,8DAA8D;IAC9D,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,WAAW,GAAG,sBAAsB,CAAA;IACxC,kEAAkE;IAClE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,sBAAsB,CAAC,QAAQ,GAAG,qCAAqC,CAAA,CAAC,kCAAkC;IAC1G,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjF,kDAAkD;IAClD,OAAO,CAAC,GAAG,CAAC,mHAAmH,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAClK,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAClF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goscript",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Go to TypeScript compiler",
5
5
  "bin": {
6
6
  "goscript": "./cmd/goscript/main.js"
@@ -32,7 +32,7 @@
32
32
  "example": "cd ./example/simple && bash run.bash",
33
33
  "test": "npm run test:js && npm run test:go",
34
34
  "test:go": "go test -v ./...",
35
- "test:js": "vitest run",
35
+ "test:js": "tsc --noEmit && vitest run",
36
36
  "format": "npm run format:go && npm run format:js && npm run format:config",
37
37
  "format:config": "prettier --write tsconfig.json package.json",
38
38
  "format:go": "gofumpt -w .",