goscript 0.0.8 → 0.0.11
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/builtin/builtin.ts +277 -1
- package/cmd/goscript/cmd_compile.go +8 -6
- package/compiler/compile.go +28 -11
- package/compiler/compile_decls.go +12 -0
- package/compiler/compile_expr.go +178 -27
- package/compiler/compile_spec.go +285 -5
- package/compiler/compile_stmt.go +160 -49
- package/compiler/writer.go +2 -2
- package/dist/builtin/builtin.d.ts +112 -1
- package/dist/builtin/builtin.js +199 -0
- package/dist/builtin/builtin.js.map +1 -1
- package/dist/compliance/tests/array_literal/array_literal.gs.js +1 -0
- package/dist/compliance/tests/array_literal/array_literal.gs.js.map +1 -1
- package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.d.ts +1 -0
- package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.js +82 -0
- package/dist/compliance/tests/async_defer_statement/async_defer_statement.gs.js.map +1 -0
- package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js +4 -0
- package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js.map +1 -1
- package/dist/compliance/tests/copy_independence/copy_independence.gs.js +3 -1
- package/dist/compliance/tests/copy_independence/copy_independence.gs.js.map +1 -1
- package/dist/compliance/tests/defer_statement/defer_statement.gs.d.ts +1 -0
- package/dist/compliance/tests/defer_statement/defer_statement.gs.js +75 -0
- package/dist/compliance/tests/defer_statement/defer_statement.gs.js.map +1 -0
- package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.d.ts +1 -0
- package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js +37 -0
- package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js.map +1 -0
- package/dist/compliance/tests/float64/float64.gs.js +1 -0
- package/dist/compliance/tests/float64/float64.gs.js.map +1 -1
- package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.d.ts +1 -0
- package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.js +14 -0
- package/dist/compliance/tests/for_loop_infinite/for_loop_infinite.gs.js.map +1 -0
- package/dist/compliance/tests/func_literal/func_literal.gs.js.map +1 -1
- package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.d.ts +2 -0
- package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js +4 -0
- package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js.map +1 -1
- package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.d.ts +1 -0
- package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js +34 -0
- package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js.map +1 -0
- package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js +8 -2
- package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js.map +1 -1
- package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js +16 -2
- package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js.map +1 -1
- package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.d.ts +1 -0
- package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.js +51 -0
- package/dist/compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.js.map +1 -0
- package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js +3 -1
- package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js.map +1 -1
- package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js +3 -0
- package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js.map +1 -1
- package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js +3 -0
- package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js.map +1 -1
- package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js +3 -0
- package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js.map +1 -1
- package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js +3 -0
- package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js.map +1 -1
- package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js +3 -0
- package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js.map +1 -1
- package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js +3 -0
- package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js.map +1 -1
- package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js +3 -1
- package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js.map +1 -1
- package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js +1 -0
- package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js.map +1 -1
- package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js +3 -1
- package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js.map +1 -1
- package/dist/compliance/tests/slices/slices.gs.js +280 -7
- package/dist/compliance/tests/slices/slices.gs.js.map +1 -1
- package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js.map +1 -1
- package/dist/compliance/tests/struct_embedding/struct_embedding.gs.d.ts +1 -0
- package/dist/compliance/tests/struct_embedding/struct_embedding.gs.js +48 -0
- package/dist/compliance/tests/struct_embedding/struct_embedding.gs.js.map +1 -0
- package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js +3 -0
- package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js.map +1 -1
- package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js +3 -0
- package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js.map +1 -1
- package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js +3 -1
- package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Generated file based on embedded_interface_assertion.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 Reader__typeInfo = goscript.registerType('Reader', goscript.TypeKind.Interface, null, new Set(['Read']), undefined);
|
|
6
|
+
// Register this interface with the runtime type system
|
|
7
|
+
const Closer__typeInfo = goscript.registerType('Closer', goscript.TypeKind.Interface, null, new Set(['Close']), undefined);
|
|
8
|
+
// Register this interface with the runtime type system
|
|
9
|
+
const ReadCloser__typeInfo = goscript.registerType('ReadCloser', goscript.TypeKind.Interface, null, new Set(['Close', 'Read']), undefined);
|
|
10
|
+
class MyStruct {
|
|
11
|
+
Read(p) {
|
|
12
|
+
const m = this;
|
|
13
|
+
return [0, null];
|
|
14
|
+
}
|
|
15
|
+
Close() {
|
|
16
|
+
const m = this;
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
constructor(init) { if (init)
|
|
20
|
+
Object.assign(this, init); }
|
|
21
|
+
clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
|
|
22
|
+
// Register this type with the runtime type system
|
|
23
|
+
static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['Read', 'Close']), MyStruct);
|
|
24
|
+
}
|
|
25
|
+
export async function main() {
|
|
26
|
+
let rwc;
|
|
27
|
+
let s = new MyStruct({});
|
|
28
|
+
rwc = s.clone();
|
|
29
|
+
let { ok: ok } = goscript.typeAssert(rwc, 'ReadCloser');
|
|
30
|
+
if (ok) {
|
|
31
|
+
console.log("Embedded interface assertion successful");
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
console.log("Embedded interface assertion failed");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=embedded_interface_assertion.gs.js.map
|
package/dist/compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_interface_assertion.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/embedded_interface_assertion/embedded_interface_assertion.gs.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAMxC,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAC5C,QAAQ,EACR,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EACjB,SAAS,CACV,CAAC;AAMF,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAC5C,QAAQ,EACR,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAClB,SAAS,CACV,CAAC;AAKF,uDAAuD;AACvD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAChD,YAAY,EACZ,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAC1B,SAAS,CACV,CAAC;AAEF,MAAM,QAAQ;IAEN,IAAI,CAAC,CAAW;QACtB,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAEM,KAAK;QACX,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,IAAI,CAAA;IACZ,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,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1B,QAAQ,CACT,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAI,CAAC,CAAA;IAC1B,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEf,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAa,GAAG,EAAE,YAAY,CAAC,CAAA;IACnE,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IACnD,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"float64.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/float64/float64.gs.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAC,GAAW,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,IAAI,CAAS,CAAC;IAEd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,aAAa;IACb,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,CAAC,GAAG,CAAC,CAAA;IACL,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAErB,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"float64.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/float64/float64.gs.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,oBAAoB;IACpB,IAAI,CAAC,GAAW,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,IAAI,CAAS,CAAC;IAEd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEzB,aAAa;IACb,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,CAAC,GAAG,CAAC,CAAA;IACL,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAErB,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function main(): Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Generated file based on for_loop_infinite.go
|
|
2
|
+
// Updated when compliance tests are re-run, DO NOT EDIT!
|
|
3
|
+
export async function main() {
|
|
4
|
+
let i = 0;
|
|
5
|
+
for (;;) {
|
|
6
|
+
console.log("Looping forever...");
|
|
7
|
+
i++;
|
|
8
|
+
if (i >= 3) {
|
|
9
|
+
break;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
console.log("Loop finished");
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=for_loop_infinite.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"for_loop_infinite.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/for_loop_infinite/for_loop_infinite.gs.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,SAAW,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,CAAC,EAAE,CAAA;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,MAAK;QACN,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"func_literal.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/func_literal/func_literal.gs.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,KAAK,GAAG,CAAC,IAAY,
|
|
1
|
+
{"version":3,"file":"func_literal.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/func_literal/func_literal.gs.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,yDAAyD;AAIzD,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACpC,OAAO,SAAS,GAAG,IAAI,CAAA;IACxB,CAAC,CAAA;IAGD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACrB,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import * as goscript from "@go/builtin";
|
|
1
2
|
declare class MyStruct {
|
|
2
3
|
MyInt: number;
|
|
3
4
|
MyString: string;
|
|
4
5
|
private myBool;
|
|
5
6
|
constructor(init?: Partial<MyStruct>);
|
|
6
7
|
clone(): MyStruct;
|
|
8
|
+
static __typeInfo: goscript.TypeInfo;
|
|
7
9
|
}
|
|
8
10
|
export declare function NewMyStruct(s: string): MyStruct;
|
|
9
11
|
export declare function main(): Promise<void>;
|
package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
// Generated file based on function_call_result_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 = "";
|
|
7
|
+
//nolint:unused
|
|
6
8
|
myBool = false;
|
|
7
9
|
constructor(init) { if (init)
|
|
8
10
|
Object.assign(this, init); }
|
|
9
11
|
clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
|
|
12
|
+
// Register this type with the runtime type system
|
|
13
|
+
static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set([]), MyStruct);
|
|
10
14
|
}
|
|
11
15
|
// NewMyStruct creates a new MyStruct instance.
|
|
12
16
|
export function NewMyStruct(s) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_call_result_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,yDAAyD;
|
|
1
|
+
{"version":3,"file":"function_call_result_assignment.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/function_call_result_assignment/function_call_result_assignment.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;IAC7B,eAAe;IACP,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,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,OAAO,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,uDAAuD;IACvD,2EAA2E;IAC3E,IAAI,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAA;IAC3D,IAAI,kBAAkB,GAAG,cAAc,CAAC,KAAK,EAAE,CAAA;IAC/C,kBAAkB,CAAC,QAAQ,GAAG,+BAA+B,CAAA;IAC7D,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,oEAAoE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC3G,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,uFAAuF,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AACnI,CAAC"}
|
package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function main(): Promise<void>;
|
|
@@ -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
|
package/dist/compliance/tests/interface_multi_param_return/interface_multi_param_return.gs.js.map
ADDED
|
@@ -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 { 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;
|
|
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,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAmB,CAAC,EAAE,kBAAkB,CAAC,CAAA;IAC7E,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,18 +12,29 @@ 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 { ok: ok } = goscript.typeAssert(i, 'MyStruct');
|
|
19
23
|
if (ok) {
|
|
20
24
|
console.log("Type assertion successful");
|
|
21
25
|
}
|
|
22
26
|
else {
|
|
23
27
|
console.log("Type assertion failed");
|
|
24
28
|
}
|
|
29
|
+
// try a second time since this generates something different when using = and not :=
|
|
30
|
+
({ ok: ok } = goscript.typeAssert(i, 'unknown'));
|
|
31
|
+
// expected
|
|
32
|
+
if (ok) {
|
|
33
|
+
console.log("Type assertion successful");
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// expected
|
|
37
|
+
console.log("Type assertion failed");
|
|
38
|
+
}
|
|
25
39
|
}
|
|
26
40
|
//# sourceMappingURL=interface_type_assertion.gs.js.map
|
|
@@ -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;
|
|
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,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAW,CAAC,EAAE,UAAU,CAAC,CAAA;IAC7D,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;IAED,qFAAqF;IACrF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAkB,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;IAEjE,WAAW;IACX,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACP,WAAW;QACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function main(): Promise<void>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Generated file based on interface_type_assertion_signature_mismatch.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 InterfaceA__typeInfo = goscript.registerType('InterfaceA', goscript.TypeKind.Interface, null, new Set(['DoSomething']), undefined);
|
|
6
|
+
// Register this interface with the runtime type system
|
|
7
|
+
const InterfaceB__typeInfo = goscript.registerType('InterfaceB', goscript.TypeKind.Interface, null, new Set(['DoSomething']), undefined);
|
|
8
|
+
class MyStruct {
|
|
9
|
+
Name = "";
|
|
10
|
+
DoSomething(val) {
|
|
11
|
+
const m = this;
|
|
12
|
+
console.log("MyStruct.DoSomething called");
|
|
13
|
+
return "done";
|
|
14
|
+
}
|
|
15
|
+
constructor(init) { if (init)
|
|
16
|
+
Object.assign(this, init); }
|
|
17
|
+
clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
|
|
18
|
+
// Register this type with the runtime type system
|
|
19
|
+
static __typeInfo = goscript.registerType('MyStruct', goscript.TypeKind.Struct, new MyStruct(), new Set(['DoSomething']), MyStruct);
|
|
20
|
+
}
|
|
21
|
+
export async function main() {
|
|
22
|
+
let a;
|
|
23
|
+
let s = new MyStruct({ Name: "TestStruct" });
|
|
24
|
+
a = s.clone();
|
|
25
|
+
// This assertion should fail at runtime because InterfaceB.DoSomething has a different signature
|
|
26
|
+
let { ok: ok } = goscript.typeAssert(a, 'InterfaceB');
|
|
27
|
+
if (ok) {
|
|
28
|
+
console.log("Type assertion to InterfaceB successful");
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.log("Type assertion to InterfaceB failed");
|
|
32
|
+
}
|
|
33
|
+
// This assertion should succeed
|
|
34
|
+
({ ok: ok } = goscript.typeAssert(a, 'InterfaceA'));
|
|
35
|
+
if (ok) {
|
|
36
|
+
console.log("Type assertion to InterfaceA successful");
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log("Type assertion to InterfaceA failed");
|
|
40
|
+
}
|
|
41
|
+
// Call the method on the asserted interface to ensure the generated code works
|
|
42
|
+
// This is not strictly necessary for the type assertion test but good practice
|
|
43
|
+
// if the assertion to InterfaceA succeeds.
|
|
44
|
+
{
|
|
45
|
+
let { value: assertedA, ok: ok } = goscript.typeAssert(a, 'InterfaceA');
|
|
46
|
+
if (ok) {
|
|
47
|
+
assertedA.DoSomething(123);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=interface_type_assertion_signature_mismatch.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface_type_assertion_signature_mismatch.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/interface_type_assertion_signature_mismatch/interface_type_assertion_signature_mismatch.gs.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yDAAyD;AAEzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAMxC,uDAAuD;AACvD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAChD,YAAY,EACZ,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EACxB,SAAS,CACV,CAAC;AAMF,uDAAuD;AACvD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAChD,YAAY,EACZ,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EACxB,SAAS,CACV,CAAC;AAEF,MAAM,QAAQ;IACN,IAAI,GAAW,EAAE,CAAC;IAElB,WAAW,CAAC,GAAW;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAA;IACd,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,CAAa,CAAC;IAClB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAC5C,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IAEb,iGAAiG;IACjG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAa,CAAC,EAAE,YAAY,CAAC,CAAA;IACjE,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IACnD,CAAC;IAED,gCAAgC;IAChC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAa,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;IAC/D,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IACnD,CAAC;IAED,+EAA+E;IAC/E,+EAA+E;IAC/E,2CAA2C;IAC3C,CAAC;QAAA,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAa,CAAC,EAAE,YAAY,CAAC,CAAA;QACnF,IAAI,EAAE,EAAE,CAAC;YACR,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACF,CAAC;AAAA,CAAC"}
|
package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js
CHANGED
|
@@ -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" });
|
package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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" });
|
package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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"}
|