firefly-compiler 0.5.77 → 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/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 +4 -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
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
1
|
import * as ff_compiler_Parser from "../../ff/compiler/Parser.mjs"
|
|
4
2
|
|
|
5
3
|
import * as ff_compiler_LspHook from "../../ff/compiler/LspHook.mjs"
|
|
@@ -170,7 +168,7 @@ if(ff_core_Equal.notEquals_(c_.kind_, kind_, ff_compiler_Token.ff_core_Equal_Equ
|
|
|
170
168
|
if(((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(kind_, ff_compiler_Token.LUpper())) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(c_.kind_, ff_compiler_Token.LLower()))) {
|
|
171
169
|
|
|
172
170
|
} else {
|
|
173
|
-
|
|
171
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((("Expected " + ff_compiler_Token.ff_core_Show_Show$ff_compiler_Token_TokenKind.show_(kind_)) + ", got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
174
172
|
}
|
|
175
173
|
};
|
|
176
174
|
self_.offset_ += 1;
|
|
@@ -183,14 +181,14 @@ if(ff_core_Equal.notEquals_(c_.kind_, kind_, ff_compiler_Token.ff_core_Equal_Equ
|
|
|
183
181
|
if((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && (((value_ === ")") || (value_ === "]")) || (value_ === "}")))) {
|
|
184
182
|
|
|
185
183
|
} else {
|
|
186
|
-
|
|
184
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((((("Expected " + ff_compiler_Token.ff_core_Show_Show$ff_compiler_Token_TokenKind.show_(kind_)) + " ") + value_) + ", got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
187
185
|
}
|
|
188
186
|
};
|
|
189
187
|
if((!ff_compiler_Token.Token_rawIs(c_, value_))) {
|
|
190
188
|
if((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && (((value_ === ")") || (value_ === "]")) || (value_ === "}")))) {
|
|
191
189
|
self_.offset_ -= 1
|
|
192
190
|
} else {
|
|
193
|
-
|
|
191
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((("Expected " + value_) + " got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
194
192
|
}
|
|
195
193
|
};
|
|
196
194
|
self_.offset_ += 1;
|
|
@@ -221,7 +219,7 @@ const moduleWithPackageInfo_ = ff_compiler_Parser.Parser_parseModuleWithPackageI
|
|
|
221
219
|
const if_o = moduleWithPackageInfo_.packageInfo_
|
|
222
220
|
if(if_o.Some) {
|
|
223
221
|
const info_ = if_o.value_;
|
|
224
|
-
|
|
222
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(info_.package_.at_, "Package and dependencies already declared in package.ff"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
225
223
|
}
|
|
226
224
|
};
|
|
227
225
|
return moduleWithPackageInfo_.module_
|
|
@@ -247,7 +245,7 @@ return p_
|
|
|
247
245
|
})()
|
|
248
246
|
: ff_compiler_Syntax.DPackage(location_, self_.moduleKey_.packagePair_, ff_compiler_Syntax.Version(location_, 0, 0, 0), ff_compiler_Syntax.TargetNames(self_.targetIsNode_, (!self_.targetIsNode_))));
|
|
249
247
|
if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "package"))) {
|
|
250
|
-
|
|
248
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Duplicate package definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
251
249
|
};
|
|
252
250
|
const dependencies_ = ff_core_Array.new_();
|
|
253
251
|
while((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "dependency"))) {
|
|
@@ -295,11 +293,11 @@ ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LLower())
|
|
|
295
293
|
imports_.array.push(ff_compiler_Parser.Parser_parseImportDefinition(self_, self_.moduleKey_.packagePair_))
|
|
296
294
|
}
|
|
297
295
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "include"))) {
|
|
298
|
-
|
|
296
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Includes must be at the top of the file or below 'package'"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
299
297
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "dependency"))) {
|
|
300
|
-
|
|
298
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Dependencies must be at the top of the file or below 'package'"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
301
299
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "package"))) {
|
|
302
|
-
|
|
300
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Package definition must be at the top of the file"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
303
301
|
} else {
|
|
304
302
|
ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LEnd())
|
|
305
303
|
};
|
|
@@ -543,7 +541,7 @@ const variantFields_ = ((!ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parse
|
|
|
543
541
|
if(((!allowMutable_) && ff_core_List.List_any(variantFields_, ((_w1) => {
|
|
544
542
|
return _w1.mutable_
|
|
545
543
|
})))) {
|
|
546
|
-
|
|
544
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_core_Option.Option_grab(ff_core_List.List_find(variantFields_, ((_w1) => {
|
|
547
545
|
return _w1.mutable_
|
|
548
546
|
}))).at_, "Only classes can have mutable fields"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
549
547
|
};
|
|
@@ -560,12 +558,12 @@ return ff_core_Array.Array_toList(variantsBuilder_, 0, 9007199254740991)
|
|
|
560
558
|
})());
|
|
561
559
|
if((newtype_ && (commonFields_.length !== 1))) {
|
|
562
560
|
ff_core_Log.show_(commonFields_, ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Parameter));
|
|
563
|
-
|
|
561
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(nameToken_), "Newtypes must have exactly one field"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
564
562
|
};
|
|
565
563
|
if(((!allowMutable_) && ff_core_List.List_any(commonFields_, ((_w1) => {
|
|
566
564
|
return _w1.mutable_
|
|
567
565
|
})))) {
|
|
568
|
-
|
|
566
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_core_Option.Option_grab(ff_core_List.List_find(commonFields_, ((_w1) => {
|
|
569
567
|
return _w1.mutable_
|
|
570
568
|
}))).at_, "Only classes and capabilities can have mutable fields"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
571
569
|
};
|
|
@@ -642,8 +640,7 @@ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(sel
|
|
|
642
640
|
do {
|
|
643
641
|
const _1 = ff_compiler_Token.Token_raw(token_);
|
|
644
642
|
if(_1 === "node" && targets_.node_) {
|
|
645
|
-
|
|
646
|
-
break
|
|
643
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
647
644
|
}
|
|
648
645
|
if(_1 === "node") {
|
|
649
646
|
targets_ = (((_c) => {
|
|
@@ -652,8 +649,7 @@ return ff_compiler_Syntax.TargetNames(true, _c.browser_)
|
|
|
652
649
|
break
|
|
653
650
|
}
|
|
654
651
|
if(_1 === "browser" && targets_.browser_) {
|
|
655
|
-
|
|
656
|
-
break
|
|
652
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
657
653
|
}
|
|
658
654
|
if(_1 === "browser") {
|
|
659
655
|
targets_ = (((_c) => {
|
|
@@ -663,7 +659,7 @@ break
|
|
|
663
659
|
}
|
|
664
660
|
{
|
|
665
661
|
const t_ = _1;
|
|
666
|
-
|
|
662
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), ("Unexpected target: " + t_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
667
663
|
}
|
|
668
664
|
} while(false)
|
|
669
665
|
};
|
|
@@ -710,14 +706,14 @@ part_ = ((part_ + "-") + readPart_())
|
|
|
710
706
|
if(ff_core_String.String_any(part_, ((_w1) => {
|
|
711
707
|
return ff_core_Char.Char_isAsciiUpper(_w1)
|
|
712
708
|
}))) {
|
|
713
|
-
|
|
709
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(at_, ("Package names and paths must not contain upper case letters: " + part_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
714
710
|
};
|
|
715
711
|
if((ff_core_String.String_any(part_, ((_w1) => {
|
|
716
712
|
return (_w1 === 95)
|
|
717
713
|
})) || ff_core_String.String_any(part_, ((_w1) => {
|
|
718
714
|
return (_w1 === 46)
|
|
719
715
|
})))) {
|
|
720
|
-
|
|
716
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(at_, ("Package names and paths must not contain underscores or dots: " + part_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
721
717
|
};
|
|
722
718
|
return part_
|
|
723
719
|
}
|
|
@@ -1134,7 +1130,7 @@ const e_ = _1;
|
|
|
1134
1130
|
return ff_compiler_Syntax.EAssignField(e_.at_, operator_, e_.record_, e_.field_, value_)
|
|
1135
1131
|
}
|
|
1136
1132
|
{
|
|
1137
|
-
|
|
1133
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Only variables and fields are assignable"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1138
1134
|
}
|
|
1139
1135
|
}
|
|
1140
1136
|
}
|
|
@@ -1354,7 +1350,7 @@ let result_ = ff_compiler_Syntax.ECall(record_.at_, objectTarget_, effect_, [],
|
|
|
1354
1350
|
for(let for_a = arguments_.first_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
1355
1351
|
const argument_ = for_a[for_i];
|
|
1356
1352
|
if(ff_core_Option.Option_isEmpty(argument_.name_)) {
|
|
1357
|
-
|
|
1353
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(argument_.at_, "Expected a named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1358
1354
|
};
|
|
1359
1355
|
const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, result_, "with"), false);
|
|
1360
1356
|
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, (("\"" + ff_core_Option.Option_grab(argument_.name_)) + "\""))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
@@ -1363,7 +1359,7 @@ return result_
|
|
|
1363
1359
|
}
|
|
1364
1360
|
{
|
|
1365
1361
|
const i_ = _1.value_;
|
|
1366
|
-
|
|
1362
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError((arguments_.first_[i_] ?? ff_core_List.List_grab(arguments_.first_, i_)).at_, "Unexpected named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1367
1363
|
}
|
|
1368
1364
|
}
|
|
1369
1365
|
} else if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{")) {
|
|
@@ -1389,7 +1385,7 @@ return (!ff_core_Option.Option_isEmpty(_w1.name_))
|
|
|
1389
1385
|
}))
|
|
1390
1386
|
if(if_o.Some) {
|
|
1391
1387
|
const argument_ = if_o.value_;
|
|
1392
|
-
|
|
1388
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(argument_.at_, "Unexpected named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1393
1389
|
}
|
|
1394
1390
|
};
|
|
1395
1391
|
const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, record_.at_);
|
|
@@ -1473,7 +1469,7 @@ return result_
|
|
|
1473
1469
|
const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LWildcard());
|
|
1474
1470
|
return ff_compiler_Syntax.EWildcard(ff_compiler_Token.Token_at(token_), 0)
|
|
1475
1471
|
} else {
|
|
1476
|
-
|
|
1472
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), ("Expected atom, got " + ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_current(self_)))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1477
1473
|
}
|
|
1478
1474
|
}
|
|
1479
1475
|
|
|
@@ -1596,7 +1592,7 @@ return p_
|
|
|
1596
1592
|
}
|
|
1597
1593
|
{
|
|
1598
1594
|
const p_ = items_a[0].first_;
|
|
1599
|
-
|
|
1595
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(p_.at_, "Invalid pattern: ... is only allowed for the last element in a list"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1600
1596
|
}
|
|
1601
1597
|
}
|
|
1602
1598
|
const items_ = ff_core_Array.new_();
|
|
@@ -1681,7 +1677,7 @@ if(ff_core_Equal.notEquals_(c_.kind_, kind_, ff_compiler_Token.ff_core_Equal_Equ
|
|
|
1681
1677
|
if(((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(kind_, ff_compiler_Token.LUpper())) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(c_.kind_, ff_compiler_Token.LLower()))) {
|
|
1682
1678
|
|
|
1683
1679
|
} else {
|
|
1684
|
-
|
|
1680
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((("Expected " + ff_compiler_Token.ff_core_Show_Show$ff_compiler_Token_TokenKind.show_(kind_)) + ", got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1685
1681
|
}
|
|
1686
1682
|
};
|
|
1687
1683
|
self_.offset_ += 1;
|
|
@@ -1694,14 +1690,14 @@ if(ff_core_Equal.notEquals_(c_.kind_, kind_, ff_compiler_Token.ff_core_Equal_Equ
|
|
|
1694
1690
|
if((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && (((value_ === ")") || (value_ === "]")) || (value_ === "}")))) {
|
|
1695
1691
|
|
|
1696
1692
|
} else {
|
|
1697
|
-
|
|
1693
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((((("Expected " + ff_compiler_Token.ff_core_Show_Show$ff_compiler_Token_TokenKind.show_(kind_)) + " ") + value_) + ", got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1698
1694
|
}
|
|
1699
1695
|
};
|
|
1700
1696
|
if((!ff_compiler_Token.Token_rawIs(c_, value_))) {
|
|
1701
1697
|
if((ff_compiler_LspHook.LspHook_isEnabled(self_.lspHook_) && (((value_ === ")") || (value_ === "]")) || (value_ === "}")))) {
|
|
1702
1698
|
self_.offset_ -= 1
|
|
1703
1699
|
} else {
|
|
1704
|
-
|
|
1700
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(c_), ((("Expected " + value_) + " got ") + ff_compiler_Token.Token_raw(c_))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1705
1701
|
}
|
|
1706
1702
|
};
|
|
1707
1703
|
self_.offset_ += 1;
|
|
@@ -1732,7 +1728,7 @@ const moduleWithPackageInfo_ = ff_compiler_Parser.Parser_parseModuleWithPackageI
|
|
|
1732
1728
|
const if_o = moduleWithPackageInfo_.packageInfo_
|
|
1733
1729
|
if(if_o.Some) {
|
|
1734
1730
|
const info_ = if_o.value_;
|
|
1735
|
-
|
|
1731
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(info_.package_.at_, "Package and dependencies already declared in package.ff"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1736
1732
|
}
|
|
1737
1733
|
};
|
|
1738
1734
|
return moduleWithPackageInfo_.module_
|
|
@@ -1758,7 +1754,7 @@ return p_
|
|
|
1758
1754
|
})())
|
|
1759
1755
|
: ff_compiler_Syntax.DPackage(location_, self_.moduleKey_.packagePair_, ff_compiler_Syntax.Version(location_, 0, 0, 0), ff_compiler_Syntax.TargetNames(self_.targetIsNode_, (!self_.targetIsNode_))));
|
|
1760
1756
|
if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "package"))) {
|
|
1761
|
-
|
|
1757
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Duplicate package definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1762
1758
|
};
|
|
1763
1759
|
const dependencies_ = ff_core_Array.new_();
|
|
1764
1760
|
while((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "dependency"))) {
|
|
@@ -1806,11 +1802,11 @@ ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LLower())
|
|
|
1806
1802
|
imports_.array.push(ff_compiler_Parser.Parser_parseImportDefinition(self_, self_.moduleKey_.packagePair_))
|
|
1807
1803
|
}
|
|
1808
1804
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "include"))) {
|
|
1809
|
-
|
|
1805
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Includes must be at the top of the file or below 'package'"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1810
1806
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "dependency"))) {
|
|
1811
|
-
|
|
1807
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Dependencies must be at the top of the file or below 'package'"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1812
1808
|
} else if((ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LKeyword()) && ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "package"))) {
|
|
1813
|
-
|
|
1809
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), "Package definition must be at the top of the file"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
1814
1810
|
} else {
|
|
1815
1811
|
ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LEnd())
|
|
1816
1812
|
};
|
|
@@ -2054,7 +2050,7 @@ const variantFields_ = ((!ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parse
|
|
|
2054
2050
|
if(((!allowMutable_) && ff_core_List.List_any(variantFields_, ((_w1) => {
|
|
2055
2051
|
return _w1.mutable_
|
|
2056
2052
|
})))) {
|
|
2057
|
-
|
|
2053
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_core_Option.Option_grab(ff_core_List.List_find(variantFields_, ((_w1) => {
|
|
2058
2054
|
return _w1.mutable_
|
|
2059
2055
|
}))).at_, "Only classes can have mutable fields"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2060
2056
|
};
|
|
@@ -2071,12 +2067,12 @@ return ff_core_Array.Array_toList(variantsBuilder_, 0, 9007199254740991)
|
|
|
2071
2067
|
})()));
|
|
2072
2068
|
if((newtype_ && (commonFields_.length !== 1))) {
|
|
2073
2069
|
ff_core_Log.show_(commonFields_, ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Parameter));
|
|
2074
|
-
|
|
2070
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(nameToken_), "Newtypes must have exactly one field"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2075
2071
|
};
|
|
2076
2072
|
if(((!allowMutable_) && ff_core_List.List_any(commonFields_, ((_w1) => {
|
|
2077
2073
|
return _w1.mutable_
|
|
2078
2074
|
})))) {
|
|
2079
|
-
|
|
2075
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_core_Option.Option_grab(ff_core_List.List_find(commonFields_, ((_w1) => {
|
|
2080
2076
|
return _w1.mutable_
|
|
2081
2077
|
}))).at_, "Only classes and capabilities can have mutable fields"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2082
2078
|
};
|
|
@@ -2153,8 +2149,7 @@ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(sel
|
|
|
2153
2149
|
do {
|
|
2154
2150
|
const _1 = ff_compiler_Token.Token_raw(token_);
|
|
2155
2151
|
if(_1 === "node" && targets_.node_) {
|
|
2156
|
-
|
|
2157
|
-
break
|
|
2152
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2158
2153
|
}
|
|
2159
2154
|
if(_1 === "node") {
|
|
2160
2155
|
targets_ = (((_c) => {
|
|
@@ -2163,8 +2158,7 @@ return ff_compiler_Syntax.TargetNames(true, _c.browser_)
|
|
|
2163
2158
|
break
|
|
2164
2159
|
}
|
|
2165
2160
|
if(_1 === "browser" && targets_.browser_) {
|
|
2166
|
-
|
|
2167
|
-
break
|
|
2161
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2168
2162
|
}
|
|
2169
2163
|
if(_1 === "browser") {
|
|
2170
2164
|
targets_ = (((_c) => {
|
|
@@ -2174,7 +2168,7 @@ break
|
|
|
2174
2168
|
}
|
|
2175
2169
|
{
|
|
2176
2170
|
const t_ = _1;
|
|
2177
|
-
|
|
2171
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), ("Unexpected target: " + t_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2178
2172
|
}
|
|
2179
2173
|
} while(false)
|
|
2180
2174
|
};
|
|
@@ -2221,14 +2215,14 @@ part_ = ((part_ + "-") + readPart_())
|
|
|
2221
2215
|
if(ff_core_String.String_any(part_, ((_w1) => {
|
|
2222
2216
|
return ff_core_Char.Char_isAsciiUpper(_w1)
|
|
2223
2217
|
}))) {
|
|
2224
|
-
|
|
2218
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(at_, ("Package names and paths must not contain upper case letters: " + part_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2225
2219
|
};
|
|
2226
2220
|
if((ff_core_String.String_any(part_, ((_w1) => {
|
|
2227
2221
|
return (_w1 === 95)
|
|
2228
2222
|
})) || ff_core_String.String_any(part_, ((_w1) => {
|
|
2229
2223
|
return (_w1 === 46)
|
|
2230
2224
|
})))) {
|
|
2231
|
-
|
|
2225
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(at_, ("Package names and paths must not contain underscores or dots: " + part_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2232
2226
|
};
|
|
2233
2227
|
return part_
|
|
2234
2228
|
}
|
|
@@ -2645,7 +2639,7 @@ const e_ = _1;
|
|
|
2645
2639
|
return ff_compiler_Syntax.EAssignField(e_.at_, operator_, e_.record_, e_.field_, value_)
|
|
2646
2640
|
}
|
|
2647
2641
|
{
|
|
2648
|
-
|
|
2642
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Only variables and fields are assignable"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2649
2643
|
}
|
|
2650
2644
|
}
|
|
2651
2645
|
}
|
|
@@ -2865,7 +2859,7 @@ let result_ = ff_compiler_Syntax.ECall(record_.at_, objectTarget_, effect_, [],
|
|
|
2865
2859
|
for(let for_a = arguments_.first_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
2866
2860
|
const argument_ = for_a[for_i];
|
|
2867
2861
|
if(ff_core_Option.Option_isEmpty(argument_.name_)) {
|
|
2868
|
-
|
|
2862
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(argument_.at_, "Expected a named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2869
2863
|
};
|
|
2870
2864
|
const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, result_, "with"), false);
|
|
2871
2865
|
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, (("\"" + ff_core_Option.Option_grab(argument_.name_)) + "\""))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
@@ -2874,7 +2868,7 @@ return result_
|
|
|
2874
2868
|
}
|
|
2875
2869
|
{
|
|
2876
2870
|
const i_ = _1.value_;
|
|
2877
|
-
|
|
2871
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError((arguments_.first_[i_] ?? ff_core_List.List_grab(arguments_.first_, i_)).at_, "Unexpected named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2878
2872
|
}
|
|
2879
2873
|
}
|
|
2880
2874
|
} else if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{")) {
|
|
@@ -2900,7 +2894,7 @@ return (!ff_core_Option.Option_isEmpty(_w1.name_))
|
|
|
2900
2894
|
}))
|
|
2901
2895
|
if(if_o.Some) {
|
|
2902
2896
|
const argument_ = if_o.value_;
|
|
2903
|
-
|
|
2897
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(argument_.at_, "Unexpected named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2904
2898
|
}
|
|
2905
2899
|
};
|
|
2906
2900
|
const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, record_.at_);
|
|
@@ -2984,7 +2978,7 @@ return result_
|
|
|
2984
2978
|
const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LWildcard());
|
|
2985
2979
|
return ff_compiler_Syntax.EWildcard(ff_compiler_Token.Token_at(token_), 0)
|
|
2986
2980
|
} else {
|
|
2987
|
-
|
|
2981
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_)), ("Expected atom, got " + ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_current(self_)))), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
2988
2982
|
}
|
|
2989
2983
|
}
|
|
2990
2984
|
|
|
@@ -3107,7 +3101,7 @@ return p_
|
|
|
3107
3101
|
}
|
|
3108
3102
|
{
|
|
3109
3103
|
const p_ = items_a[0].first_;
|
|
3110
|
-
|
|
3104
|
+
throw ff_core_Js.initializeError_(new Error(), ff_compiler_Syntax.CompileError(p_.at_, "Invalid pattern: ... is only allowed for the last element in a list"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
3111
3105
|
}
|
|
3112
3106
|
}
|
|
3113
3107
|
const items_ = ff_core_Array.new_();
|
|
@@ -3152,7 +3146,7 @@ return ff_core_Any.internalAnyTag_((("ff:compiler/Parser.Poly" + "[") + "]"))
|
|
|
3152
3146
|
},
|
|
3153
3147
|
async anyTag_$($task) {
|
|
3154
3148
|
return ff_core_Any.internalAnyTag_((("ff:compiler/Parser.Poly" + "[") + "]"))
|
|
3155
|
-
}
|
|
3149
|
+
},
|
|
3156
3150
|
};
|
|
3157
3151
|
|
|
3158
3152
|
export const ff_core_Show_Show$ff_compiler_Parser_Poly = {
|
|
@@ -3169,7 +3163,7 @@ const value_a = value_;
|
|
|
3169
3163
|
const z_ = value_a;
|
|
3170
3164
|
return ((((("Poly" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.generics_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Constraint).show_(z_.constraints_)) + ")")
|
|
3171
3165
|
}
|
|
3172
|
-
}
|
|
3166
|
+
},
|
|
3173
3167
|
};
|
|
3174
3168
|
|
|
3175
3169
|
export const ff_core_Equal_Equal$ff_compiler_Parser_Poly = {
|
|
@@ -3192,7 +3186,7 @@ return true
|
|
|
3192
3186
|
{
|
|
3193
3187
|
return (ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.generics_, y_.generics_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Constraint).equals_(x_.constraints_, y_.constraints_))
|
|
3194
3188
|
}
|
|
3195
|
-
}
|
|
3189
|
+
},
|
|
3196
3190
|
};
|
|
3197
3191
|
|
|
3198
3192
|
export const ff_core_Ordering_Order$ff_compiler_Parser_Poly = {
|
|
@@ -3237,7 +3231,7 @@ return ff_core_Ordering.OrderingSame()
|
|
|
3237
3231
|
}
|
|
3238
3232
|
return
|
|
3239
3233
|
}
|
|
3240
|
-
}
|
|
3234
|
+
},
|
|
3241
3235
|
};
|
|
3242
3236
|
|
|
3243
3237
|
export const ff_core_Serializable_Serializable$ff_compiler_Parser_Poly = {
|
|
@@ -3265,7 +3259,7 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
3265
3259
|
return ff_compiler_Parser.Poly(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).deserializeUsing_(serialization_))
|
|
3266
3260
|
}
|
|
3267
3261
|
{
|
|
3268
|
-
|
|
3262
|
+
throw ff_core_Js.initializeError_(new Error(), ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
3269
3263
|
}
|
|
3270
3264
|
}
|
|
3271
3265
|
},
|
|
@@ -3293,8 +3287,11 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
3293
3287
|
return ff_compiler_Parser.Poly(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).deserializeUsing_(serialization_))
|
|
3294
3288
|
}
|
|
3295
3289
|
{
|
|
3296
|
-
|
|
3297
|
-
}
|
|
3290
|
+
throw ff_core_Js.initializeError_(new Error(), ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
3298
3291
|
}
|
|
3299
3292
|
}
|
|
3293
|
+
},
|
|
3300
3294
|
};
|
|
3295
|
+
|
|
3296
|
+
|
|
3297
|
+
//# sourceMappingURL=Parser.mjs.map
|