firefly-compiler 0.5.76 → 0.5.78
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/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +3 -1
- package/compiler/Compiler.ff +7 -3
- package/compiler/JsEmitter.ff +1564 -623
- package/compiler/Main.ff +1 -1
- package/compiler/SourceMap.ff +149 -0
- package/core/Buffer.ff +2 -1
- package/core/BuildSystem.ff +3 -1
- package/core/Js.ff +6 -0
- package/firefly.sh +1 -1
- package/fireflysite/Main.ff +2 -1
- package/output/js/ff/compiler/Builder.mjs +8 -44
- package/output/js/ff/compiler/Builder.mjs.map +181 -0
- package/output/js/ff/compiler/Compiler.mjs +23 -16
- package/output/js/ff/compiler/Compiler.mjs.map +155 -0
- package/output/js/ff/compiler/Dependencies.mjs +12 -14
- package/output/js/ff/compiler/Dependencies.mjs.map +128 -0
- package/output/js/ff/compiler/DependencyLock.mjs +1 -4
- package/output/js/ff/compiler/DependencyLock.mjs.map +22 -0
- package/output/js/ff/compiler/Deriver.mjs +10 -11
- package/output/js/ff/compiler/Deriver.mjs.map +204 -0
- package/output/js/ff/compiler/Dictionaries.mjs +12 -13
- package/output/js/ff/compiler/Dictionaries.mjs.map +183 -0
- package/output/js/ff/compiler/Environment.mjs +24 -27
- package/output/js/ff/compiler/Environment.mjs.map +141 -0
- package/output/js/ff/compiler/Inference.mjs +83 -92
- package/output/js/ff/compiler/Inference.mjs.map +355 -0
- package/output/js/ff/compiler/JsEmitter.mjs +3689 -1687
- package/output/js/ff/compiler/JsEmitter.mjs.map +423 -0
- package/output/js/ff/compiler/JsImporter.mjs +9 -12
- package/output/js/ff/compiler/JsImporter.mjs.map +52 -0
- package/output/js/ff/compiler/LspHook.mjs +17 -18
- package/output/js/ff/compiler/LspHook.mjs.map +140 -0
- package/output/js/ff/compiler/Main.mjs +57 -67
- package/output/js/ff/compiler/Main.mjs.map +226 -0
- package/output/js/ff/compiler/ModuleCache.mjs +1 -4
- package/output/js/ff/compiler/ModuleCache.mjs.map +82 -0
- package/output/js/ff/compiler/Parser.mjs +54 -57
- package/output/js/ff/compiler/Parser.mjs.map +406 -0
- package/output/js/ff/compiler/Patterns.mjs +19 -22
- package/output/js/ff/compiler/Patterns.mjs.map +119 -0
- package/output/js/ff/compiler/Resolver.mjs +40 -39
- package/output/js/ff/compiler/Resolver.mjs.map +294 -0
- package/output/js/ff/compiler/SourceMap.mjs +402 -0
- package/output/js/ff/compiler/SourceMap.mjs.map +83 -0
- package/output/js/ff/compiler/Substitution.mjs +1 -4
- package/output/js/ff/compiler/Substitution.mjs.map +138 -0
- package/output/js/ff/compiler/Syntax.mjs +250 -249
- package/output/js/ff/compiler/Syntax.mjs.map +351 -0
- package/output/js/ff/compiler/Token.mjs +17 -22
- package/output/js/ff/compiler/Token.mjs.map +113 -0
- package/output/js/ff/compiler/Tokenizer.mjs +5 -12
- package/output/js/ff/compiler/Tokenizer.mjs.map +101 -0
- package/output/js/ff/compiler/Unification.mjs +32 -33
- package/output/js/ff/compiler/Unification.mjs.map +135 -0
- package/output/js/ff/compiler/Wildcards.mjs +1 -4
- package/output/js/ff/compiler/Wildcards.mjs.map +69 -0
- package/output/js/ff/compiler/Workspace.mjs +17 -16
- package/output/js/ff/compiler/Workspace.mjs.map +96 -0
- package/output/js/ff/core/Any.mjs +1 -4
- package/output/js/ff/core/Any.mjs.map +21 -0
- package/output/js/ff/core/Array.mjs +14 -15
- package/output/js/ff/core/Array.mjs.map +90 -0
- package/output/js/ff/core/AssetSystem.mjs +1 -4
- package/output/js/ff/core/AssetSystem.mjs.map +56 -0
- package/output/js/ff/core/Atomic.mjs +1 -4
- package/output/js/ff/core/Atomic.mjs.map +24 -0
- package/output/js/ff/core/Bool.mjs +4 -9
- package/output/js/ff/core/Bool.mjs.map +19 -0
- package/output/js/ff/core/BrowserSystem.mjs +1 -8
- package/output/js/ff/core/BrowserSystem.mjs.map +47 -0
- package/output/js/ff/core/Buffer.mjs +18 -17
- package/output/js/ff/core/Buffer.mjs.map +123 -0
- package/output/js/ff/core/BuildSystem.mjs +7 -10
- package/output/js/ff/core/BuildSystem.mjs.map +87 -0
- package/output/js/ff/core/Channel.mjs +1 -4
- package/output/js/ff/core/Channel.mjs.map +67 -0
- package/output/js/ff/core/Char.mjs +1 -8
- package/output/js/ff/core/Char.mjs.map +21 -0
- package/output/js/ff/core/Core.mjs +5 -8
- package/output/js/ff/core/Core.mjs.map +40 -0
- package/output/js/ff/core/Crypto.mjs +1 -4
- package/output/js/ff/core/Crypto.mjs.map +65 -0
- package/output/js/ff/core/Date.mjs +8 -7
- package/output/js/ff/core/Date.mjs.map +168 -0
- package/output/js/ff/core/Duration.mjs +4 -9
- package/output/js/ff/core/Duration.mjs.map +18 -0
- package/output/js/ff/core/Equal.mjs +9 -14
- package/output/js/ff/core/Equal.mjs.map +22 -0
- package/output/js/ff/core/Error.mjs +1 -8
- package/output/js/ff/core/Error.mjs.map +21 -0
- package/output/js/ff/core/FileHandle.mjs +1 -8
- package/output/js/ff/core/FileHandle.mjs.map +32 -0
- package/output/js/ff/core/Float.mjs +4 -5
- package/output/js/ff/core/Float.mjs.map +93 -0
- package/output/js/ff/core/HttpClient.mjs +1 -4
- package/output/js/ff/core/HttpClient.mjs.map +62 -0
- package/output/js/ff/core/Int.mjs +4 -9
- package/output/js/ff/core/Int.mjs.map +49 -0
- package/output/js/ff/core/IntMap.mjs +3 -6
- package/output/js/ff/core/IntMap.mjs.map +52 -0
- package/output/js/ff/core/Js.mjs +13 -8
- package/output/js/ff/core/Js.mjs.map +121 -0
- package/output/js/ff/core/JsSystem.mjs +1 -8
- package/output/js/ff/core/JsSystem.mjs.map +59 -0
- package/output/js/ff/core/JsValue.mjs +23 -42
- package/output/js/ff/core/JsValue.mjs.map +155 -0
- package/output/js/ff/core/Json.mjs +25 -26
- package/output/js/ff/core/Json.mjs.map +134 -0
- package/output/js/ff/core/List.mjs +11 -12
- package/output/js/ff/core/List.mjs.map +123 -0
- package/output/js/ff/core/Lock.mjs +7 -14
- package/output/js/ff/core/Lock.mjs.map +52 -0
- package/output/js/ff/core/Log.mjs +1 -8
- package/output/js/ff/core/Log.mjs.map +26 -0
- package/output/js/ff/core/Map.mjs +6 -7
- package/output/js/ff/core/Map.mjs.map +67 -0
- package/output/js/ff/core/NodeSystem.mjs +11 -14
- package/output/js/ff/core/NodeSystem.mjs.map +137 -0
- package/output/js/ff/core/Nothing.mjs +1 -10
- package/output/js/ff/core/Nothing.mjs.map +11 -0
- package/output/js/ff/core/Option.mjs +10 -15
- package/output/js/ff/core/Option.mjs.map +67 -0
- package/output/js/ff/core/Ordering.mjs +12 -13
- package/output/js/ff/core/Ordering.mjs.map +48 -0
- package/output/js/ff/core/Pair.mjs +8 -13
- package/output/js/ff/core/Pair.mjs.map +48 -0
- package/output/js/ff/core/Path.mjs +5 -14
- package/output/js/ff/core/Path.mjs.map +178 -0
- package/output/js/ff/core/Queue.mjs +1 -4
- package/output/js/ff/core/Queue.mjs.map +45 -0
- package/output/js/ff/core/Random.mjs +1 -4
- package/output/js/ff/core/Random.mjs.map +79 -0
- package/output/js/ff/core/RbMap.mjs +1 -16
- package/output/js/ff/core/RbMap.mjs.map +92 -0
- package/output/js/ff/core/Serializable.mjs +17 -22
- package/output/js/ff/core/Serializable.mjs.map +73 -0
- package/output/js/ff/core/Set.mjs +6 -7
- package/output/js/ff/core/Set.mjs.map +45 -0
- package/output/js/ff/core/Show.mjs +11 -20
- package/output/js/ff/core/Show.mjs.map +29 -0
- package/output/js/ff/core/SourceLocation.mjs +7 -8
- package/output/js/ff/core/SourceLocation.mjs.map +41 -0
- package/output/js/ff/core/Stream.mjs +1 -4
- package/output/js/ff/core/Stream.mjs.map +92 -0
- package/output/js/ff/core/String.mjs +14 -19
- package/output/js/ff/core/String.mjs.map +106 -0
- package/output/js/ff/core/StringMap.mjs +3 -6
- package/output/js/ff/core/StringMap.mjs.map +52 -0
- package/output/js/ff/core/Task.mjs +1 -8
- package/output/js/ff/core/Task.mjs.map +79 -0
- package/output/js/ff/core/Try.mjs +3 -6
- package/output/js/ff/core/Try.mjs.map +41 -0
- package/output/js/ff/core/Unit.mjs +5 -12
- package/output/js/ff/core/Unit.mjs.map +18 -0
- package/package.json +1 -1
- package/vscode/package.json +1 -1
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import * as ff_compiler_SourceMap from "../../ff/compiler/SourceMap.mjs"
|
|
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_BrowserSystem from "../../ff/core/BrowserSystem.mjs"
|
|
14
|
+
|
|
15
|
+
import * as ff_core_Buffer from "../../ff/core/Buffer.mjs"
|
|
16
|
+
|
|
17
|
+
import * as ff_core_BuildSystem from "../../ff/core/BuildSystem.mjs"
|
|
18
|
+
|
|
19
|
+
import * as ff_core_Channel from "../../ff/core/Channel.mjs"
|
|
20
|
+
|
|
21
|
+
import * as ff_core_Char from "../../ff/core/Char.mjs"
|
|
22
|
+
|
|
23
|
+
import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
24
|
+
|
|
25
|
+
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
26
|
+
|
|
27
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
28
|
+
|
|
29
|
+
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
30
|
+
|
|
31
|
+
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
32
|
+
|
|
33
|
+
import * as ff_core_Error from "../../ff/core/Error.mjs"
|
|
34
|
+
|
|
35
|
+
import * as ff_core_FileHandle from "../../ff/core/FileHandle.mjs"
|
|
36
|
+
|
|
37
|
+
import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
38
|
+
|
|
39
|
+
import * as ff_core_HttpClient from "../../ff/core/HttpClient.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_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
47
|
+
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
48
|
+
|
|
49
|
+
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
50
|
+
|
|
51
|
+
import * as ff_core_Json from "../../ff/core/Json.mjs"
|
|
52
|
+
|
|
53
|
+
import * as ff_core_List from "../../ff/core/List.mjs"
|
|
54
|
+
|
|
55
|
+
import * as ff_core_Lock from "../../ff/core/Lock.mjs"
|
|
56
|
+
|
|
57
|
+
import * as ff_core_Log from "../../ff/core/Log.mjs"
|
|
58
|
+
|
|
59
|
+
import * as ff_core_Map from "../../ff/core/Map.mjs"
|
|
60
|
+
|
|
61
|
+
import * as ff_core_NodeSystem from "../../ff/core/NodeSystem.mjs"
|
|
62
|
+
|
|
63
|
+
import * as ff_core_Nothing from "../../ff/core/Nothing.mjs"
|
|
64
|
+
|
|
65
|
+
import * as ff_core_Option from "../../ff/core/Option.mjs"
|
|
66
|
+
|
|
67
|
+
import * as ff_core_Ordering from "../../ff/core/Ordering.mjs"
|
|
68
|
+
|
|
69
|
+
import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
70
|
+
|
|
71
|
+
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
72
|
+
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
75
|
+
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
76
|
+
|
|
77
|
+
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
78
|
+
|
|
79
|
+
import * as ff_core_Set from "../../ff/core/Set.mjs"
|
|
80
|
+
|
|
81
|
+
import * as ff_core_Show from "../../ff/core/Show.mjs"
|
|
82
|
+
|
|
83
|
+
import * as ff_core_SourceLocation from "../../ff/core/SourceLocation.mjs"
|
|
84
|
+
|
|
85
|
+
import * as ff_core_Stream from "../../ff/core/Stream.mjs"
|
|
86
|
+
|
|
87
|
+
import * as ff_core_String from "../../ff/core/String.mjs"
|
|
88
|
+
|
|
89
|
+
import * as ff_core_StringMap from "../../ff/core/StringMap.mjs"
|
|
90
|
+
|
|
91
|
+
import * as ff_core_Task from "../../ff/core/Task.mjs"
|
|
92
|
+
|
|
93
|
+
import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
94
|
+
|
|
95
|
+
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
96
|
+
|
|
97
|
+
export const vlqBaseShift_ = 5;
|
|
98
|
+
|
|
99
|
+
export const vlqBaseMask_ = (ff_core_Int.Int_bitLeft(1, ff_compiler_SourceMap.vlqBaseShift_) - 1);
|
|
100
|
+
|
|
101
|
+
export const vlqContinuationBit_ = ff_core_Int.Int_bitLeft(1, ff_compiler_SourceMap.vlqBaseShift_);
|
|
102
|
+
|
|
103
|
+
export const base64Characters_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/;,";
|
|
104
|
+
|
|
105
|
+
export const semicolonIndex_ = ff_core_Option.Option_grab(ff_core_String.String_indexOf(ff_compiler_SourceMap.base64Characters_, ";", 0));
|
|
106
|
+
|
|
107
|
+
export const commaIndex_ = ff_core_Option.Option_grab(ff_core_String.String_indexOf(ff_compiler_SourceMap.base64Characters_, ",", 0));
|
|
108
|
+
|
|
109
|
+
export function makeOutputAndSourceMap_(fireflyFile_, fireflySource_, writtenStrings_, writtenSegments_, writtenAnchors_, writtenNames_) {
|
|
110
|
+
const lines_ = ff_core_Array.new_();
|
|
111
|
+
const output_ = ff_core_Array.new_();
|
|
112
|
+
let index_ = 0;
|
|
113
|
+
let lastSource_ = 0;
|
|
114
|
+
let lastLine_ = 0;
|
|
115
|
+
let lastColumn_ = 0;
|
|
116
|
+
let lastName_ = 0;
|
|
117
|
+
for(let for_a = ff_core_Array.Array_drain(writtenStrings_), for_i = 0, for_l = for_a.length, for_a2 = ff_core_Array.Array_drain(writtenSegments_), for_i2 = 0, for_l2 = for_a2.length; for_i < for_l && for_i2 < for_l2; for_i++, for_i2++) {
|
|
118
|
+
const strings_ = for_a[for_i];
|
|
119
|
+
const segments_ = for_a2[for_i2];
|
|
120
|
+
{
|
|
121
|
+
const if_o = ff_core_IntMap.IntMap_get(writtenAnchors_, index_)
|
|
122
|
+
if(if_o.Some) {
|
|
123
|
+
const anchorLines_ = if_o.value_;
|
|
124
|
+
for(let for_a = anchorLines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
125
|
+
const l_ = for_a[for_i];
|
|
126
|
+
lines_.array.push([]);
|
|
127
|
+
output_.array.push(l_);
|
|
128
|
+
output_.array.push("\n")
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
let lastOutputColumn_ = 0;
|
|
133
|
+
const line_ = ff_core_Array.new_();
|
|
134
|
+
for(let for_a = segments_.array, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
135
|
+
const segment_ = for_a[for_i];
|
|
136
|
+
const relative_ = ff_core_Array.new_();
|
|
137
|
+
const newOutputColumn_ = (segment_[0] ?? ff_core_List.List_grab(segment_, 0));
|
|
138
|
+
relative_.array.push((newOutputColumn_ - lastOutputColumn_));
|
|
139
|
+
lastOutputColumn_ = newOutputColumn_;
|
|
140
|
+
if((segment_.length > 1)) {
|
|
141
|
+
const newSource_ = (segment_[1] ?? ff_core_List.List_grab(segment_, 1));
|
|
142
|
+
relative_.array.push((newSource_ - lastSource_));
|
|
143
|
+
lastSource_ = newSource_;
|
|
144
|
+
const newLine_ = (segment_[2] ?? ff_core_List.List_grab(segment_, 2));
|
|
145
|
+
relative_.array.push((newLine_ - lastLine_));
|
|
146
|
+
lastLine_ = newLine_;
|
|
147
|
+
const newColumn_ = (segment_[3] ?? ff_core_List.List_grab(segment_, 3));
|
|
148
|
+
relative_.array.push((newColumn_ - lastColumn_));
|
|
149
|
+
lastColumn_ = newColumn_;
|
|
150
|
+
if((segment_.length === 5)) {
|
|
151
|
+
const newName_ = (segment_[4] ?? ff_core_List.List_grab(segment_, 4));
|
|
152
|
+
relative_.array.push((newName_ - lastName_));
|
|
153
|
+
lastName_ = newName_
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
line_.array.push(ff_core_Array.Array_drain(relative_))
|
|
157
|
+
};
|
|
158
|
+
lines_.array.push(ff_core_Array.Array_drain(line_));
|
|
159
|
+
for(let for_a = strings_.array, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
160
|
+
const _w1 = for_a[for_i];
|
|
161
|
+
output_.array.push(_w1)
|
|
162
|
+
};
|
|
163
|
+
output_.array.push("\n");
|
|
164
|
+
index_ += 1
|
|
165
|
+
};
|
|
166
|
+
const sourceMap_ = ff_compiler_SourceMap.sourceMap_([fireflyFile_], [fireflySource_], ff_core_StringMap.StringMap_keys(writtenNames_), ff_core_Array.Array_drain(lines_));
|
|
167
|
+
return ff_core_Pair.Pair(ff_core_Array.Array_join(output_, ""), sourceMap_)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export function makeOutput_(writtenStrings_, writtenAnchors_) {
|
|
171
|
+
const output_ = ff_core_Array.new_();
|
|
172
|
+
for(let for_a = ff_core_Array.Array_drain(writtenStrings_), for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
173
|
+
const index_ = for_i;
|
|
174
|
+
const strings_ = for_a[for_i];
|
|
175
|
+
{
|
|
176
|
+
const if_o = ff_core_IntMap.IntMap_get(writtenAnchors_, index_)
|
|
177
|
+
if(if_o.Some) {
|
|
178
|
+
const anchorLines_ = if_o.value_;
|
|
179
|
+
for(let for_a = anchorLines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
180
|
+
const l_ = for_a[for_i];
|
|
181
|
+
output_.array.push(l_)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
output_.array.push(ff_core_Array.Array_join(strings_, ""))
|
|
186
|
+
};
|
|
187
|
+
return ff_core_Array.Array_join(output_, "\n")
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export function sourceMap_(sources_, contents_, names_, lines_) {
|
|
191
|
+
return {...ff_core_Json.object_(), version: 3, sources: sources_, sourcesContent: ff_core_List.List_map(contents_, ((_w1) => {
|
|
192
|
+
return ff_core_Option.Option_else(ff_core_Option.Option_map(_w1, ((_w1) => {
|
|
193
|
+
return _w1
|
|
194
|
+
})), (() => {
|
|
195
|
+
return ff_core_Json.null_()
|
|
196
|
+
}))
|
|
197
|
+
})), names: names_, mappings: ff_compiler_SourceMap.toMappings_(lines_)}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export function toMappings_(lines_) {
|
|
201
|
+
const vlq_ = ff_core_Array.new_();
|
|
202
|
+
let firstLine_ = true;
|
|
203
|
+
for(let for_a = lines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
204
|
+
const line_ = for_a[for_i];
|
|
205
|
+
if(firstLine_) {
|
|
206
|
+
firstLine_ = false
|
|
207
|
+
} else {
|
|
208
|
+
vlq_.array.push(ff_compiler_SourceMap.semicolonIndex_)
|
|
209
|
+
};
|
|
210
|
+
let firstSegment_ = true;
|
|
211
|
+
for(let for_a = line_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
212
|
+
const segment_ = for_a[for_i];
|
|
213
|
+
if(firstSegment_) {
|
|
214
|
+
firstSegment_ = false
|
|
215
|
+
} else {
|
|
216
|
+
vlq_.array.push(ff_compiler_SourceMap.commaIndex_)
|
|
217
|
+
};
|
|
218
|
+
for(let for_a = segment_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
219
|
+
const field_ = for_a[for_i];
|
|
220
|
+
ff_compiler_SourceMap.internalToVlq_(vlq_, field_)
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
return ff_compiler_SourceMap.toBase64Vlq_(ff_core_Array.Array_drain(vlq_))
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export function toBase64Vlq_(vlq_) {
|
|
228
|
+
const result_ = ff_core_Buffer.new_(vlq_.length, false);
|
|
229
|
+
for(let for_i = 0, for_e = vlq_.length; for_i < for_e; for_i++) {
|
|
230
|
+
const i_ = for_i;
|
|
231
|
+
ff_core_Buffer.Buffer_setUint8(result_, i_, ff_core_String.String_grab(ff_compiler_SourceMap.base64Characters_, (vlq_[i_] ?? ff_core_List.List_grab(vlq_, i_))))
|
|
232
|
+
};
|
|
233
|
+
return ff_core_Buffer.Buffer_toString(result_, "utf8")
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function internalToVlq_(vlq_, value_) {
|
|
237
|
+
let digit_ = 0;
|
|
238
|
+
let v_ = value_;
|
|
239
|
+
if((v_ < 0)) {
|
|
240
|
+
v_ = ff_core_Int.Int_bitOr(ff_core_Int.Int_bitLeft(ff_core_Int.Int_abs(v_), 1), 1)
|
|
241
|
+
} else {
|
|
242
|
+
v_ = ff_core_Int.Int_bitLeft(v_, 1)
|
|
243
|
+
};
|
|
244
|
+
while(true) {
|
|
245
|
+
digit_ = (v_ & ff_compiler_SourceMap.vlqBaseMask_);
|
|
246
|
+
v_ = (v_ >>> ff_compiler_SourceMap.vlqBaseShift_);
|
|
247
|
+
if((v_ > 0)) {
|
|
248
|
+
digit_ = ff_core_Int.Int_bitOr(digit_, ff_compiler_SourceMap.vlqContinuationBit_)
|
|
249
|
+
};
|
|
250
|
+
vlq_.array.push(digit_);
|
|
251
|
+
if(!(v_ > 0)) break
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export async function makeOutputAndSourceMap_$(fireflyFile_, fireflySource_, writtenStrings_, writtenSegments_, writtenAnchors_, writtenNames_, $task) {
|
|
256
|
+
const lines_ = ff_core_Array.new_();
|
|
257
|
+
const output_ = ff_core_Array.new_();
|
|
258
|
+
let index_ = 0;
|
|
259
|
+
let lastSource_ = 0;
|
|
260
|
+
let lastLine_ = 0;
|
|
261
|
+
let lastColumn_ = 0;
|
|
262
|
+
let lastName_ = 0;
|
|
263
|
+
for(let for_a = ff_core_Array.Array_drain(writtenStrings_), for_i = 0, for_l = for_a.length, for_a2 = ff_core_Array.Array_drain(writtenSegments_), for_i2 = 0, for_l2 = for_a2.length; for_i < for_l && for_i2 < for_l2; for_i++, for_i2++) {
|
|
264
|
+
const strings_ = for_a[for_i];
|
|
265
|
+
const segments_ = for_a2[for_i2];
|
|
266
|
+
{
|
|
267
|
+
const if_o = ff_core_IntMap.IntMap_get(writtenAnchors_, index_)
|
|
268
|
+
if(if_o.Some) {
|
|
269
|
+
const anchorLines_ = if_o.value_;
|
|
270
|
+
for(let for_a = anchorLines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
271
|
+
const l_ = for_a[for_i];
|
|
272
|
+
lines_.array.push([]);
|
|
273
|
+
output_.array.push(l_);
|
|
274
|
+
output_.array.push("\n")
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
let lastOutputColumn_ = 0;
|
|
279
|
+
const line_ = ff_core_Array.new_();
|
|
280
|
+
for(let for_a = segments_.array, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
281
|
+
const segment_ = for_a[for_i];
|
|
282
|
+
const relative_ = ff_core_Array.new_();
|
|
283
|
+
const newOutputColumn_ = (segment_[0] ?? ff_core_List.List_grab(segment_, 0));
|
|
284
|
+
relative_.array.push((newOutputColumn_ - lastOutputColumn_));
|
|
285
|
+
lastOutputColumn_ = newOutputColumn_;
|
|
286
|
+
if((segment_.length > 1)) {
|
|
287
|
+
const newSource_ = (segment_[1] ?? ff_core_List.List_grab(segment_, 1));
|
|
288
|
+
relative_.array.push((newSource_ - lastSource_));
|
|
289
|
+
lastSource_ = newSource_;
|
|
290
|
+
const newLine_ = (segment_[2] ?? ff_core_List.List_grab(segment_, 2));
|
|
291
|
+
relative_.array.push((newLine_ - lastLine_));
|
|
292
|
+
lastLine_ = newLine_;
|
|
293
|
+
const newColumn_ = (segment_[3] ?? ff_core_List.List_grab(segment_, 3));
|
|
294
|
+
relative_.array.push((newColumn_ - lastColumn_));
|
|
295
|
+
lastColumn_ = newColumn_;
|
|
296
|
+
if((segment_.length === 5)) {
|
|
297
|
+
const newName_ = (segment_[4] ?? ff_core_List.List_grab(segment_, 4));
|
|
298
|
+
relative_.array.push((newName_ - lastName_));
|
|
299
|
+
lastName_ = newName_
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
line_.array.push(ff_core_Array.Array_drain(relative_))
|
|
303
|
+
};
|
|
304
|
+
lines_.array.push(ff_core_Array.Array_drain(line_));
|
|
305
|
+
for(let for_a = strings_.array, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
306
|
+
const _w1 = for_a[for_i];
|
|
307
|
+
output_.array.push(_w1)
|
|
308
|
+
};
|
|
309
|
+
output_.array.push("\n");
|
|
310
|
+
index_ += 1
|
|
311
|
+
};
|
|
312
|
+
const sourceMap_ = ff_compiler_SourceMap.sourceMap_([fireflyFile_], [fireflySource_], ff_core_StringMap.StringMap_keys(writtenNames_), ff_core_Array.Array_drain(lines_));
|
|
313
|
+
return ff_core_Pair.Pair(ff_core_Array.Array_join(output_, ""), sourceMap_)
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export async function makeOutput_$(writtenStrings_, writtenAnchors_, $task) {
|
|
317
|
+
const output_ = ff_core_Array.new_();
|
|
318
|
+
for(let for_a = ff_core_Array.Array_drain(writtenStrings_), for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
319
|
+
const index_ = for_i;
|
|
320
|
+
const strings_ = for_a[for_i];
|
|
321
|
+
{
|
|
322
|
+
const if_o = ff_core_IntMap.IntMap_get(writtenAnchors_, index_)
|
|
323
|
+
if(if_o.Some) {
|
|
324
|
+
const anchorLines_ = if_o.value_;
|
|
325
|
+
for(let for_a = anchorLines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
326
|
+
const l_ = for_a[for_i];
|
|
327
|
+
output_.array.push(l_)
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
output_.array.push(ff_core_Array.Array_join(strings_, ""))
|
|
332
|
+
};
|
|
333
|
+
return ff_core_Array.Array_join(output_, "\n")
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
export async function sourceMap_$(sources_, contents_, names_, lines_, $task) {
|
|
337
|
+
return {...ff_core_Json.object_(), version: 3, sources: sources_, sourcesContent: ff_core_List.List_map(contents_, ((_w1) => {
|
|
338
|
+
return ff_core_Option.Option_else(ff_core_Option.Option_map(_w1, ((_w1) => {
|
|
339
|
+
return _w1
|
|
340
|
+
})), (() => {
|
|
341
|
+
return ff_core_Json.null_()
|
|
342
|
+
}))
|
|
343
|
+
})), names: names_, mappings: ff_compiler_SourceMap.toMappings_(lines_)}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
export async function toMappings_$(lines_, $task) {
|
|
347
|
+
const vlq_ = ff_core_Array.new_();
|
|
348
|
+
let firstLine_ = true;
|
|
349
|
+
for(let for_a = lines_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
350
|
+
const line_ = for_a[for_i];
|
|
351
|
+
if(firstLine_) {
|
|
352
|
+
firstLine_ = false
|
|
353
|
+
} else {
|
|
354
|
+
vlq_.array.push(ff_compiler_SourceMap.semicolonIndex_)
|
|
355
|
+
};
|
|
356
|
+
let firstSegment_ = true;
|
|
357
|
+
for(let for_a = line_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
358
|
+
const segment_ = for_a[for_i];
|
|
359
|
+
if(firstSegment_) {
|
|
360
|
+
firstSegment_ = false
|
|
361
|
+
} else {
|
|
362
|
+
vlq_.array.push(ff_compiler_SourceMap.commaIndex_)
|
|
363
|
+
};
|
|
364
|
+
for(let for_a = segment_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
365
|
+
const field_ = for_a[for_i];
|
|
366
|
+
ff_compiler_SourceMap.internalToVlq_(vlq_, field_)
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
return ff_compiler_SourceMap.toBase64Vlq_(ff_core_Array.Array_drain(vlq_))
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
export async function toBase64Vlq_$(vlq_, $task) {
|
|
374
|
+
const result_ = ff_core_Buffer.new_(vlq_.length, false);
|
|
375
|
+
for(let for_i = 0, for_e = vlq_.length; for_i < for_e; for_i++) {
|
|
376
|
+
const i_ = for_i;
|
|
377
|
+
ff_core_Buffer.Buffer_setUint8(result_, i_, ff_core_String.String_grab(ff_compiler_SourceMap.base64Characters_, (vlq_[i_] ?? ff_core_List.List_grab(vlq_, i_))))
|
|
378
|
+
};
|
|
379
|
+
return ff_core_Buffer.Buffer_toString(result_, "utf8")
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
export async function internalToVlq_$(vlq_, value_, $task) {
|
|
383
|
+
let digit_ = 0;
|
|
384
|
+
let v_ = value_;
|
|
385
|
+
if((v_ < 0)) {
|
|
386
|
+
v_ = ff_core_Int.Int_bitOr(ff_core_Int.Int_bitLeft(ff_core_Int.Int_abs(v_), 1), 1)
|
|
387
|
+
} else {
|
|
388
|
+
v_ = ff_core_Int.Int_bitLeft(v_, 1)
|
|
389
|
+
};
|
|
390
|
+
while(true) {
|
|
391
|
+
digit_ = (v_ & ff_compiler_SourceMap.vlqBaseMask_);
|
|
392
|
+
v_ = (v_ >>> ff_compiler_SourceMap.vlqBaseShift_);
|
|
393
|
+
if((v_ > 0)) {
|
|
394
|
+
digit_ = ff_core_Int.Int_bitOr(digit_, ff_compiler_SourceMap.vlqContinuationBit_)
|
|
395
|
+
};
|
|
396
|
+
vlq_.array.push(digit_);
|
|
397
|
+
if(!(v_ > 0)) break
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
//# sourceMappingURL=SourceMap.mjs.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": [
|
|
4
|
+
"../../../../../compiler/SourceMap.ff"
|
|
5
|
+
],
|
|
6
|
+
"sourcesContent": [
|
|
7
|
+
"makeOutputAndSourceMap(\r\n fireflyFile: String\r\n fireflySource: Option[String]\r\n writtenStrings: Array[Array[String]]\r\n writtenSegments: Array[Array[List[Int]]]\r\n writtenAnchors: IntMap[List[String]]\r\n writtenNames: StringMap[Int]\r\n): Pair[String, Json] {\r\n let lines = Array.new()\r\n let output = Array.new()\r\n mutable index = 0\r\n mutable lastSource = 0\r\n mutable lastLine = 0\r\n mutable lastColumn = 0\r\n mutable lastName = 0\r\n writtenStrings.drain().zip(writtenSegments.drain()).each {| Pair(strings, segments) =>\r\n writtenAnchors.get(index).each {anchorLines =>\r\n anchorLines.each {l =>\r\n lines.push([])\r\n output.push(l)\r\n output.push(\"\\n\")\r\n }\r\n }\r\n mutable lastOutputColumn = 0\r\n let line = Array.new()\r\n segments.each {segment =>\r\n let relative = Array.new()\r\n let newOutputColumn = segment.grab(0)\r\n relative.push(newOutputColumn - lastOutputColumn)\r\n lastOutputColumn = newOutputColumn\r\n if(segment.size() > 1) {\r\n let newSource = segment.grab(1)\r\n relative.push(newSource - lastSource)\r\n lastSource = newSource\r\n let newLine = segment.grab(2)\r\n relative.push(newLine - lastLine)\r\n lastLine = newLine\r\n let newColumn = segment.grab(3)\r\n relative.push(newColumn - lastColumn)\r\n lastColumn = newColumn\r\n if(segment.size() == 5) {\r\n let newName = segment.grab(4)\r\n relative.push(newName - lastName)\r\n lastName = newName\r\n }\r\n }\r\n line.push(relative.drain())\r\n }\r\n lines.push(line.drain())\r\n strings.each {output.push(_)}\r\n output.push(\"\\n\")\r\n index += 1\r\n }\r\n let sourceMap = sourceMap([fireflyFile], [fireflySource], writtenNames.keys(), lines.drain())\r\n Pair(output.join(), sourceMap)\r\n}\r\n\r\nmakeOutput(\r\n writtenStrings: Array[Array[String]]\r\n writtenAnchors: IntMap[List[String]]\r\n): String {\r\n let output = Array.new()\r\n writtenStrings.drain().pairs().each {| Pair(index, strings) =>\r\n writtenAnchors.get(index).each {anchorLines =>\r\n anchorLines.each {l =>\r\n output.push(l)\r\n }\r\n }\r\n output.push(strings.join())\r\n }\r\n output.join(\"\\n\")\r\n}\r\n\r\nsourceMap(\r\n sources: List[String]\r\n contents: List[Option[String]]\r\n names: List[String]\r\n lines: List[List[List[Int]]]\r\n): Json {\r\n Json->(\r\n version = 3\r\n sources = sources\r\n sourcesContent = contents.map {_.map {Json.string(_)}.else {Json.null()}}\r\n names = names\r\n mappings = toMappings(lines)\r\n )\r\n}\r\n\r\ntoMappings(lines: List[List[List[Int]]]): String {\r\n let vlq = Array.new()\r\n mutable firstLine = True\r\n lines.each {line =>\r\n if(firstLine) {\r\n firstLine = False\r\n } else {\r\n vlq.push(semicolonIndex)\r\n }\r\n mutable firstSegment = True\r\n line.each {segment =>\r\n if(firstSegment) {\r\n firstSegment = False\r\n } else {\r\n vlq.push(commaIndex)\r\n }\r\n segment.each {field =>\r\n internalToVlq(vlq, field)\r\n }\r\n }\r\n }\r\n toBase64Vlq(vlq.drain())\r\n}\r\n\r\ntoBase64Vlq(vlq: List[Int]): String {\r\n let result = Buffer.new(vlq.size())\r\n\r\n 0.until(vlq.size()).each {i =>\r\n result.setUint8(i, base64Characters.grab(vlq.grab(i)).codeUnit)\r\n }\r\n\r\n result.toString()\r\n}\r\n\r\ninternalToVlq(vlq: Array[Int], value: Int) {\r\n mutable digit = 0\r\n mutable v = value\r\n\r\n if(v < 0) {\r\n v = v.abs().bitLeft(1).bitOr(1)\r\n } else {\r\n v = v.bitLeft(1)\r\n }\r\n\r\n doWhile {\r\n digit = v.bitAnd(vlqBaseMask)\r\n v = v.bitRightUnsigned(vlqBaseShift)\r\n if(v > 0) {\r\n digit = digit.bitOr(vlqContinuationBit)\r\n }\r\n vlq.push(digit)\r\n v > 0\r\n }\r\n}\r\n\r\nvlqBaseShift = 5\r\nvlqBaseMask = 1.bitLeft(vlqBaseShift) - 1\r\nvlqContinuationBit = 1.bitLeft(vlqBaseShift)\r\nbase64Characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/;,\"\r\nsemicolonIndex = base64Characters.indexOf(\";\").grab()\r\ncommaIndex = base64Characters.indexOf(\",\").grab()\r\n"
|
|
8
|
+
],
|
|
9
|
+
"names": [
|
|
10
|
+
"vlqBaseShift",
|
|
11
|
+
"vlqBaseMask",
|
|
12
|
+
"bitLeft",
|
|
13
|
+
"vlqContinuationBit",
|
|
14
|
+
"base64Characters",
|
|
15
|
+
"semicolonIndex",
|
|
16
|
+
"grab",
|
|
17
|
+
"indexOf",
|
|
18
|
+
"commaIndex",
|
|
19
|
+
"makeOutputAndSourceMap",
|
|
20
|
+
"fireflyFile",
|
|
21
|
+
"fireflySource",
|
|
22
|
+
"writtenStrings",
|
|
23
|
+
"writtenSegments",
|
|
24
|
+
"writtenAnchors",
|
|
25
|
+
"writtenNames",
|
|
26
|
+
"lines",
|
|
27
|
+
"new",
|
|
28
|
+
"output",
|
|
29
|
+
"index",
|
|
30
|
+
"lastSource",
|
|
31
|
+
"lastLine",
|
|
32
|
+
"lastColumn",
|
|
33
|
+
"lastName",
|
|
34
|
+
"drain",
|
|
35
|
+
"get",
|
|
36
|
+
"anchorLines",
|
|
37
|
+
"l",
|
|
38
|
+
"lastOutputColumn",
|
|
39
|
+
"line",
|
|
40
|
+
"segments",
|
|
41
|
+
"relative",
|
|
42
|
+
"newOutputColumn",
|
|
43
|
+
"segment",
|
|
44
|
+
"newSource",
|
|
45
|
+
"newLine",
|
|
46
|
+
"newColumn",
|
|
47
|
+
"newName",
|
|
48
|
+
"strings",
|
|
49
|
+
"sourceMap",
|
|
50
|
+
"keys",
|
|
51
|
+
"Pair",
|
|
52
|
+
"join",
|
|
53
|
+
"makeOutput",
|
|
54
|
+
"sources",
|
|
55
|
+
"contents",
|
|
56
|
+
"names",
|
|
57
|
+
"object",
|
|
58
|
+
"version",
|
|
59
|
+
"sourcesContent",
|
|
60
|
+
"map",
|
|
61
|
+
"w1",
|
|
62
|
+
"else",
|
|
63
|
+
"null",
|
|
64
|
+
"mappings",
|
|
65
|
+
"toMappings",
|
|
66
|
+
"vlq",
|
|
67
|
+
"firstLine",
|
|
68
|
+
"firstSegment",
|
|
69
|
+
"internalToVlq",
|
|
70
|
+
"field",
|
|
71
|
+
"toBase64Vlq",
|
|
72
|
+
"result",
|
|
73
|
+
"i",
|
|
74
|
+
"setUint8",
|
|
75
|
+
"toString",
|
|
76
|
+
"value",
|
|
77
|
+
"digit",
|
|
78
|
+
"v",
|
|
79
|
+
"bitOr",
|
|
80
|
+
"abs"
|
|
81
|
+
],
|
|
82
|
+
"mappings": "A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A,OA+IA,MAAAA,aAAA,GAAe,CAAf;;A,OACA,MAAAC,YAAA,GAAsC,CAAtBC,uBAAA,CAAF,C,EAAUF,mCAAR,CAAsB,CAAA,CAAA,CAAE,CAAF,CAAtC;;A,OACA,MAAAG,mBAAA,GAAuBD,uBAAA,CAAF,C,EAAUF,mCAAR,CAAvB;;A,OACA,MAAAI,iBAAA,GAAmB,oEAAnB;;A,OACA,MAAAC,eAAA,GAA+CC,0BAAA,CAAbC,6BAAA,CAAjBH,uC,EAAyB,G,EA2EE,CA3EV,CAAa,CAA/C;;A,OACA,MAAAI,WAAA,GAA2CF,0BAAA,CAAbC,6BAAA,CAAjBH,uC,EAAyB,G,EA0EM,CA1Ed,CAAa,CAA3C;;A,OApJA,SAAAK,uBAAA,CACIC,Y,EACAC,c,EACAC,e,EACAC,gB,EACAC,e,EACAC,aANJ,CAAA;AAQQ,MAAAC,MAAA,GAAcC,kBAAA,CAAA,CAAd;AACA,MAAAC,OAAA,GAAeD,kBAAA,CAAA,CAAf;AACI,IAAAE,MAAA,GAAQ,CAAR;AACA,IAAAC,WAAA,GAAa,CAAb;AACA,IAAAC,SAAA,GAAW,CAAX;AACA,IAAAC,WAAA,GAAa,CAAb;AACA,IAAAC,SAAA,GAAW,CAAX;AAC4C,QAArC,QAAAC,yBAAA,CAAfZ,eAAe,CAAA,WAAA,UAAA,YAAqC,EAAT,SAAAY,yBAAA,CAAhBX,gBAAgB,CAAA,YAAA,WAAA,aAAS;AAAa;AAAS;AAC5C;AAAA,aAAXY,yBAAA,CAAfX,e,EAAmBK,MAAJ;AAAW;AAAA,MAAMO,YAAN;AACV,QAAZ,QAAAA,YAAA,WAAA,UAAA,YAAY;AAAM;AACdV,MAAA,YAAW,CAAA,CAAX,CAChB;AAAgBE,OAAA,YAAYS,EAAZ,CAChB;AAAgBT,OAAA,YAAY,IAAZ;AAHQ;AADU;AAAA,CAOlC;AAAgB,IAAAU,iBAAA,GAAmB,CAAnB;AACJ,MAAAC,KAAA,GAAaZ,kBAAA,CAAA,CAAb;AACK,QAAT,QAAAa,SAAA,MAAA,WAAA,UAAA,YAAS;AAAM;AACP,MAAAC,SAAA,GAAiBd,kBAAA,CAAA,CAAjB;AACA,MAAAe,gBAAA,GAA0B,CAARC,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAA1B;AACJF,SAAA,YAA8B,CAAhBC,gBAAgB,CAAA,CAAA,CAAEJ,iBAAF,CAA9B,CACZ;AAAYA,iBAAA,GAAmBI,gBAC/B;AAA8B,GAAA,CAAfC,QAAQ,OAAO,GAAE,CAAF,CAAA;AACV,MAAAC,UAAA,GAAoB,CAARD,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAApB;AACJF,SAAA,YAAwB,CAAVG,UAAU,CAAA,CAAA,CAAEd,WAAF,CAAxB,CAChB;AAAgBA,WAAA,GAAac,UAC7B;AAAoB,MAAAC,QAAA,GAAkB,CAARF,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAAlB;AACJF,SAAA,YAAsB,CAARI,QAAQ,CAAA,CAAA,CAAEd,SAAF,CAAtB,CAChB;AAAgBA,SAAA,GAAWc,QAC3B;AAAoB,MAAAC,UAAA,GAAoB,CAARH,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAApB;AACJF,SAAA,YAAwB,CAAVK,UAAU,CAAA,CAAA,CAAEd,WAAF,CAAxB,CAChB;AAAgBA,WAAA,GAAac,UAC7B;AAAkC,GAAA,CAAfH,QAAQ,OAAO,KAAG,CAAH,CAAA;AACV,MAAAI,QAAA,GAAkB,CAARJ,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAAlB;AACJF,SAAA,YAAsB,CAARM,QAAQ,CAAA,CAAA,CAAEd,SAAF,CAAtB,CACpB;AAAoBA,SAAA,GAAWc;AAHf;AAVJ,CAgBZ;AAAYR,KAAA,YAAmBL,yBAAA,CAATO,SAAS,CAAnB;AArBK,CAuBjB;AAAQf,MAAA,YAAgBQ,yBAAA,CAALK,KAAK,CAAhB,CACR;AAAgB,QAAR,QAAAS,QAAA,MAAA,WAAA,UAAA,YAAQ;AAAK;AAACpB,OAAA,YAAY,GAAZ;AAAN,CAChB;AAAQA,OAAA,YAAY,IAAZ,CACR;AAAQC,MAAA,IAAS;AApCuC,CAsCxD;AAAQ,MAAAoB,UAAA,GAAYA,gCAAA,CAAU,CAAC7B,YAAD,C,EAAe,CAACC,cAAD,C,EAA8B6B,gCAAA,CAAbzB,aAAa,C,EAAcS,yBAAA,CAANR,MAAM,CAArE,CAAZ;AACJ,OAAAyB,iBAAA,CAAYC,wBAAA,CAAPxB,O,EAuMoB,EAvMb,C,EAAQqB,UAApB;AAtDJ;;A,OAyDA,SAAAI,WAAA,CACI/B,e,EACAE,eAFJ,CAAA;AAIQ,MAAAI,OAAA,GAAeD,kBAAA,CAAA,CAAf;AAC2B,QAAhB,QAAAO,yBAAA,CAAfZ,eAAe,CAAA,WAAA,UAAA,YAAgB;AAAa;AAAO;AACrB;AAAA,aAAXa,yBAAA,CAAfX,e,EAAmBK,MAAJ;AAAW;AAAA,MAAMO,YAAN;AACV,QAAZ,QAAAA,YAAA,WAAA,UAAA,YAAY;AAAM;AACdR,OAAA,YAAYS,EAAZ;AADQ;AADU;AAAA,CAKlC;AAAQT,OAAA,YAAoBwB,wBAAA,CAARJ,Q,EAyLS,EAzLD,CAApB;AAN2B,CAQnC;AAAW,OAAAI,wBAAA,CAAPxB,O,EAAY,IAAL;AAbX;;A,OAgBA,SAAAqB,UAAA,CACIK,Q,EACAC,S,EACAC,M,EACA9B,MAJJ,CAAA;AAMI,OAAA,IAAA+B,oBAAA,CAAA,CAAA,EACI,AAAAC,OADJ,EACc,CADd,EAEI,AAAAJ,OAFJ,EAEcA,QAFd,EAGI,AAAAK,cAHJ,EAG8BC,qBAAA,CAATL,S,EAAa,CAAA,CAAAM,GAAA;AAAwB,OAAAC,0BAAA,CAArBF,yBAAA,CAAF,G,EAAM,CAAA,CAAAC,GAAA;AAAM,OAAO;AAAb,EAAJ,C,EAA0B,CAAA,CAAA;AAAM,OAAAE,kBAAA,CAAA;AAAN,EAAL;AAAxB,EAAJ,CAH9B,EAII,AAAAP,KAJJ,EAIYA,MAJZ,EAKI,AAAAQ,QALJ,EAKeC,iCAAA,CAAWvC,MAAX,CALf;AANJ;;A,OAeA,SAAAuC,WAAA,CAAWvC,MAAX,CAAA;AACQ,MAAAwC,IAAA,GAAYvC,kBAAA,CAAA,CAAZ;AACI,IAAAwC,UAAA,GAAY,IAAZ;AACF,QAAN,QAAAzC,MAAA,WAAA,UAAA,YAAM;AAAM;AACL,GAAAyC,UAAA;AACCA,UAAA,GAAY;AADb,OAED;AACED,IAAA,YAASnD,qCAAT;AADF,CAGV;AAAgB,IAAAqD,aAAA,GAAe,IAAf;AACH,QAAL,QAAA7B,KAAA,WAAA,UAAA,YAAK;AAAM;AACJ,GAAA6B,aAAA;AACCA,aAAA,GAAe;AADhB,OAED;AACEF,IAAA,YAAShD,iCAAT;AADF,CAGd;AAAoB,QAAR,QAAAyB,QAAA,WAAA,UAAA,YAAQ;AAAM;AACV0B,oCAAA,CAAcH,I,EAAKI,MAAnB;AADI;AANP;AAPH,CAkBV;AAAI,OAAAC,kCAAA,CAAgBrC,yBAAA,CAAJgC,IAAI,CAAhB;AArBJ;;A,OAwBA,SAAAK,YAAA,CAAYL,IAAZ,CAAA;AACQ,MAAAM,OAAA,GAAgB7C,mBAAA,CAAIuC,IAAI,O,EA/GF,KA+GN,CAAhB;AAEgB,GAAA,aAApB,CAAoB,UAAZA,IAAI,OAAQ;AAAA,MAAMO,EAAN;AACTC,8BAAA,CAAPF,O,EAAgBC,E,EAAoBzD,0BAAA,CAAjBF,uC,EAA0B,CAAJoD,IAAI,CAAKO,EAAL,4BAAJP,IAAI,EAAKO,EAAL,EAAT,CAA7B;AADS,CAIxB;AAAW,OAAAE,8BAAA,CAAPH,O,EAiB4B,MAjBrB;AAPX;;A,OAUA,SAAAH,cAAA,CAAcH,I,EAAiBU,MAA/B,CAAA;AACY,IAAAC,MAAA,GAAQ,CAAR;AACA,IAAAC,EAAA,GAAIF,MAAJ;AAEH,GAAA,CAAFE,EAAE,GAAE,CAAF,CAAA;AACDA,EAAA,GAAuBC,qBAAA,CAAXnE,uBAAA,CAANoE,mBAAA,CAAFF,EAAE,C,EAAc,CAAR,C,EAAiB,CAAN;AADtB,OAEH;AACEA,EAAA,GAAMlE,uBAAA,CAAFkE,E,EAAU,CAAR;AADR,CAIN;AAAI,KAAA;AACID,MAAA,GAAU,CAAFC,EAAE,GAAOnE,kCAAP,CAClB;AAAQmE,EAAA,GAAM,CAAFA,EAAE,KAAiBpE,mCAAjB,CACd;AAAa,GAAA,CAAFoE,EAAE,GAAE,CAAF,CAAA;AACDD,MAAA,GAAcE,qBAAA,CAANF,M,EAAYhE,yCAAN;AADlB,CAGR;AAAQqD,IAAA,YAASW,MAAT,CACR;AAAU,IAAA,CAAFC,EAAE,GAAE,CAAF,CAAA;AAPN;AAVJ;;A,OA1HA,eAAA3D,wBAAA,CACIC,Y,EACAC,c,EACAC,e,EACAC,gB,EACAC,e,EACAC,a,EANJ,KAAA,CAAA;AAQQ,MAAAC,MAAA,GAAcC,kBAAA,CAAA,CAAd;AACA,MAAAC,OAAA,GAAeD,kBAAA,CAAA,CAAf;AACI,IAAAE,MAAA,GAAQ,CAAR;AACA,IAAAC,WAAA,GAAa,CAAb;AACA,IAAAC,SAAA,GAAW,CAAX;AACA,IAAAC,WAAA,GAAa,CAAb;AACA,IAAAC,SAAA,GAAW,CAAX;AAC4C,QAArC,QAAAC,yBAAA,CAAfZ,eAAe,CAAA,WAAA,UAAA,YAAqC,EAAT,SAAAY,yBAAA,CAAhBX,gBAAgB,CAAA,YAAA,WAAA,aAAS;AAAa;AAAS;AAC5C;AAAA,aAAXY,yBAAA,CAAfX,e,EAAmBK,MAAJ;AAAW;AAAA,MAAMO,YAAN;AACV,QAAZ,QAAAA,YAAA,WAAA,UAAA,YAAY;AAAM;AACdV,MAAA,YAAW,CAAA,CAAX,CAChB;AAAgBE,OAAA,YAAYS,EAAZ,CAChB;AAAgBT,OAAA,YAAY,IAAZ;AAHQ;AADU;AAAA,CAOlC;AAAgB,IAAAU,iBAAA,GAAmB,CAAnB;AACJ,MAAAC,KAAA,GAAaZ,kBAAA,CAAA,CAAb;AACK,QAAT,QAAAa,SAAA,MAAA,WAAA,UAAA,YAAS;AAAM;AACP,MAAAC,SAAA,GAAiBd,kBAAA,CAAA,CAAjB;AACA,MAAAe,gBAAA,GAA0B,CAARC,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAA1B;AACJF,SAAA,YAA8B,CAAhBC,gBAAgB,CAAA,CAAA,CAAEJ,iBAAF,CAA9B,CACZ;AAAYA,iBAAA,GAAmBI,gBAC/B;AAA8B,GAAA,CAAfC,QAAQ,OAAO,GAAE,CAAF,CAAA;AACV,MAAAC,UAAA,GAAoB,CAARD,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAApB;AACJF,SAAA,YAAwB,CAAVG,UAAU,CAAA,CAAA,CAAEd,WAAF,CAAxB,CAChB;AAAgBA,WAAA,GAAac,UAC7B;AAAoB,MAAAC,QAAA,GAAkB,CAARF,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAAlB;AACJF,SAAA,YAAsB,CAARI,QAAQ,CAAA,CAAA,CAAEd,SAAF,CAAtB,CAChB;AAAgBA,SAAA,GAAWc,QAC3B;AAAoB,MAAAC,UAAA,GAAoB,CAARH,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAApB;AACJF,SAAA,YAAwB,CAAVK,UAAU,CAAA,CAAA,CAAEd,WAAF,CAAxB,CAChB;AAAgBA,WAAA,GAAac,UAC7B;AAAkC,GAAA,CAAfH,QAAQ,OAAO,KAAG,CAAH,CAAA;AACV,MAAAI,QAAA,GAAkB,CAARJ,QAAQ,CAAK,CAAL,4BAARA,QAAQ,EAAK,CAAL,EAAlB;AACJF,SAAA,YAAsB,CAARM,QAAQ,CAAA,CAAA,CAAEd,SAAF,CAAtB,CACpB;AAAoBA,SAAA,GAAWc;AAHf;AAVJ,CAgBZ;AAAYR,KAAA,YAAmBL,yBAAA,CAATO,SAAS,CAAnB;AArBK,CAuBjB;AAAQf,MAAA,YAAgBQ,yBAAA,CAALK,KAAK,CAAhB,CACR;AAAgB,QAAR,QAAAS,QAAA,MAAA,WAAA,UAAA,YAAQ;AAAK;AAACpB,OAAA,YAAY,GAAZ;AAAN,CAChB;AAAQA,OAAA,YAAY,IAAZ,CACR;AAAQC,MAAA,IAAS;AApCuC,CAsCxD;AAAQ,MAAAoB,UAAA,GAAYA,gCAAA,CAAU,CAAC7B,YAAD,C,EAAe,CAACC,cAAD,C,EAA8B6B,gCAAA,CAAbzB,aAAa,C,EAAcS,yBAAA,CAANR,MAAM,CAArE,CAAZ;AACJ,OAAAyB,iBAAA,CAAYC,wBAAA,CAAPxB,O,EAuMoB,EAvMb,C,EAAQqB,UAApB;AAtDJ;;A,OAyDA,eAAAI,YAAA,CACI/B,e,EACAE,e,EAFJ,KAAA,CAAA;AAIQ,MAAAI,OAAA,GAAeD,kBAAA,CAAA,CAAf;AAC2B,QAAhB,QAAAO,yBAAA,CAAfZ,eAAe,CAAA,WAAA,UAAA,YAAgB;AAAa;AAAO;AACrB;AAAA,aAAXa,yBAAA,CAAfX,e,EAAmBK,MAAJ;AAAW;AAAA,MAAMO,YAAN;AACV,QAAZ,QAAAA,YAAA,WAAA,UAAA,YAAY;AAAM;AACdR,OAAA,YAAYS,EAAZ;AADQ;AADU;AAAA,CAKlC;AAAQT,OAAA,YAAoBwB,wBAAA,CAARJ,Q,EAyLS,EAzLD,CAApB;AAN2B,CAQnC;AAAW,OAAAI,wBAAA,CAAPxB,O,EAAY,IAAL;AAbX;;A,OAgBA,eAAAqB,WAAA,CACIK,Q,EACAC,S,EACAC,M,EACA9B,M,EAJJ,KAAA,CAAA;AAMI,OAAA,IAAA+B,oBAAA,CAAA,CAAA,EACI,AAAAC,OADJ,EACc,CADd,EAEI,AAAAJ,OAFJ,EAEcA,QAFd,EAGI,AAAAK,cAHJ,EAG8BC,qBAAA,CAATL,S,EAAa,CAAA,CAAAM,GAAA;AAAwB,OAAAC,0BAAA,CAArBF,yBAAA,CAAF,G,EAAM,CAAA,CAAAC,GAAA;AAAM,OAAO;AAAb,EAAJ,C,EAA0B,CAAA,CAAA;AAAM,OAAAE,kBAAA,CAAA;AAAN,EAAL;AAAxB,EAAJ,CAH9B,EAII,AAAAP,KAJJ,EAIYA,MAJZ,EAKI,AAAAQ,QALJ,EAKeC,iCAAA,CAAWvC,MAAX,CALf;AANJ;;A,OAeA,eAAAuC,YAAA,CAAWvC,M,EAAX,KAAA,CAAA;AACQ,MAAAwC,IAAA,GAAYvC,kBAAA,CAAA,CAAZ;AACI,IAAAwC,UAAA,GAAY,IAAZ;AACF,QAAN,QAAAzC,MAAA,WAAA,UAAA,YAAM;AAAM;AACL,GAAAyC,UAAA;AACCA,UAAA,GAAY;AADb,OAED;AACED,IAAA,YAASnD,qCAAT;AADF,CAGV;AAAgB,IAAAqD,aAAA,GAAe,IAAf;AACH,QAAL,QAAA7B,KAAA,WAAA,UAAA,YAAK;AAAM;AACJ,GAAA6B,aAAA;AACCA,aAAA,GAAe;AADhB,OAED;AACEF,IAAA,YAAShD,iCAAT;AADF,CAGd;AAAoB,QAAR,QAAAyB,QAAA,WAAA,UAAA,YAAQ;AAAM;AACV0B,oCAAA,CAAcH,I,EAAKI,MAAnB;AADI;AANP;AAPH,CAkBV;AAAI,OAAAC,kCAAA,CAAgBrC,yBAAA,CAAJgC,IAAI,CAAhB;AArBJ;;A,OAwBA,eAAAK,aAAA,CAAYL,I,EAAZ,KAAA,CAAA;AACQ,MAAAM,OAAA,GAAgB7C,mBAAA,CAAIuC,IAAI,O,EA/GF,KA+GN,CAAhB;AAEgB,GAAA,aAApB,CAAoB,UAAZA,IAAI,OAAQ;AAAA,MAAMO,EAAN;AACTC,8BAAA,CAAPF,O,EAAgBC,E,EAAoBzD,0BAAA,CAAjBF,uC,EAA0B,CAAJoD,IAAI,CAAKO,EAAL,4BAAJP,IAAI,EAAKO,EAAL,EAAT,CAA7B;AADS,CAIxB;AAAW,OAAAE,8BAAA,CAAPH,O,EAiB4B,MAjBrB;AAPX;;A,OAUA,eAAAH,eAAA,CAAcH,I,EAAiBU,M,EAA/B,KAAA,CAAA;AACY,IAAAC,MAAA,GAAQ,CAAR;AACA,IAAAC,EAAA,GAAIF,MAAJ;AAEH,GAAA,CAAFE,EAAE,GAAE,CAAF,CAAA;AACDA,EAAA,GAAuBC,qBAAA,CAAXnE,uBAAA,CAANoE,mBAAA,CAAFF,EAAE,C,EAAc,CAAR,C,EAAiB,CAAN;AADtB,OAEH;AACEA,EAAA,GAAMlE,uBAAA,CAAFkE,E,EAAU,CAAR;AADR,CAIN;AAAI,KAAA;AACID,MAAA,GAAU,CAAFC,EAAE,GAAOnE,kCAAP,CAClB;AAAQmE,EAAA,GAAM,CAAFA,EAAE,KAAiBpE,mCAAjB,CACd;AAAa,GAAA,CAAFoE,EAAE,GAAE,CAAF,CAAA;AACDD,MAAA,GAAcE,qBAAA,CAANF,M,EAAYhE,yCAAN;AADlB,CAGR;AAAQqD,IAAA,YAASW,MAAT,CACR;AAAU,IAAA,CAAFC,EAAE,GAAE,CAAF,CAAA;AAPN;AAVJ"
|
|
83
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
1
|
import * as ff_compiler_Substitution from "../../ff/compiler/Substitution.mjs"
|
|
4
2
|
|
|
5
3
|
import * as ff_compiler_Syntax from "../../ff/compiler/Syntax.mjs"
|
|
@@ -103,8 +101,6 @@ export function Substitution(substitution_) {
|
|
|
103
101
|
return {substitution_};
|
|
104
102
|
}
|
|
105
103
|
|
|
106
|
-
|
|
107
|
-
|
|
108
104
|
export function core_(name_) {
|
|
109
105
|
return ((("ff:core/" + name_) + ".") + name_)
|
|
110
106
|
}
|
|
@@ -988,3 +984,4 @@ return ff_core_Map.Map_contains(self_.substitution_, index_, ff_core_Ordering.ff
|
|
|
988
984
|
}
|
|
989
985
|
|
|
990
986
|
|
|
987
|
+
//# sourceMappingURL=Substitution.mjs.map
|