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.
Files changed (152) hide show
  1. package/cmd/goscript/deps.go +1 -4
  2. package/compiler/analysis.go +224 -63
  3. package/compiler/analysis_test.go +112 -0
  4. package/compiler/compiler.go +19 -87
  5. package/compiler/expr-call-type-conversion.go +148 -59
  6. package/compiler/expr-call.go +202 -10
  7. package/compiler/expr.go +5 -82
  8. package/compiler/gs_dependencies_test.go +60 -1
  9. package/compiler/spec-value.go +73 -51
  10. package/compiler/spec.go +293 -151
  11. package/compiler/stmt.go +192 -81
  12. package/dist/gs/builtin/builtin.d.ts +1 -5
  13. package/dist/gs/builtin/builtin.js +1 -34
  14. package/dist/gs/builtin/builtin.js.map +1 -1
  15. package/dist/gs/builtin/slice.js.map +1 -1
  16. package/dist/gs/fmt/fmt.js +20 -4
  17. package/dist/gs/fmt/fmt.js.map +1 -1
  18. package/dist/gs/io/fs/fs.d.ts +6 -12
  19. package/dist/gs/io/fs/fs.js +52 -67
  20. package/dist/gs/io/fs/fs.js.map +1 -1
  21. package/dist/gs/os/index.d.ts +2 -1
  22. package/dist/gs/os/index.js +1 -1
  23. package/dist/gs/os/index.js.map +1 -1
  24. package/dist/gs/os/types_js.gs.d.ts +7 -1
  25. package/dist/gs/os/types_js.gs.js +16 -1
  26. package/dist/gs/os/types_js.gs.js.map +1 -1
  27. package/dist/gs/os/types_unix.gs.js +2 -2
  28. package/dist/gs/os/types_unix.gs.js.map +1 -1
  29. package/dist/gs/reflect/index.d.ts +3 -3
  30. package/dist/gs/reflect/index.js +2 -2
  31. package/dist/gs/reflect/index.js.map +1 -1
  32. package/dist/gs/reflect/map.js +2 -2
  33. package/dist/gs/reflect/map.js.map +1 -1
  34. package/dist/gs/reflect/type.d.ts +8 -9
  35. package/dist/gs/reflect/type.js +101 -103
  36. package/dist/gs/reflect/type.js.map +1 -1
  37. package/dist/gs/reflect/types.d.ts +1 -10
  38. package/dist/gs/reflect/types.js +3 -26
  39. package/dist/gs/reflect/types.js.map +1 -1
  40. package/dist/gs/reflect/value.js +23 -23
  41. package/dist/gs/reflect/value.js.map +1 -1
  42. package/dist/gs/reflect/visiblefields.js +3 -3
  43. package/dist/gs/reflect/visiblefields.js.map +1 -1
  44. package/dist/gs/time/time.d.ts +11 -22
  45. package/dist/gs/time/time.js +29 -57
  46. package/dist/gs/time/time.js.map +1 -1
  47. package/gs/TODO.md +129 -0
  48. package/gs/builtin/builtin.ts +3 -41
  49. package/gs/builtin/slice.ts +1 -1
  50. package/gs/bytes/meta.json +10 -0
  51. package/gs/fmt/fmt.ts +18 -4
  52. package/gs/fmt/meta.json +5 -0
  53. package/gs/internal/meta.json +5 -0
  54. package/gs/io/fs/fs.ts +58 -73
  55. package/gs/io/meta.json +9 -0
  56. package/gs/maps/meta.json +6 -0
  57. package/gs/math/meta.json +5 -0
  58. package/gs/os/index.ts +8 -1
  59. package/gs/os/meta.json +15 -0
  60. package/gs/os/types_js.gs.ts +22 -1
  61. package/gs/os/types_unix.gs.ts +2 -2
  62. package/gs/path/meta.json +6 -0
  63. package/gs/reflect/function-types.test.ts +10 -10
  64. package/gs/reflect/index.ts +6 -6
  65. package/gs/reflect/map.ts +2 -2
  66. package/gs/reflect/meta.json +5 -0
  67. package/gs/reflect/type.ts +108 -103
  68. package/gs/reflect/types.ts +2 -28
  69. package/gs/reflect/value.ts +23 -23
  70. package/gs/reflect/visiblefields.ts +3 -3
  71. package/gs/strconv/meta.json +5 -0
  72. package/gs/strings/meta.json +9 -0
  73. package/gs/sync/meta.json +19 -0
  74. package/gs/time/time.ts +32 -65
  75. package/package.json +1 -1
  76. package/dist/gs/builtin/io.d.ts +0 -16
  77. package/dist/gs/builtin/io.js +0 -15
  78. package/dist/gs/builtin/io.js.map +0 -1
  79. package/dist/gs/internal/testlog/index.d.ts +0 -1
  80. package/dist/gs/internal/testlog/index.js +0 -5
  81. package/dist/gs/internal/testlog/index.js.map +0 -1
  82. package/dist/gs/maps/iter.gs.d.ts +0 -7
  83. package/dist/gs/maps/iter.gs.js +0 -65
  84. package/dist/gs/maps/iter.gs.js.map +0 -1
  85. package/dist/gs/maps/maps.gs.d.ts +0 -7
  86. package/dist/gs/maps/maps.gs.js +0 -79
  87. package/dist/gs/maps/maps.gs.js.map +0 -1
  88. package/dist/gs/reflect/abi.d.ts +0 -59
  89. package/dist/gs/reflect/abi.gs.d.ts +0 -59
  90. package/dist/gs/reflect/abi.gs.js +0 -79
  91. package/dist/gs/reflect/abi.gs.js.map +0 -1
  92. package/dist/gs/reflect/abi.js +0 -79
  93. package/dist/gs/reflect/abi.js.map +0 -1
  94. package/dist/gs/reflect/badlinkname.d.ts +0 -52
  95. package/dist/gs/reflect/badlinkname.gs.d.ts +0 -52
  96. package/dist/gs/reflect/badlinkname.gs.js +0 -72
  97. package/dist/gs/reflect/badlinkname.gs.js.map +0 -1
  98. package/dist/gs/reflect/badlinkname.js +0 -72
  99. package/dist/gs/reflect/badlinkname.js.map +0 -1
  100. package/dist/gs/reflect/deepequal.gs.d.ts +0 -25
  101. package/dist/gs/reflect/deepequal.gs.js +0 -308
  102. package/dist/gs/reflect/deepequal.gs.js.map +0 -1
  103. package/dist/gs/reflect/float32reg_generic.gs.d.ts +0 -2
  104. package/dist/gs/reflect/float32reg_generic.gs.js +0 -10
  105. package/dist/gs/reflect/float32reg_generic.gs.js.map +0 -1
  106. package/dist/gs/reflect/index.gs.d.ts +0 -1
  107. package/dist/gs/reflect/index.gs.js +0 -3
  108. package/dist/gs/reflect/index.gs.js.map +0 -1
  109. package/dist/gs/reflect/iter.gs.d.ts +0 -3
  110. package/dist/gs/reflect/iter.gs.js +0 -24
  111. package/dist/gs/reflect/iter.gs.js.map +0 -1
  112. package/dist/gs/reflect/makefunc.gs.d.ts +0 -34
  113. package/dist/gs/reflect/makefunc.gs.js +0 -288
  114. package/dist/gs/reflect/makefunc.gs.js.map +0 -1
  115. package/dist/gs/reflect/map_swiss.gs.d.ts +0 -14
  116. package/dist/gs/reflect/map_swiss.gs.js +0 -70
  117. package/dist/gs/reflect/map_swiss.gs.js.map +0 -1
  118. package/dist/gs/reflect/reflect.gs.d.ts +0 -132
  119. package/dist/gs/reflect/reflect.gs.js +0 -437
  120. package/dist/gs/reflect/reflect.gs.js.map +0 -1
  121. package/dist/gs/reflect/swapper.gs.d.ts +0 -1
  122. package/dist/gs/reflect/swapper.gs.js +0 -32
  123. package/dist/gs/reflect/swapper.gs.js.map +0 -1
  124. package/dist/gs/reflect/type.gs.d.ts +0 -4
  125. package/dist/gs/reflect/type.gs.js +0 -21
  126. package/dist/gs/reflect/type.gs.js.map +0 -1
  127. package/dist/gs/reflect/value.gs.d.ts +0 -4
  128. package/dist/gs/reflect/value.gs.js +0 -12
  129. package/dist/gs/reflect/value.gs.js.map +0 -1
  130. package/dist/gs/reflect/visiblefields.gs.d.ts +0 -3
  131. package/dist/gs/reflect/visiblefields.gs.js +0 -123
  132. package/dist/gs/reflect/visiblefields.gs.js.map +0 -1
  133. package/dist/gs/stringslite/index.d.ts +0 -1
  134. package/dist/gs/stringslite/index.js +0 -2
  135. package/dist/gs/stringslite/index.js.map +0 -1
  136. package/dist/gs/stringslite/strings.d.ts +0 -11
  137. package/dist/gs/stringslite/strings.js +0 -67
  138. package/dist/gs/stringslite/strings.js.map +0 -1
  139. package/gs/bytes/metadata.go +0 -12
  140. package/gs/fmt/metadata.go +0 -7
  141. package/gs/internal/metadata.go +0 -7
  142. package/gs/io/io.go +0 -75
  143. package/gs/io/metadata.go +0 -11
  144. package/gs/maps/metadata.go +0 -8
  145. package/gs/math/metadata.go +0 -7
  146. package/gs/os/metadata.go +0 -17
  147. package/gs/path/metadata.go +0 -8
  148. package/gs/reflect/metadata.go +0 -7
  149. package/gs/strconv/metadata.go +0 -7
  150. package/gs/strings/metadata.go +0 -11
  151. package/gs/sync/metadata.go +0 -7
  152. package/gs/sync/sync.go +0 -64
