goscript 0.0.47 → 0.0.49
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/cmd/goscript/deps.go +1 -4
- package/compiler/analysis.go +224 -63
- package/compiler/analysis_test.go +112 -0
- package/compiler/compiler.go +19 -87
- package/compiler/expr-call-type-conversion.go +148 -59
- package/compiler/expr-call.go +202 -10
- package/compiler/expr.go +5 -82
- package/compiler/gs_dependencies_test.go +60 -1
- package/compiler/spec-value.go +73 -51
- package/compiler/spec.go +293 -151
- package/compiler/stmt.go +192 -81
- package/dist/gs/builtin/builtin.d.ts +1 -5
- package/dist/gs/builtin/builtin.js +1 -34
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/fmt/fmt.js +20 -4
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/io/fs/fs.d.ts +6 -12
- package/dist/gs/io/fs/fs.js +52 -67
- package/dist/gs/io/fs/fs.js.map +1 -1
- package/dist/gs/os/index.d.ts +2 -1
- package/dist/gs/os/index.js +1 -1
- package/dist/gs/os/index.js.map +1 -1
- package/dist/gs/os/types_js.gs.d.ts +7 -1
- package/dist/gs/os/types_js.gs.js +16 -1
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/os/types_unix.gs.js +2 -2
- package/dist/gs/os/types_unix.gs.js.map +1 -1
- package/dist/gs/reflect/index.d.ts +3 -3
- package/dist/gs/reflect/index.js +2 -2
- package/dist/gs/reflect/index.js.map +1 -1
- package/dist/gs/reflect/map.js +2 -2
- package/dist/gs/reflect/map.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +8 -9
- package/dist/gs/reflect/type.js +101 -103
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/reflect/types.d.ts +1 -10
- package/dist/gs/reflect/types.js +3 -26
- package/dist/gs/reflect/types.js.map +1 -1
- package/dist/gs/reflect/value.js +23 -23
- package/dist/gs/reflect/value.js.map +1 -1
- package/dist/gs/reflect/visiblefields.js +3 -3
- package/dist/gs/reflect/visiblefields.js.map +1 -1
- package/dist/gs/time/time.d.ts +11 -22
- package/dist/gs/time/time.js +29 -57
- package/dist/gs/time/time.js.map +1 -1
- package/gs/TODO.md +129 -0
- package/gs/builtin/builtin.ts +3 -41
- package/gs/builtin/slice.ts +1 -1
- package/gs/bytes/meta.json +10 -0
- package/gs/fmt/fmt.ts +18 -4
- package/gs/fmt/meta.json +5 -0
- package/gs/internal/meta.json +5 -0
- package/gs/io/fs/fs.ts +58 -73
- package/gs/io/meta.json +9 -0
- package/gs/maps/meta.json +6 -0
- package/gs/math/meta.json +5 -0
- package/gs/os/index.ts +8 -1
- package/gs/os/meta.json +15 -0
- package/gs/os/types_js.gs.ts +22 -1
- package/gs/os/types_unix.gs.ts +2 -2
- package/gs/path/meta.json +6 -0
- package/gs/reflect/function-types.test.ts +10 -10
- package/gs/reflect/index.ts +6 -6
- package/gs/reflect/map.ts +2 -2
- package/gs/reflect/meta.json +5 -0
- package/gs/reflect/type.ts +108 -103
- package/gs/reflect/types.ts +2 -28
- package/gs/reflect/value.ts +23 -23
- package/gs/reflect/visiblefields.ts +3 -3
- package/gs/strconv/meta.json +5 -0
- package/gs/strings/meta.json +9 -0
- package/gs/sync/meta.json +19 -0
- package/gs/time/time.ts +32 -65
- package/package.json +1 -1
- package/dist/gs/builtin/io.d.ts +0 -16
- package/dist/gs/builtin/io.js +0 -15
- package/dist/gs/builtin/io.js.map +0 -1
- package/dist/gs/internal/testlog/index.d.ts +0 -1
- package/dist/gs/internal/testlog/index.js +0 -5
- package/dist/gs/internal/testlog/index.js.map +0 -1
- package/dist/gs/maps/iter.gs.d.ts +0 -7
- package/dist/gs/maps/iter.gs.js +0 -65
- package/dist/gs/maps/iter.gs.js.map +0 -1
- package/dist/gs/maps/maps.gs.d.ts +0 -7
- package/dist/gs/maps/maps.gs.js +0 -79
- package/dist/gs/maps/maps.gs.js.map +0 -1
- package/dist/gs/reflect/abi.d.ts +0 -59
- package/dist/gs/reflect/abi.gs.d.ts +0 -59
- package/dist/gs/reflect/abi.gs.js +0 -79
- package/dist/gs/reflect/abi.gs.js.map +0 -1
- package/dist/gs/reflect/abi.js +0 -79
- package/dist/gs/reflect/abi.js.map +0 -1
- package/dist/gs/reflect/badlinkname.d.ts +0 -52
- package/dist/gs/reflect/badlinkname.gs.d.ts +0 -52
- package/dist/gs/reflect/badlinkname.gs.js +0 -72
- package/dist/gs/reflect/badlinkname.gs.js.map +0 -1
- package/dist/gs/reflect/badlinkname.js +0 -72
- package/dist/gs/reflect/badlinkname.js.map +0 -1
- package/dist/gs/reflect/deepequal.gs.d.ts +0 -25
- package/dist/gs/reflect/deepequal.gs.js +0 -308
- package/dist/gs/reflect/deepequal.gs.js.map +0 -1
- package/dist/gs/reflect/float32reg_generic.gs.d.ts +0 -2
- package/dist/gs/reflect/float32reg_generic.gs.js +0 -10
- package/dist/gs/reflect/float32reg_generic.gs.js.map +0 -1
- package/dist/gs/reflect/index.gs.d.ts +0 -1
- package/dist/gs/reflect/index.gs.js +0 -3
- package/dist/gs/reflect/index.gs.js.map +0 -1
- package/dist/gs/reflect/iter.gs.d.ts +0 -3
- package/dist/gs/reflect/iter.gs.js +0 -24
- package/dist/gs/reflect/iter.gs.js.map +0 -1
- package/dist/gs/reflect/makefunc.gs.d.ts +0 -34
- package/dist/gs/reflect/makefunc.gs.js +0 -288
- package/dist/gs/reflect/makefunc.gs.js.map +0 -1
- package/dist/gs/reflect/map_swiss.gs.d.ts +0 -14
- package/dist/gs/reflect/map_swiss.gs.js +0 -70
- package/dist/gs/reflect/map_swiss.gs.js.map +0 -1
- package/dist/gs/reflect/reflect.gs.d.ts +0 -132
- package/dist/gs/reflect/reflect.gs.js +0 -437
- package/dist/gs/reflect/reflect.gs.js.map +0 -1
- package/dist/gs/reflect/swapper.gs.d.ts +0 -1
- package/dist/gs/reflect/swapper.gs.js +0 -32
- package/dist/gs/reflect/swapper.gs.js.map +0 -1
- package/dist/gs/reflect/type.gs.d.ts +0 -4
- package/dist/gs/reflect/type.gs.js +0 -21
- package/dist/gs/reflect/type.gs.js.map +0 -1
- package/dist/gs/reflect/value.gs.d.ts +0 -4
- package/dist/gs/reflect/value.gs.js +0 -12
- package/dist/gs/reflect/value.gs.js.map +0 -1
- package/dist/gs/reflect/visiblefields.gs.d.ts +0 -3
- package/dist/gs/reflect/visiblefields.gs.js +0 -123
- package/dist/gs/reflect/visiblefields.gs.js.map +0 -1
- package/dist/gs/stringslite/index.d.ts +0 -1
- package/dist/gs/stringslite/index.js +0 -2
- package/dist/gs/stringslite/index.js.map +0 -1
- package/dist/gs/stringslite/strings.d.ts +0 -11
- package/dist/gs/stringslite/strings.js +0 -67
- package/dist/gs/stringslite/strings.js.map +0 -1
- package/gs/bytes/metadata.go +0 -12
- package/gs/fmt/metadata.go +0 -7
- package/gs/internal/metadata.go +0 -7
- package/gs/io/io.go +0 -75
- package/gs/io/metadata.go +0 -11
- package/gs/maps/metadata.go +0 -8
- package/gs/math/metadata.go +0 -7
- package/gs/os/metadata.go +0 -17
- package/gs/path/metadata.go +0 -8
- package/gs/reflect/metadata.go +0 -7
- package/gs/strconv/metadata.go +0 -7
- package/gs/strings/metadata.go +0 -11
- package/gs/sync/metadata.go +0 -7
- package/gs/sync/sync.go +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAQ,GAAG,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAG7C,qEAAqE;AACrE,gEAAgE;AAChE,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,wCAAwC;AACxC,EAAE;AACF,oEAAoE;AACpE,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,CAAO;IACnC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,CAAE,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/time/time.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class Time {
|
|
|
9
9
|
UnixMilli(): number;
|
|
10
10
|
UnixMicro(): number;
|
|
11
11
|
UnixNano(): number;
|
|
12
|
-
Weekday():
|
|
12
|
+
Weekday(): Weekday;
|
|
13
13
|
Day(): number;
|
|
14
14
|
Month(): Month;
|
|
15
15
|
Year(): number;
|
|
@@ -28,15 +28,9 @@ export declare class Time {
|
|
|
28
28
|
Truncate(_d: Duration): Time;
|
|
29
29
|
String(): string;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
lt(other: Duration): boolean;
|
|
35
|
-
static multiply(duration: Duration, multiplier: number): Duration;
|
|
36
|
-
multiply(multiplier: number): Duration;
|
|
37
|
-
valueOf(): number;
|
|
38
|
-
toString(): string;
|
|
39
|
-
}
|
|
31
|
+
export type Duration = number;
|
|
32
|
+
export declare function Duration_lt(receiver: Duration, other: Duration): boolean;
|
|
33
|
+
export declare function Duration_multiply(receiver: Duration, multiplier: number): Duration;
|
|
40
34
|
export declare function multiplyDuration(duration: Duration, multiplier: number): Duration;
|
|
41
35
|
export declare class Location {
|
|
42
36
|
private _name;
|
|
@@ -70,12 +64,7 @@ export declare enum Weekday {
|
|
|
70
64
|
Saturday = 6
|
|
71
65
|
}
|
|
72
66
|
export declare function WeekdayString(w: Weekday): string;
|
|
73
|
-
export declare
|
|
74
|
-
private _value;
|
|
75
|
-
constructor(value: Weekday);
|
|
76
|
-
valueOf(): number;
|
|
77
|
-
String(): string;
|
|
78
|
-
}
|
|
67
|
+
export declare function Weekday_String(w: Weekday): string;
|
|
79
68
|
export declare class ParseError extends Error {
|
|
80
69
|
layout: string;
|
|
81
70
|
value: string;
|
|
@@ -105,12 +94,12 @@ export declare function Now(): Time;
|
|
|
105
94
|
export declare function Date(year: number, month: Month, day: number, hour: number, min: number, sec: number, nsec: number, loc: Location): Time;
|
|
106
95
|
export declare const UTC: Location;
|
|
107
96
|
export declare function FixedZone(name: string, offset: number): Location;
|
|
108
|
-
export declare const Nanosecond
|
|
109
|
-
export declare const Microsecond
|
|
110
|
-
export declare const Millisecond
|
|
111
|
-
export declare const Second
|
|
112
|
-
export declare const Minute
|
|
113
|
-
export declare const Hour
|
|
97
|
+
export declare const Nanosecond = 1;
|
|
98
|
+
export declare const Microsecond = 1000;
|
|
99
|
+
export declare const Millisecond = 1000000;
|
|
100
|
+
export declare const Second = 1000000000;
|
|
101
|
+
export declare const Minute = 60000000000;
|
|
102
|
+
export declare const Hour = 3600000000000;
|
|
114
103
|
export declare function Since(t: Time): Duration;
|
|
115
104
|
export declare function Until(t: Time): Duration;
|
|
116
105
|
export declare function Sleep(d: Duration): Promise<void>;
|
package/dist/gs/time/time.js
CHANGED
|
@@ -35,9 +35,9 @@ export class Time {
|
|
|
35
35
|
if (this._location.offsetSeconds !== undefined) {
|
|
36
36
|
const offsetMs = this._location.offsetSeconds * 1000;
|
|
37
37
|
const adjustedTime = new globalThis.Date(this._date.getTime() + offsetMs);
|
|
38
|
-
return
|
|
38
|
+
return adjustedTime.getUTCDay();
|
|
39
39
|
}
|
|
40
|
-
return
|
|
40
|
+
return this._date.getDay();
|
|
41
41
|
}
|
|
42
42
|
// Day returns the day of the month specified by t
|
|
43
43
|
Day() {
|
|
@@ -460,17 +460,17 @@ export class Time {
|
|
|
460
460
|
// If both times have monotonic readings, use them for more accurate duration calculation
|
|
461
461
|
if (this._monotonic !== undefined && u._monotonic !== undefined) {
|
|
462
462
|
const diffNs = this._monotonic - u._monotonic;
|
|
463
|
-
return
|
|
463
|
+
return diffNs;
|
|
464
464
|
}
|
|
465
465
|
// Fallback to Date-based calculation
|
|
466
466
|
const diffMs = this._date.getTime() - u._date.getTime();
|
|
467
467
|
const diffNs = this._nsec - u._nsec;
|
|
468
|
-
return
|
|
468
|
+
return diffMs * 1000000 + diffNs;
|
|
469
469
|
}
|
|
470
470
|
// Add adds the duration d to t, returning the sum
|
|
471
471
|
// Preserves monotonic reading if present
|
|
472
472
|
Add(d) {
|
|
473
|
-
const durationNs = d
|
|
473
|
+
const durationNs = d;
|
|
474
474
|
const newDate = new globalThis.Date(this._date.getTime() + Math.floor(durationNs / 1000000));
|
|
475
475
|
const newNsec = this._nsec + (durationNs % 1000000);
|
|
476
476
|
const newMonotonic = this._monotonic !== undefined ? this._monotonic + durationNs : undefined;
|
|
@@ -535,36 +535,17 @@ export class Time {
|
|
|
535
535
|
return result;
|
|
536
536
|
}
|
|
537
537
|
}
|
|
538
|
-
// Duration
|
|
539
|
-
export
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
lt(other) {
|
|
546
|
-
return this._nanoseconds < other._nanoseconds;
|
|
547
|
-
}
|
|
548
|
-
// Multiply duration by a number (for expressions like Hour * 24)
|
|
549
|
-
static multiply(duration, multiplier) {
|
|
550
|
-
return new Duration(duration._nanoseconds * multiplier);
|
|
551
|
-
}
|
|
552
|
-
// Add support for * operator
|
|
553
|
-
multiply(multiplier) {
|
|
554
|
-
return Duration.multiply(this, multiplier);
|
|
555
|
-
}
|
|
556
|
-
// valueOf returns the primitive number value, allowing direct comparison with < > etc
|
|
557
|
-
valueOf() {
|
|
558
|
-
return this._nanoseconds;
|
|
559
|
-
}
|
|
560
|
-
// toString for string representation
|
|
561
|
-
toString() {
|
|
562
|
-
return this._nanoseconds.toString() + 'ns';
|
|
563
|
-
}
|
|
538
|
+
// Duration comparison function
|
|
539
|
+
export function Duration_lt(receiver, other) {
|
|
540
|
+
return receiver < other;
|
|
541
|
+
}
|
|
542
|
+
// Duration multiplication function
|
|
543
|
+
export function Duration_multiply(receiver, multiplier) {
|
|
544
|
+
return receiver * multiplier;
|
|
564
545
|
}
|
|
565
546
|
// Override multiplication operator for Duration * number
|
|
566
547
|
export function multiplyDuration(duration, multiplier) {
|
|
567
|
-
return
|
|
548
|
+
return duration * multiplier;
|
|
568
549
|
}
|
|
569
550
|
// Location represents a time zone
|
|
570
551
|
export class Location {
|
|
@@ -625,18 +606,9 @@ export function WeekdayString(w) {
|
|
|
625
606
|
];
|
|
626
607
|
return names[w] || 'Unknown';
|
|
627
608
|
}
|
|
628
|
-
//
|
|
629
|
-
export
|
|
630
|
-
|
|
631
|
-
constructor(value) {
|
|
632
|
-
this._value = value;
|
|
633
|
-
}
|
|
634
|
-
valueOf() {
|
|
635
|
-
return this._value;
|
|
636
|
-
}
|
|
637
|
-
String() {
|
|
638
|
-
return WeekdayString(this._value);
|
|
639
|
-
}
|
|
609
|
+
// Weekday_String returns the string representation of a Weekday (wrapper function naming)
|
|
610
|
+
export function Weekday_String(w) {
|
|
611
|
+
return WeekdayString(w);
|
|
640
612
|
}
|
|
641
613
|
// ParseError describes a problem parsing a time string
|
|
642
614
|
export class ParseError extends Error {
|
|
@@ -663,7 +635,7 @@ export class Timer {
|
|
|
663
635
|
constructor(duration, callback) {
|
|
664
636
|
this._duration = duration;
|
|
665
637
|
this._callback = callback;
|
|
666
|
-
const ms = duration
|
|
638
|
+
const ms = duration / 1000000; // Convert nanoseconds to milliseconds
|
|
667
639
|
if (callback) {
|
|
668
640
|
this._timeout = setTimeout(callback, ms);
|
|
669
641
|
}
|
|
@@ -684,7 +656,7 @@ export class Timer {
|
|
|
684
656
|
// Reset changes the timer to expire after duration d
|
|
685
657
|
Reset(d) {
|
|
686
658
|
this.Stop();
|
|
687
|
-
const ms = d
|
|
659
|
+
const ms = d / 1000000;
|
|
688
660
|
if (this._callback) {
|
|
689
661
|
this._timeout = setTimeout(this._callback, ms);
|
|
690
662
|
}
|
|
@@ -701,7 +673,7 @@ export class Ticker {
|
|
|
701
673
|
_stopped = false;
|
|
702
674
|
constructor(duration) {
|
|
703
675
|
this._duration = duration;
|
|
704
|
-
const ms = duration
|
|
676
|
+
const ms = duration / 1000000; // Convert nanoseconds to milliseconds
|
|
705
677
|
this._interval = setInterval(() => { }, ms);
|
|
706
678
|
}
|
|
707
679
|
// Stop turns off a ticker
|
|
@@ -719,12 +691,12 @@ export class Ticker {
|
|
|
719
691
|
this.Stop();
|
|
720
692
|
this._stopped = false;
|
|
721
693
|
this._duration = d;
|
|
722
|
-
const ms = d
|
|
694
|
+
const ms = d / 1000000;
|
|
723
695
|
this._interval = setInterval(() => { }, ms);
|
|
724
696
|
}
|
|
725
697
|
// Channel returns an async iterator that yields time values
|
|
726
698
|
async *Channel() {
|
|
727
|
-
const ms = this._duration
|
|
699
|
+
const ms = this._duration / 1000000;
|
|
728
700
|
while (!this._stopped) {
|
|
729
701
|
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
730
702
|
if (!this._stopped) {
|
|
@@ -771,12 +743,12 @@ export function FixedZone(name, offset) {
|
|
|
771
743
|
return new Location(name, offset);
|
|
772
744
|
}
|
|
773
745
|
// Common durations (matching Go's time package constants)
|
|
774
|
-
export const Nanosecond =
|
|
775
|
-
export const Microsecond =
|
|
776
|
-
export const Millisecond =
|
|
777
|
-
export const Second =
|
|
778
|
-
export const Minute =
|
|
779
|
-
export const Hour =
|
|
746
|
+
export const Nanosecond = 1;
|
|
747
|
+
export const Microsecond = 1000;
|
|
748
|
+
export const Millisecond = 1000000;
|
|
749
|
+
export const Second = 1000000000;
|
|
750
|
+
export const Minute = 60000000000;
|
|
751
|
+
export const Hour = 3600000000000;
|
|
780
752
|
// Since returns the time elapsed since t
|
|
781
753
|
// Uses monotonic clock if available for accurate measurement
|
|
782
754
|
export function Since(t) {
|
|
@@ -789,7 +761,7 @@ export function Until(t) {
|
|
|
789
761
|
}
|
|
790
762
|
// Sleep pauses the current execution for at least the duration d
|
|
791
763
|
export async function Sleep(d) {
|
|
792
|
-
const ms = d
|
|
764
|
+
const ms = d / 1000000; // Convert nanoseconds to milliseconds
|
|
793
765
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
794
766
|
}
|
|
795
767
|
// Export month constants
|
|
@@ -862,7 +834,7 @@ export function ParseDuration(s) {
|
|
|
862
834
|
default:
|
|
863
835
|
throw new Error(`time: unknown unit "${unit}" in duration "${s}"`);
|
|
864
836
|
}
|
|
865
|
-
return
|
|
837
|
+
return nanoseconds;
|
|
866
838
|
}
|
|
867
839
|
// Parse parses a formatted string and returns the time value it represents
|
|
868
840
|
export function Parse(layout, value) {
|
package/dist/gs/time/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"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"}
|
package/gs/TODO.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# TODO: Wrapper Type Refactor for gs/ Directory
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
The compiler has been refactored to generate wrapper types as type aliases instead of classes, with methods as standalone functions. This requires corresponding updates to the gs/ directory to remove the old class-based implementations and valueOf type parameters.
|
|
5
|
+
|
|
6
|
+
## Required Changes
|
|
7
|
+
|
|
8
|
+
### 1. Remove Wrapper Type Classes
|
|
9
|
+
All wrapper type classes in gs/ need to be converted to type aliases with standalone functions:
|
|
10
|
+
|
|
11
|
+
**Current pattern (to be removed):**
|
|
12
|
+
```typescript
|
|
13
|
+
export class FileMode {
|
|
14
|
+
constructor(private _value: number) {}
|
|
15
|
+
|
|
16
|
+
valueOf(): number {
|
|
17
|
+
return this._value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
String(): string {
|
|
21
|
+
return fileModeString(this._value);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
IsDir(): boolean {
|
|
25
|
+
return (this._value & ModeDir) !== 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**New pattern (to implement):**
|
|
31
|
+
```typescript
|
|
32
|
+
export type FileMode = number;
|
|
33
|
+
|
|
34
|
+
export function FileMode_String(receiver: FileMode): string {
|
|
35
|
+
return fileModeString(receiver);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function FileMode_IsDir(receiver: FileMode): boolean {
|
|
39
|
+
return (receiver & ModeDir) !== 0;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 2. Files that need wrapper type refactoring:
|
|
44
|
+
- `gs/os/types_js.gs.ts` - FileMode and other os types
|
|
45
|
+
- `gs/time/time.ts` - Duration and other time types
|
|
46
|
+
- `gs/syscall/` - Various syscall wrapper types
|
|
47
|
+
- Any other files that implement wrapper types as classes
|
|
48
|
+
|
|
49
|
+
### 3. Remove valueOf Type Parameters
|
|
50
|
+
The `@builtin` package needs to be updated to remove valueOf type parameters from builtin functions.
|
|
51
|
+
|
|
52
|
+
**Current pattern (to be removed):**
|
|
53
|
+
```typescript
|
|
54
|
+
function int<T extends { valueOf(): number }>(value: T): number {
|
|
55
|
+
return value.valueOf();
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**New pattern (to implement):**
|
|
60
|
+
```typescript
|
|
61
|
+
function int(value: number): number {
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 4. Update Method Call Sites
|
|
67
|
+
Any existing method call sites in gs/ files need to be updated:
|
|
68
|
+
|
|
69
|
+
**Current pattern (to be updated):**
|
|
70
|
+
```typescript
|
|
71
|
+
mode.String() // method call on wrapper class
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**New pattern:**
|
|
75
|
+
```typescript
|
|
76
|
+
FileMode_String(mode) // function call with receiver
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 5. Remove .valueOf() Calls
|
|
80
|
+
The compiler still generates `.valueOf()` calls for wrapper types. These need to be eliminated:
|
|
81
|
+
|
|
82
|
+
**Current generated pattern (to be fixed):**
|
|
83
|
+
```typescript
|
|
84
|
+
return receiver.valueOf() & 0o111;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Target pattern:**
|
|
88
|
+
```typescript
|
|
89
|
+
return receiver & 0o111;
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Implementation Notes
|
|
93
|
+
|
|
94
|
+
### Analysis Changes Completed
|
|
95
|
+
- ✅ Modified analysis to detect wrapper types ahead of time
|
|
96
|
+
- ✅ Added receiver mapping for wrapper function identifiers
|
|
97
|
+
- ✅ Removed shadowingContext dependency
|
|
98
|
+
|
|
99
|
+
### Compiler Changes Completed
|
|
100
|
+
- ✅ Updated `WriteNamedTypeWithMethods()` to generate type aliases
|
|
101
|
+
- ✅ Updated method call handling to use function calls
|
|
102
|
+
- ✅ Updated type conversion logic for wrapper types
|
|
103
|
+
- ✅ Removed constructor generation for wrapper types
|
|
104
|
+
|
|
105
|
+
### Remaining Compiler Issues
|
|
106
|
+
- ❌ Stop generating `.valueOf()` calls for wrapper types in:
|
|
107
|
+
- `compiler/expr.go` - `needsValueOfForBitwiseOp()` function
|
|
108
|
+
- `compiler/expr-call-type-conversion.go` - various conversion functions
|
|
109
|
+
- Need to update logic to not add `.valueOf()` for wrapper types since they're now primitive types
|
|
110
|
+
|
|
111
|
+
### Testing
|
|
112
|
+
Use the `wrapper_type_args` compliance test to verify changes:
|
|
113
|
+
```bash
|
|
114
|
+
go test -timeout 30s -run ^TestCompliance/wrapper_type_args$ ./compiler
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Migration Strategy
|
|
118
|
+
1. First complete the compiler changes to stop generating `.valueOf()` calls
|
|
119
|
+
2. Update each gs/ package incrementally
|
|
120
|
+
3. Test each package after refactoring
|
|
121
|
+
4. Update builtin functions to remove valueOf type parameters
|
|
122
|
+
5. Run full test suite to ensure compatibility
|
|
123
|
+
|
|
124
|
+
## Benefits After Completion
|
|
125
|
+
- Cleaner generated TypeScript code
|
|
126
|
+
- Better performance (no wrapper class overhead)
|
|
127
|
+
- More idiomatic TypeScript types
|
|
128
|
+
- Simplified runtime type system
|
|
129
|
+
- Easier debugging and maintenance
|
package/gs/builtin/builtin.ts
CHANGED
|
@@ -23,7 +23,7 @@ export type Bytes = Uint8Array | Slice<number>
|
|
|
23
23
|
|
|
24
24
|
// int converts a value to a Go int type, handling proper signed integer conversion
|
|
25
25
|
// This ensures that values like 2147483648 (2^31) are properly handled according to Go semantics
|
|
26
|
-
export function int(value: number
|
|
26
|
+
export function int(value: number): number {
|
|
27
27
|
// In Go, int is typically 64-bit on 64-bit systems, but for compatibility with JavaScript
|
|
28
28
|
// we need to handle the conversion properly. The issue is that JavaScript's number type
|
|
29
29
|
// can represent values larger than 32-bit signed integers, but when cast in certain contexts
|
|
@@ -33,38 +33,13 @@ export function int(value: number | { valueOf(): number | null }): number {
|
|
|
33
33
|
// since JavaScript numbers can safely represent integers up to Number.MAX_SAFE_INTEGER
|
|
34
34
|
//
|
|
35
35
|
// For this we use Math.trunc.
|
|
36
|
-
if (typeof value === 'object' && 'valueOf' in value) {
|
|
37
|
-
return Math.trunc(value.valueOf() ?? 0)
|
|
38
|
-
}
|
|
39
36
|
return Math.trunc(value)
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
// Duration multiplication helper for time package operations
|
|
43
40
|
// Handles expressions like time.Hour * 24
|
|
44
41
|
export function multiplyDuration(duration: any, multiplier: number): any {
|
|
45
|
-
//
|
|
46
|
-
if (duration && typeof duration.multiply === 'function') {
|
|
47
|
-
return duration.multiply(multiplier)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Check if duration has a valueOf method for numeric operations
|
|
51
|
-
if (duration && typeof duration.valueOf === 'function') {
|
|
52
|
-
const numValue = duration.valueOf()
|
|
53
|
-
// Return an object with the same structure but multiplied value
|
|
54
|
-
if (typeof numValue === 'number') {
|
|
55
|
-
// Try to create a new instance of the same type
|
|
56
|
-
if (duration.constructor) {
|
|
57
|
-
return new duration.constructor(numValue * multiplier)
|
|
58
|
-
}
|
|
59
|
-
// Fallback: return a simple object with valueOf
|
|
60
|
-
return {
|
|
61
|
-
valueOf: () => numValue * multiplier,
|
|
62
|
-
toString: () => (numValue * multiplier).toString() + 'ns',
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// Fallback for simple numeric values
|
|
42
|
+
// Duration is now a number type alias, so just multiply directly
|
|
68
43
|
if (typeof duration === 'number') {
|
|
69
44
|
return duration * multiplier
|
|
70
45
|
}
|
|
@@ -91,8 +66,7 @@ export function normalizeBytes(
|
|
|
91
66
|
| number[]
|
|
92
67
|
| null
|
|
93
68
|
| undefined
|
|
94
|
-
| { data: number[] }
|
|
95
|
-
| { valueOf(): number[] },
|
|
69
|
+
| { data: number[] },
|
|
96
70
|
): Uint8Array {
|
|
97
71
|
if (bytes === null || bytes === undefined) {
|
|
98
72
|
return new Uint8Array(0)
|
|
@@ -117,18 +91,6 @@ export function normalizeBytes(
|
|
|
117
91
|
return new Uint8Array(bytes)
|
|
118
92
|
}
|
|
119
93
|
|
|
120
|
-
// Handle objects with valueOf() method that returns a number array
|
|
121
|
-
if (
|
|
122
|
-
bytes &&
|
|
123
|
-
typeof bytes === 'object' &&
|
|
124
|
-
'valueOf' in bytes &&
|
|
125
|
-
typeof bytes.valueOf === 'function'
|
|
126
|
-
) {
|
|
127
|
-
const value = bytes.valueOf()
|
|
128
|
-
if (Array.isArray(value)) {
|
|
129
|
-
return new Uint8Array(value)
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
94
|
|
|
133
95
|
throw new Error(`Cannot normalize bytes of type ${typeof bytes}: ${bytes}`)
|
|
134
96
|
}
|
package/gs/builtin/slice.ts
CHANGED
|
@@ -500,7 +500,7 @@ export const arrayToSlice = <T>(
|
|
|
500
500
|
// OPTIMIZATION: For arrays where offset=0 and length=capacity, return the array directly
|
|
501
501
|
// if we're not doing deep conversion
|
|
502
502
|
if (depth === 1) {
|
|
503
|
-
return arr
|
|
503
|
+
return arr
|
|
504
504
|
}
|
|
505
505
|
|
|
506
506
|
const target = {
|