firefly-compiler 0.4.6 → 0.4.7
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/output/js/ff/compiler/Builder.mjs +444 -444
- package/output/js/ff/compiler/Compiler.mjs +416 -416
- package/output/js/ff/compiler/Dependencies.mjs +389 -389
- package/output/js/ff/compiler/Deriver.mjs +1170 -1170
- package/output/js/ff/compiler/Dictionaries.mjs +1309 -1309
- package/output/js/ff/compiler/Environment.mjs +1015 -1015
- package/output/js/ff/compiler/Inference.mjs +4268 -4268
- package/output/js/ff/compiler/JsEmitter.mjs +5391 -5391
- package/output/js/ff/compiler/JsImporter.mjs +266 -266
- package/output/js/ff/compiler/LspHook.mjs +793 -793
- package/output/js/ff/compiler/Main.mjs +1675 -1675
- package/output/js/ff/compiler/Parser.mjs +4008 -4008
- package/output/js/ff/compiler/Patterns.mjs +927 -927
- package/output/js/ff/compiler/Resolver.mjs +2307 -2307
- package/output/js/ff/compiler/Substitution.mjs +1150 -1150
- package/output/js/ff/compiler/Syntax.mjs +12434 -12434
- package/output/js/ff/compiler/Token.mjs +3096 -3096
- package/output/js/ff/compiler/Tokenizer.mjs +593 -593
- package/output/js/ff/compiler/Unification.mjs +1752 -1752
- package/output/js/ff/compiler/Wildcards.mjs +608 -608
- package/output/js/ff/compiler/Workspace.mjs +687 -687
- package/output/js/ff/core/Any.mjs +143 -143
- package/output/js/ff/core/Array.mjs +547 -547
- package/output/js/ff/core/AssetSystem.mjs +274 -274
- package/output/js/ff/core/Atomic.mjs +154 -154
- package/output/js/ff/core/Bool.mjs +152 -152
- package/output/js/ff/core/Box.mjs +112 -112
- package/output/js/ff/core/BrowserSystem.mjs +126 -126
- package/output/js/ff/core/Buffer.mjs +395 -395
- package/output/js/ff/core/BuildSystem.mjs +296 -296
- package/output/js/ff/core/Channel.mjs +189 -189
- package/output/js/ff/core/Char.mjs +149 -149
- package/output/js/ff/core/Core.mjs +300 -300
- package/output/js/ff/core/Duration.mjs +116 -116
- package/output/js/ff/core/Equal.mjs +179 -179
- package/output/js/ff/core/Error.mjs +142 -142
- package/output/js/ff/core/FileHandle.mjs +150 -150
- package/output/js/ff/core/Float.mjs +225 -225
- package/output/js/ff/core/HttpClient.mjs +191 -191
- package/output/js/ff/core/Instant.mjs +109 -109
- package/output/js/ff/core/Int.mjs +265 -265
- package/output/js/ff/core/IntMap.mjs +280 -280
- package/output/js/ff/core/JsSystem.mjs +238 -238
- package/output/js/ff/core/JsValue.mjs +708 -708
- package/output/js/ff/core/List.mjs +2334 -2334
- package/output/js/ff/core/Lock.mjs +229 -229
- package/output/js/ff/core/Log.mjs +163 -163
- package/output/js/ff/core/Map.mjs +362 -362
- package/output/js/ff/core/NodeSystem.mjs +294 -294
- package/output/js/ff/core/Nothing.mjs +104 -104
- package/output/js/ff/core/Option.mjs +1015 -1015
- package/output/js/ff/core/Ordering.mjs +730 -730
- package/output/js/ff/core/Pair.mjs +331 -331
- package/output/js/ff/core/Path.mjs +545 -545
- package/output/js/ff/core/RbMap.mjs +1940 -1940
- package/output/js/ff/core/Serializable.mjs +428 -428
- package/output/js/ff/core/Set.mjs +254 -254
- package/output/js/ff/core/Show.mjs +205 -205
- package/output/js/ff/core/SourceLocation.mjs +229 -229
- package/output/js/ff/core/Stack.mjs +529 -529
- package/output/js/ff/core/Stream.mjs +1304 -1304
- package/output/js/ff/core/String.mjs +365 -365
- package/output/js/ff/core/StringMap.mjs +280 -280
- package/output/js/ff/core/Task.mjs +320 -320
- package/output/js/ff/core/Try.mjs +507 -507
- package/output/js/ff/core/Unit.mjs +151 -151
- package/package.json +1 -1
- package/vscode/package.json +1 -1
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import * as ff_core_Any from "../../ff/core/Any.mjs"
|
|
4
|
-
|
|
5
|
-
import * as ff_core_Array from "../../ff/core/Array.mjs"
|
|
6
|
-
|
|
7
|
-
import * as ff_core_AssetSystem from "../../ff/core/AssetSystem.mjs"
|
|
8
|
-
|
|
9
|
-
import * as ff_core_Atomic from "../../ff/core/Atomic.mjs"
|
|
10
|
-
|
|
11
|
-
import * as ff_core_Bool from "../../ff/core/Bool.mjs"
|
|
12
|
-
|
|
13
|
-
import * as ff_core_Box from "../../ff/core/Box.mjs"
|
|
14
|
-
|
|
15
|
-
import * as ff_core_BrowserSystem from "../../ff/core/BrowserSystem.mjs"
|
|
16
|
-
|
|
17
|
-
import * as ff_core_Buffer from "../../ff/core/Buffer.mjs"
|
|
18
|
-
|
|
19
|
-
import * as ff_core_BuildSystem from "../../ff/core/BuildSystem.mjs"
|
|
20
|
-
|
|
21
|
-
import * as ff_core_Channel from "../../ff/core/Channel.mjs"
|
|
22
|
-
|
|
23
|
-
import * as ff_core_Char from "../../ff/core/Char.mjs"
|
|
24
|
-
|
|
25
|
-
import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
26
|
-
|
|
27
|
-
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
28
|
-
|
|
29
|
-
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
30
|
-
|
|
31
|
-
import * as ff_core_Error from "../../ff/core/Error.mjs"
|
|
32
|
-
|
|
33
|
-
import * as ff_core_FileHandle from "../../ff/core/FileHandle.mjs"
|
|
34
|
-
|
|
35
|
-
import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
36
|
-
|
|
37
|
-
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
38
|
-
|
|
39
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
40
|
-
|
|
41
|
-
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
42
|
-
|
|
43
|
-
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
|
-
|
|
45
|
-
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
|
-
|
|
47
|
-
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
48
|
-
|
|
49
|
-
import * as ff_core_List from "../../ff/core/List.mjs"
|
|
50
|
-
|
|
51
|
-
import * as ff_core_Lock from "../../ff/core/Lock.mjs"
|
|
52
|
-
|
|
53
|
-
import * as ff_core_Log from "../../ff/core/Log.mjs"
|
|
54
|
-
|
|
55
|
-
import * as ff_core_Map from "../../ff/core/Map.mjs"
|
|
56
|
-
|
|
57
|
-
import * as ff_core_NodeSystem from "../../ff/core/NodeSystem.mjs"
|
|
58
|
-
|
|
59
|
-
import * as ff_core_Nothing from "../../ff/core/Nothing.mjs"
|
|
60
|
-
|
|
61
|
-
import * as ff_core_Option from "../../ff/core/Option.mjs"
|
|
62
|
-
|
|
63
|
-
import * as ff_core_Ordering from "../../ff/core/Ordering.mjs"
|
|
64
|
-
|
|
65
|
-
import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
66
|
-
|
|
67
|
-
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
68
|
-
|
|
69
|
-
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
70
|
-
|
|
71
|
-
import * as ff_core_Set from "../../ff/core/Set.mjs"
|
|
72
|
-
|
|
73
|
-
import * as ff_core_Show from "../../ff/core/Show.mjs"
|
|
74
|
-
|
|
75
|
-
import * as ff_core_SourceLocation from "../../ff/core/SourceLocation.mjs"
|
|
76
|
-
|
|
77
|
-
import * as ff_core_Stack from "../../ff/core/Stack.mjs"
|
|
78
|
-
|
|
79
|
-
import * as ff_core_Stream from "../../ff/core/Stream.mjs"
|
|
80
|
-
|
|
81
|
-
import * as ff_core_String from "../../ff/core/String.mjs"
|
|
82
|
-
|
|
83
|
-
import * as ff_core_StringMap from "../../ff/core/StringMap.mjs"
|
|
84
|
-
|
|
85
|
-
import * as ff_core_Task from "../../ff/core/Task.mjs"
|
|
86
|
-
|
|
87
|
-
import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
88
|
-
|
|
89
|
-
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
90
|
-
|
|
91
|
-
// type Lock
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// type LockCondition
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
export function Lock_condition(self_) {
|
|
104
|
-
throw new Error('Function Lock_condition is missing on this target in sync context.');
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export function Lock_acquire(self_, reentrant_) {
|
|
108
|
-
throw new Error('Function Lock_acquire is missing on this target in sync context.');
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export function Lock_release(self_) {
|
|
112
|
-
throw new Error('Function Lock_release is missing on this target in sync context.');
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export function Lock_do(self_, reentrant_, body_) {
|
|
116
|
-
ff_core_Lock.Lock_acquire(self_, reentrant_);
|
|
117
|
-
try {
|
|
118
|
-
return body_()
|
|
119
|
-
} finally {
|
|
120
|
-
ff_core_Lock.Lock_release(self_)
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export async function Lock_condition$(self_, $task) {
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import * as ff_core_Any from "../../ff/core/Any.mjs"
|
|
4
|
+
|
|
5
|
+
import * as ff_core_Array from "../../ff/core/Array.mjs"
|
|
6
|
+
|
|
7
|
+
import * as ff_core_AssetSystem from "../../ff/core/AssetSystem.mjs"
|
|
8
|
+
|
|
9
|
+
import * as ff_core_Atomic from "../../ff/core/Atomic.mjs"
|
|
10
|
+
|
|
11
|
+
import * as ff_core_Bool from "../../ff/core/Bool.mjs"
|
|
12
|
+
|
|
13
|
+
import * as ff_core_Box from "../../ff/core/Box.mjs"
|
|
14
|
+
|
|
15
|
+
import * as ff_core_BrowserSystem from "../../ff/core/BrowserSystem.mjs"
|
|
16
|
+
|
|
17
|
+
import * as ff_core_Buffer from "../../ff/core/Buffer.mjs"
|
|
18
|
+
|
|
19
|
+
import * as ff_core_BuildSystem from "../../ff/core/BuildSystem.mjs"
|
|
20
|
+
|
|
21
|
+
import * as ff_core_Channel from "../../ff/core/Channel.mjs"
|
|
22
|
+
|
|
23
|
+
import * as ff_core_Char from "../../ff/core/Char.mjs"
|
|
24
|
+
|
|
25
|
+
import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
26
|
+
|
|
27
|
+
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
28
|
+
|
|
29
|
+
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
30
|
+
|
|
31
|
+
import * as ff_core_Error from "../../ff/core/Error.mjs"
|
|
32
|
+
|
|
33
|
+
import * as ff_core_FileHandle from "../../ff/core/FileHandle.mjs"
|
|
34
|
+
|
|
35
|
+
import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
36
|
+
|
|
37
|
+
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
38
|
+
|
|
39
|
+
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
40
|
+
|
|
41
|
+
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
42
|
+
|
|
43
|
+
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
|
+
|
|
45
|
+
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
|
+
|
|
47
|
+
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
48
|
+
|
|
49
|
+
import * as ff_core_List from "../../ff/core/List.mjs"
|
|
50
|
+
|
|
51
|
+
import * as ff_core_Lock from "../../ff/core/Lock.mjs"
|
|
52
|
+
|
|
53
|
+
import * as ff_core_Log from "../../ff/core/Log.mjs"
|
|
54
|
+
|
|
55
|
+
import * as ff_core_Map from "../../ff/core/Map.mjs"
|
|
56
|
+
|
|
57
|
+
import * as ff_core_NodeSystem from "../../ff/core/NodeSystem.mjs"
|
|
58
|
+
|
|
59
|
+
import * as ff_core_Nothing from "../../ff/core/Nothing.mjs"
|
|
60
|
+
|
|
61
|
+
import * as ff_core_Option from "../../ff/core/Option.mjs"
|
|
62
|
+
|
|
63
|
+
import * as ff_core_Ordering from "../../ff/core/Ordering.mjs"
|
|
64
|
+
|
|
65
|
+
import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
66
|
+
|
|
67
|
+
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
68
|
+
|
|
69
|
+
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
70
|
+
|
|
71
|
+
import * as ff_core_Set from "../../ff/core/Set.mjs"
|
|
72
|
+
|
|
73
|
+
import * as ff_core_Show from "../../ff/core/Show.mjs"
|
|
74
|
+
|
|
75
|
+
import * as ff_core_SourceLocation from "../../ff/core/SourceLocation.mjs"
|
|
76
|
+
|
|
77
|
+
import * as ff_core_Stack from "../../ff/core/Stack.mjs"
|
|
78
|
+
|
|
79
|
+
import * as ff_core_Stream from "../../ff/core/Stream.mjs"
|
|
80
|
+
|
|
81
|
+
import * as ff_core_String from "../../ff/core/String.mjs"
|
|
82
|
+
|
|
83
|
+
import * as ff_core_StringMap from "../../ff/core/StringMap.mjs"
|
|
84
|
+
|
|
85
|
+
import * as ff_core_Task from "../../ff/core/Task.mjs"
|
|
86
|
+
|
|
87
|
+
import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
88
|
+
|
|
89
|
+
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
90
|
+
|
|
91
|
+
// type Lock
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
// type LockCondition
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
export function Lock_condition(self_) {
|
|
104
|
+
throw new Error('Function Lock_condition is missing on this target in sync context.');
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function Lock_acquire(self_, reentrant_) {
|
|
108
|
+
throw new Error('Function Lock_acquire is missing on this target in sync context.');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function Lock_release(self_) {
|
|
112
|
+
throw new Error('Function Lock_release is missing on this target in sync context.');
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function Lock_do(self_, reentrant_, body_) {
|
|
116
|
+
ff_core_Lock.Lock_acquire(self_, reentrant_);
|
|
117
|
+
try {
|
|
118
|
+
return body_()
|
|
119
|
+
} finally {
|
|
120
|
+
ff_core_Lock.Lock_release(self_)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export async function Lock_condition$(self_, $task) {
|
|
125
125
|
|
|
126
126
|
return {lock: self_, stack: [], queue: []}
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export async function Lock_acquire$(self_, reentrant_, $task) {
|
|
127
|
+
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export async function Lock_acquire$(self_, reentrant_, $task) {
|
|
131
131
|
|
|
132
132
|
if(self_.level === 0) {
|
|
133
133
|
self_.owner = $task
|
|
@@ -150,10 +150,10 @@ export async function Lock_acquire$(self_, reentrant_, $task) {
|
|
|
150
150
|
self_.level += 1
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export async function Lock_release$(self_, $task) {
|
|
153
|
+
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export async function Lock_release$(self_, $task) {
|
|
157
157
|
|
|
158
158
|
if(self_.owner !== $task) {
|
|
159
159
|
throw new Error("Tried to release a lock without acquiring it first.")
|
|
@@ -174,60 +174,60 @@ export async function Lock_release$(self_, $task) {
|
|
|
174
174
|
pending.resolve()
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
export async function Lock_do$(self_, reentrant_, body_, $task) {
|
|
181
|
-
(await ff_core_Lock.Lock_acquire$(self_, reentrant_, $task));
|
|
182
|
-
try {
|
|
183
|
-
return (await body_($task))
|
|
184
|
-
} finally {
|
|
185
|
-
(await ff_core_Lock.Lock_release$(self_, $task))
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
export function LockCondition_sleep(self_) {
|
|
190
|
-
throw new Error('Function LockCondition_sleep is missing on this target in sync context.');
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export function LockCondition_sleepUntil(self_, body_) {
|
|
194
|
-
_tailcall: for(;;) {
|
|
195
|
-
{
|
|
196
|
-
const _1 = body_();
|
|
197
|
-
{
|
|
198
|
-
if(_1.Some) {
|
|
199
|
-
const value_ = _1.value_;
|
|
200
|
-
return value_
|
|
201
|
-
return
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
{
|
|
205
|
-
if(_1.None) {
|
|
206
|
-
ff_core_Lock.LockCondition_sleep(self_);
|
|
207
|
-
{
|
|
208
|
-
const self_r_ = self_;
|
|
209
|
-
const body_r_ = body_;
|
|
210
|
-
self_ = self_r_
|
|
211
|
-
body_ = body_r_
|
|
212
|
-
continue _tailcall
|
|
213
|
-
}
|
|
214
|
-
return
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
return
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
export function LockCondition_wakeOne(self_) {
|
|
223
|
-
throw new Error('Function LockCondition_wakeOne is missing on this target in sync context.');
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
export function LockCondition_wakeAll(self_) {
|
|
227
|
-
throw new Error('Function LockCondition_wakeAll is missing on this target in sync context.');
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
export async function LockCondition_sleep$(self_, $task) {
|
|
177
|
+
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export async function Lock_do$(self_, reentrant_, body_, $task) {
|
|
181
|
+
(await ff_core_Lock.Lock_acquire$(self_, reentrant_, $task));
|
|
182
|
+
try {
|
|
183
|
+
return (await body_($task))
|
|
184
|
+
} finally {
|
|
185
|
+
(await ff_core_Lock.Lock_release$(self_, $task))
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export function LockCondition_sleep(self_) {
|
|
190
|
+
throw new Error('Function LockCondition_sleep is missing on this target in sync context.');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export function LockCondition_sleepUntil(self_, body_) {
|
|
194
|
+
_tailcall: for(;;) {
|
|
195
|
+
{
|
|
196
|
+
const _1 = body_();
|
|
197
|
+
{
|
|
198
|
+
if(_1.Some) {
|
|
199
|
+
const value_ = _1.value_;
|
|
200
|
+
return value_
|
|
201
|
+
return
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
{
|
|
205
|
+
if(_1.None) {
|
|
206
|
+
ff_core_Lock.LockCondition_sleep(self_);
|
|
207
|
+
{
|
|
208
|
+
const self_r_ = self_;
|
|
209
|
+
const body_r_ = body_;
|
|
210
|
+
self_ = self_r_
|
|
211
|
+
body_ = body_r_
|
|
212
|
+
continue _tailcall
|
|
213
|
+
}
|
|
214
|
+
return
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export function LockCondition_wakeOne(self_) {
|
|
223
|
+
throw new Error('Function LockCondition_wakeOne is missing on this target in sync context.');
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export function LockCondition_wakeAll(self_) {
|
|
227
|
+
throw new Error('Function LockCondition_wakeAll is missing on this target in sync context.');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export async function LockCondition_sleep$(self_, $task) {
|
|
231
231
|
|
|
232
232
|
if(self_.lock.owner !== $task) {
|
|
233
233
|
throw new Error("Tried to sleep on a condition without acquiring it first.")
|
|
@@ -259,39 +259,39 @@ export async function LockCondition_sleep$(self_, $task) {
|
|
|
259
259
|
}
|
|
260
260
|
if(e !== null) throw e;
|
|
261
261
|
}
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
export async function LockCondition_sleepUntil$(self_, body_, $task) {
|
|
266
|
-
_tailcall: for(;;) {
|
|
267
|
-
{
|
|
268
|
-
const _1 = (await body_($task));
|
|
269
|
-
{
|
|
270
|
-
if(_1.Some) {
|
|
271
|
-
const value_ = _1.value_;
|
|
272
|
-
return value_
|
|
273
|
-
return
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
{
|
|
277
|
-
if(_1.None) {
|
|
278
|
-
(await ff_core_Lock.LockCondition_sleep$(self_, $task));
|
|
279
|
-
{
|
|
280
|
-
const self_r_ = self_;
|
|
281
|
-
const body_r_ = body_;
|
|
282
|
-
self_ = self_r_
|
|
283
|
-
body_ = body_r_
|
|
284
|
-
continue _tailcall
|
|
285
|
-
}
|
|
286
|
-
return
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
export async function LockCondition_wakeOne$(self_, $task) {
|
|
262
|
+
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export async function LockCondition_sleepUntil$(self_, body_, $task) {
|
|
266
|
+
_tailcall: for(;;) {
|
|
267
|
+
{
|
|
268
|
+
const _1 = (await body_($task));
|
|
269
|
+
{
|
|
270
|
+
if(_1.Some) {
|
|
271
|
+
const value_ = _1.value_;
|
|
272
|
+
return value_
|
|
273
|
+
return
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
{
|
|
277
|
+
if(_1.None) {
|
|
278
|
+
(await ff_core_Lock.LockCondition_sleep$(self_, $task));
|
|
279
|
+
{
|
|
280
|
+
const self_r_ = self_;
|
|
281
|
+
const body_r_ = body_;
|
|
282
|
+
self_ = self_r_
|
|
283
|
+
body_ = body_r_
|
|
284
|
+
continue _tailcall
|
|
285
|
+
}
|
|
286
|
+
return
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export async function LockCondition_wakeOne$(self_, $task) {
|
|
295
295
|
|
|
296
296
|
if(self_.stack.length === 0) {
|
|
297
297
|
const empty = self_.stack
|
|
@@ -302,10 +302,10 @@ export async function LockCondition_wakeOne$(self_, $task) {
|
|
|
302
302
|
const resolve = self_.stack.pop()
|
|
303
303
|
resolve()
|
|
304
304
|
}
|
|
305
|
-
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export async function LockCondition_wakeAll$(self_, $task) {
|
|
305
|
+
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export async function LockCondition_wakeAll$(self_, $task) {
|
|
309
309
|
|
|
310
310
|
while(self_.stack.length !== 0) {
|
|
311
311
|
const resolve = self_.stack.pop()
|
|
@@ -318,9 +318,9 @@ export async function LockCondition_wakeAll$(self_, $task) {
|
|
|
318
318
|
const resolve = self_.stack.pop()
|
|
319
319
|
resolve()
|
|
320
320
|
}
|
|
321
|
-
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
321
|
+
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|