@@ -1 +0,0 @@
1
- {"version":3,"file":"visiblefields.gs.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.gs.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './strings';
@@ -1,2 +0,0 @@
1
- export * from './strings';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/stringslite/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -1,11 +0,0 @@
1
- export declare function HasPrefix(s: string, prefix: string): boolean;
2
- export declare function HasSuffix(s: string, suffix: string): boolean;
3
- export declare function IndexByte(s: string, c: number): number;
4
- export declare function Index(s: string, substr: string): number;
5
- export declare function Cut(s: string, sep: string): [string, string, boolean];
6
- export declare function CutPrefix(s: string, prefix: string): [string, boolean];
7
- export declare function CutSuffix(s: string, suffix: string): [string, boolean];
8
- export declare function TrimPrefix(s: string, prefix: string): string;
9
- export declare function TrimSuffix(s: string, suffix: string): string;
10
- export declare function Clone(s: string): string;
11
- export declare function CopyBytes(b: Uint8Array, s: string): number;
@@ -1,67 +0,0 @@
1
- import * as $ from '@goscript/builtin/builtin.js';
2
- import * as unsafe from '@goscript/unsafe/index.js';
3
- export function HasPrefix(s, prefix) {
4
- return ($.len(s) >= $.len(prefix) &&
5
- $.sliceString(s, undefined, $.len(prefix)) == prefix);
6
- }
7
- export function HasSuffix(s, suffix) {
8
- return ($.len(s) >= $.len(suffix) &&
9
- $.sliceString(s, $.len(s) - $.len(suffix), undefined) == suffix);
10
- }
11
- export function IndexByte(s, c) {
12
- const char = String.fromCharCode(c);
13
- return s.indexOf(char);
14
- }
15
- export function Index(s, substr) {
16
- if (substr === '') {
17
- return 0;
18
- }
19
- return s.indexOf(substr);
20
- }
21
- export function Cut(s, sep) {
22
- let i = Index(s, sep);
23
- if (i >= 0) {
24
- return [
25
- $.sliceString(s, undefined, i),
26
- $.sliceString(s, i + $.len(sep), undefined),
27
- true,
28
- ];
29
- }
30
- return [s, '', false];
31
- }
32
- export function CutPrefix(s, prefix) {
33
- if (!HasPrefix(s, prefix)) {
34
- return [s, false];
35
- }
36
- return [$.sliceString(s, $.len(prefix), undefined), true];
37
- }
38
- export function CutSuffix(s, suffix) {
39
- if (!HasSuffix(s, suffix)) {
40
- return [s, false];
41
- }
42
- return [$.sliceString(s, undefined, $.len(s) - $.len(suffix)), true];
43
- }
44
- export function TrimPrefix(s, prefix) {
45
- if (HasPrefix(s, prefix)) {
46
- return $.sliceString(s, $.len(prefix), undefined);
47
- }
48
- return s;
49
- }
50
- export function TrimSuffix(s, suffix) {
51
- if (HasSuffix(s, suffix)) {
52
- return $.sliceString(s, undefined, $.len(s) - $.len(suffix));
53
- }
54
- return s;
55
- }
56
- export function Clone(s) {
57
- if ($.len(s) == 0) {
58
- return '';
59
- }
60
- let b = new Uint8Array($.len(s));
61
- $.copy(b, s);
62
- return unsafe.String(b[0], $.len(b));
63
- }
64
- export function CopyBytes(b, s) {
65
- return $.copy(b, s);
66
- }
67
- //# sourceMappingURL=strings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../gs/stringslite/strings.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- package bytes
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- "io",
8
- "iter",
9
- "unicode",
10
- "unicode/utf8",
11
- "unsafe",
12
- }
@@ -1,7 +0,0 @@
1
- package fmt
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- }
@@ -1,7 +0,0 @@
1
- package internal
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- }
package/gs/io/io.go DELETED
@@ -1,75 +0,0 @@
1
- package io
2
-
3
- import "github.com/aperturerobotics/goscript/compiler"
4
-
5
- // Metadata for io package functions
6
- // This defines which functions/methods are async for the compiler analysis
7
-
8
- // Most io operations are synchronous in our implementation
9
- // since we're dealing with in-memory operations and simple transformations
10
-
11
- // Copy functions - these could potentially be async if dealing with large data
12
- // but for simplicity, we'll keep them sync for now
13
- var (
14
- CopyInfo = compiler.FunctionInfo{IsAsync: false}
15
- CopyBufferInfo = compiler.FunctionInfo{IsAsync: false}
16
- CopyNInfo = compiler.FunctionInfo{IsAsync: false}
17
- )
18
-
19
- // Read functions - sync since they're immediate operations
20
- var (
21
- ReadAllInfo = compiler.FunctionInfo{IsAsync: false}
22
- ReadAtLeastInfo = compiler.FunctionInfo{IsAsync: false}
23
- ReadFullInfo = compiler.FunctionInfo{IsAsync: false}
24
- )
25
-
26
- // Write functions - sync
27
- var WriteStringInfo = compiler.FunctionInfo{IsAsync: false}
28
-
29
- // Utility functions - sync
30
- var (
31
- LimitReaderInfo = compiler.FunctionInfo{IsAsync: false}
32
- MultiReaderInfo = compiler.FunctionInfo{IsAsync: false}
33
- MultiWriterInfo = compiler.FunctionInfo{IsAsync: false}
34
- TeeReaderInfo = compiler.FunctionInfo{IsAsync: false}
35
- NopCloserInfo = compiler.FunctionInfo{IsAsync: false}
36
- NewSectionReaderInfo = compiler.FunctionInfo{IsAsync: false}
37
- NewOffsetWriterInfo = compiler.FunctionInfo{IsAsync: false}
38
- )
39
-
40
- // Interface methods - sync for basic operations
41
- // Reader methods
42
- var ReaderReadInfo = compiler.FunctionInfo{IsAsync: false}
43
-
44
- // Writer methods
45
- var WriterWriteInfo = compiler.FunctionInfo{IsAsync: false}
46
-
47
- // Closer methods
48
- var CloserCloseInfo = compiler.FunctionInfo{IsAsync: false}
49
-
50
- // Seeker methods
51
- var SeekerSeekInfo = compiler.FunctionInfo{IsAsync: false}
52
-
53
- // ReaderAt methods
54
- var ReaderAtReadAtInfo = compiler.FunctionInfo{IsAsync: false}
55
-
56
- // WriterAt methods
57
- var WriterAtWriteAtInfo = compiler.FunctionInfo{IsAsync: false}
58
-
59
- // LimitedReader methods
60
- var LimitedReaderReadInfo = compiler.FunctionInfo{IsAsync: false}
61
-
62
- // SectionReader methods
63
- var (
64
- SectionReaderReadInfo = compiler.FunctionInfo{IsAsync: false}
65
- SectionReaderSeekInfo = compiler.FunctionInfo{IsAsync: false}
66
- SectionReaderReadAtInfo = compiler.FunctionInfo{IsAsync: false}
67
- SectionReaderSizeInfo = compiler.FunctionInfo{IsAsync: false}
68
- )
69
-
70
- // OffsetWriter methods
71
- var (
72
- OffsetWriterWriteInfo = compiler.FunctionInfo{IsAsync: false}
73
- OffsetWriterWriteAtInfo = compiler.FunctionInfo{IsAsync: false}
74
- OffsetWriterSeekInfo = compiler.FunctionInfo{IsAsync: false}
75
- )
package/gs/io/metadata.go DELETED
@@ -1,11 +0,0 @@
1
- package io
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- "internal/oserror",
8
- "path",
9
- "time",
10
- "unicode/utf8",
11
- }
@@ -1,8 +0,0 @@
1
- package maps
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "iter",
7
- "unsafe",
8
- }
@@ -1,7 +0,0 @@
1
- package math
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "math/bits",
7
- }
package/gs/os/metadata.go DELETED
@@ -1,17 +0,0 @@
1
- package os
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- "internal/byteorder",
8
- "internal/goarch",
9
- "internal/poll",
10
- "io",
11
- "io/fs",
12
- "runtime",
13
- "sync",
14
- "syscall",
15
- "time",
16
- "unsafe",
17
- }
@@ -1,8 +0,0 @@
1
- package path
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- "unicode/utf8",
8
- }
@@ -1,7 +0,0 @@
1
- package reflect
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "iter",
7
- }
@@ -1,7 +0,0 @@
1
- package strconv
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- }
@@ -1,11 +0,0 @@
1
- package strings
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "errors",
7
- "io",
8
- "iter",
9
- "unicode",
10
- "unicode/utf8",
11
- }
@@ -1,7 +0,0 @@
1
- package sync
2
-
3
- // GsDependencies lists the import paths that this gs/ package requires
4
- // These dependencies will be automatically copied when this package is included
5
- var GsDependencies = []string{
6
- "unsafe",
7
- }
package/gs/sync/sync.go DELETED
@@ -1,64 +0,0 @@
1
- package sync
2
-
3
- import "github.com/aperturerobotics/goscript/compiler"
4
-
5
- // Metadata for sync package functions
6
- // This defines which functions/methods are async for the compiler analysis
7
-
8
- // Mutex methods
9
- var (
10
- MutexLockInfo = compiler.FunctionInfo{IsAsync: true}
11
- MutexUnlockInfo = compiler.FunctionInfo{IsAsync: false}
12
- MutexTryLockInfo = compiler.FunctionInfo{IsAsync: false}
13
- )
14
-
15
- // RWMutex methods
16
- var (
17
- RWMutexLockInfo = compiler.FunctionInfo{IsAsync: true}
18
- RWMutexUnlockInfo = compiler.FunctionInfo{IsAsync: false}
19
- RWMutexTryLockInfo = compiler.FunctionInfo{IsAsync: false}
20
- RWMutexRLockInfo = compiler.FunctionInfo{IsAsync: true}
21
- RWMutexRUnlockInfo = compiler.FunctionInfo{IsAsync: false}
22
- RWMutexTryRLockInfo = compiler.FunctionInfo{IsAsync: false}
23
- )
24
-
25
- // WaitGroup methods
26
- var (
27
- WaitGroupAddInfo = compiler.FunctionInfo{IsAsync: false}
28
- WaitGroupDoneInfo = compiler.FunctionInfo{IsAsync: false}
29
- WaitGroupWaitInfo = compiler.FunctionInfo{IsAsync: true}
30
- )
31
-
32
- // Once methods
33
- var OnceDoInfo = compiler.FunctionInfo{IsAsync: true}
34
-
35
- // Cond methods
36
- var (
37
- CondBroadcastInfo = compiler.FunctionInfo{IsAsync: false}
38
- CondSignalInfo = compiler.FunctionInfo{IsAsync: false}
39
- CondWaitInfo = compiler.FunctionInfo{IsAsync: true}
40
- )
41
-
42
- // Map methods
43
- var (
44
- MapDeleteInfo = compiler.FunctionInfo{IsAsync: true}
45
- MapLoadInfo = compiler.FunctionInfo{IsAsync: true}
46
- MapLoadAndDeleteInfo = compiler.FunctionInfo{IsAsync: true}
47
- MapLoadOrStoreInfo = compiler.FunctionInfo{IsAsync: true}
48
- MapRangeInfo = compiler.FunctionInfo{IsAsync: true}
49
- MapStoreInfo = compiler.FunctionInfo{IsAsync: true}
50
- )
51
-
52
- // Pool methods
53
- var (
54
- PoolGetInfo = compiler.FunctionInfo{IsAsync: false}
55
- PoolPutInfo = compiler.FunctionInfo{IsAsync: false}
56
- )
57
-
58
- // Functions
59
- var (
60
- OnceFuncInfo = compiler.FunctionInfo{IsAsync: false}
61
- OnceValueInfo = compiler.FunctionInfo{IsAsync: false}
62
- OnceValuesInfo = compiler.FunctionInfo{IsAsync: false}
63
- NewCondInfo = compiler.FunctionInfo{IsAsync: false}
64
- )