firefly-compiler 0.4.17 → 0.4.19
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/compiler/Builder.ff +1 -1
- package/compiler/Compiler.ff +6 -5
- package/compiler/Inference.ff +31 -19
- package/compiler/JsEmitter.ff +98 -71
- package/compiler/JsImporter.ff +1 -1
- package/compiler/LspHook.ff +4 -4
- package/compiler/Main.ff +6 -6
- package/compiler/Parser.ff +39 -39
- package/compiler/Patterns.ff +2 -0
- package/compiler/Syntax.ff +1 -1
- package/compiler/Tokenizer.ff +2 -2
- package/compiler/Workspace.ff +2 -2
- package/core/Array.ff +135 -294
- package/core/Buffer.ff +3 -3
- package/core/BuildSystem.ff +1 -1
- package/core/Equal.ff +36 -52
- package/core/HttpClient.ff +1 -1
- package/core/IntMap.ff +14 -18
- package/core/JsSystem.ff +1 -1
- package/core/JsValue.ff +6 -12
- package/core/Json.ff +19 -28
- package/core/List.ff +281 -312
- package/core/Map.ff +4 -8
- package/core/NodeSystem.ff +2 -2
- package/core/Option.ff +0 -4
- package/core/Ordering.ff +10 -6
- package/core/Pair.ff +0 -4
- package/core/Random.ff +12 -26
- package/core/RbMap.ff +216 -216
- package/core/Serializable.ff +9 -18
- package/core/Set.ff +0 -1
- package/core/SourceLocation.ff +1 -1
- package/core/Stack.ff +32 -45
- package/core/Stream.ff +10 -14
- package/core/String.ff +24 -6
- package/core/StringMap.ff +15 -19
- package/guide/Main.ff +20 -2
- package/lsp/CompletionHandler.ff +4 -4
- package/lsp/Handler.ff +45 -34
- package/lsp/HoverHandler.ff +2 -2
- package/lsp/LanguageServer.ff +2 -2
- package/lsp/SignatureHelpHandler.ff +1 -1
- package/lsp/SymbolHandler.ff +1 -1
- package/lux/Lux.ff +3 -3
- package/output/js/ff/compiler/Builder.mjs +19 -21
- package/output/js/ff/compiler/Compiler.mjs +18 -20
- package/output/js/ff/compiler/Dependencies.mjs +8 -10
- package/output/js/ff/compiler/Deriver.mjs +234 -236
- package/output/js/ff/compiler/Dictionaries.mjs +6 -8
- package/output/js/ff/compiler/Environment.mjs +42 -44
- package/output/js/ff/compiler/Inference.mjs +346 -304
- package/output/js/ff/compiler/JsEmitter.mjs +907 -833
- package/output/js/ff/compiler/JsImporter.mjs +0 -2
- package/output/js/ff/compiler/LspHook.mjs +10 -12
- package/output/js/ff/compiler/Main.mjs +109 -111
- package/output/js/ff/compiler/Parser.mjs +405 -407
- package/output/js/ff/compiler/Patterns.mjs +64 -50
- package/output/js/ff/compiler/Resolver.mjs +36 -38
- package/output/js/ff/compiler/Substitution.mjs +4 -6
- package/output/js/ff/compiler/Syntax.mjs +160 -162
- package/output/js/ff/compiler/Token.mjs +52 -54
- package/output/js/ff/compiler/Tokenizer.mjs +16 -18
- package/output/js/ff/compiler/Unification.mjs +24 -26
- package/output/js/ff/compiler/Wildcards.mjs +0 -2
- package/output/js/ff/compiler/Workspace.mjs +18 -20
- package/output/js/ff/core/Any.mjs +0 -2
- package/output/js/ff/core/Array.mjs +216 -613
- package/output/js/ff/core/AssetSystem.mjs +2 -4
- package/output/js/ff/core/Atomic.mjs +0 -2
- package/output/js/ff/core/Bool.mjs +0 -2
- package/output/js/ff/core/Box.mjs +0 -2
- package/output/js/ff/core/BrowserSystem.mjs +0 -2
- package/output/js/ff/core/Buffer.mjs +0 -2
- package/output/js/ff/core/BuildSystem.mjs +12 -14
- package/output/js/ff/core/Channel.mjs +0 -2
- package/output/js/ff/core/Char.mjs +0 -2
- package/output/js/ff/core/Core.mjs +0 -2
- package/output/js/ff/core/Duration.mjs +0 -2
- package/output/js/ff/core/Equal.mjs +0 -22
- package/output/js/ff/core/Error.mjs +0 -2
- package/output/js/ff/core/FileHandle.mjs +0 -2
- package/output/js/ff/core/Float.mjs +0 -2
- package/output/js/ff/core/HttpClient.mjs +2 -4
- package/output/js/ff/core/Instant.mjs +0 -2
- package/output/js/ff/core/Int.mjs +8 -10
- package/output/js/ff/core/IntMap.mjs +32 -42
- package/output/js/ff/core/JsSystem.mjs +1 -3
- package/output/js/ff/core/JsValue.mjs +5 -12
- package/output/js/ff/core/Json.mjs +23 -56
- package/output/js/ff/core/List.mjs +648 -1989
- package/output/js/ff/core/Lock.mjs +0 -2
- package/output/js/ff/core/Log.mjs +0 -2
- package/output/js/ff/core/Map.mjs +10 -20
- package/output/js/ff/core/NodeSystem.mjs +6 -8
- package/output/js/ff/core/Nothing.mjs +0 -2
- package/output/js/ff/core/Option.mjs +8 -18
- package/output/js/ff/core/Ordering.mjs +20 -98
- package/output/js/ff/core/Pair.mjs +6 -16
- package/output/js/ff/core/Path.mjs +12 -14
- package/output/js/ff/core/Random.mjs +24 -54
- package/output/js/ff/core/RbMap.mjs +54 -56
- package/output/js/ff/core/Serializable.mjs +19 -36
- package/output/js/ff/core/Set.mjs +0 -14
- package/output/js/ff/core/Show.mjs +0 -2
- package/output/js/ff/core/SourceLocation.mjs +0 -2
- package/output/js/ff/core/Stream.mjs +34 -44
- package/output/js/ff/core/String.mjs +31 -5
- package/output/js/ff/core/StringMap.mjs +32 -42
- package/output/js/ff/core/Task.mjs +0 -2
- package/output/js/ff/core/Try.mjs +0 -2
- package/output/js/ff/core/Unit.mjs +0 -2
- package/package.json +1 -1
- package/vscode/package.json +1 -1
- package/webserver/WebServer.ff +8 -8
- package/output/js/ff/core/Stack.mjs +0 -603
|
@@ -82,8 +82,6 @@ import * as ff_core_Show from "../../ff/core/Show.mjs"
|
|
|
82
82
|
|
|
83
83
|
import * as ff_core_SourceLocation from "../../ff/core/SourceLocation.mjs"
|
|
84
84
|
|
|
85
|
-
import * as ff_core_Stack from "../../ff/core/Stack.mjs"
|
|
86
|
-
|
|
87
85
|
import * as ff_core_Stream from "../../ff/core/Stream.mjs"
|
|
88
86
|
|
|
89
87
|
import * as ff_core_String from "../../ff/core/String.mjs"
|
|
@@ -2207,7 +2205,7 @@ serialization_.offset_ += 1;
|
|
|
2207
2205
|
{
|
|
2208
2206
|
const _1 = variantIndex_;
|
|
2209
2207
|
{
|
|
2210
|
-
if(_1
|
|
2208
|
+
if(_1 === 0) {
|
|
2211
2209
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
2212
2210
|
return ff_compiler_Token.Token(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Token.ff_core_Serializable_Serializable$ff_compiler_Token_TokenKind.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_))
|
|
2213
2211
|
return
|
|
@@ -2248,7 +2246,7 @@ serialization_.offset_ += 1;
|
|
|
2248
2246
|
{
|
|
2249
2247
|
const _1 = variantIndex_;
|
|
2250
2248
|
{
|
|
2251
|
-
if(_1
|
|
2249
|
+
if(_1 === 0) {
|
|
2252
2250
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
2253
2251
|
return ff_compiler_Token.Token(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Token.ff_core_Serializable_Serializable$ff_compiler_Token_TokenKind.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Int_Int.deserializeUsing_(serialization_))
|
|
2254
2252
|
return
|
|
@@ -2525,175 +2523,175 @@ serialization_.offset_ += 1;
|
|
|
2525
2523
|
{
|
|
2526
2524
|
const _1 = variantIndex_;
|
|
2527
2525
|
{
|
|
2528
|
-
if(_1
|
|
2526
|
+
if(_1 === 0) {
|
|
2529
2527
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
2530
2528
|
return ff_compiler_Token.LEnd()
|
|
2531
2529
|
return
|
|
2532
2530
|
}
|
|
2533
2531
|
}
|
|
2534
2532
|
{
|
|
2535
|
-
if(_1
|
|
2533
|
+
if(_1 === 1) {
|
|
2536
2534
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
|
|
2537
2535
|
return ff_compiler_Token.LString()
|
|
2538
2536
|
return
|
|
2539
2537
|
}
|
|
2540
2538
|
}
|
|
2541
2539
|
{
|
|
2542
|
-
if(_1
|
|
2540
|
+
if(_1 === 2) {
|
|
2543
2541
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
2544
2542
|
return ff_compiler_Token.LChar()
|
|
2545
2543
|
return
|
|
2546
2544
|
}
|
|
2547
2545
|
}
|
|
2548
2546
|
{
|
|
2549
|
-
if(_1
|
|
2547
|
+
if(_1 === 3) {
|
|
2550
2548
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
2551
2549
|
return ff_compiler_Token.LInt()
|
|
2552
2550
|
return
|
|
2553
2551
|
}
|
|
2554
2552
|
}
|
|
2555
2553
|
{
|
|
2556
|
-
if(_1
|
|
2554
|
+
if(_1 === 4) {
|
|
2557
2555
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
2558
2556
|
return ff_compiler_Token.LFloat()
|
|
2559
2557
|
return
|
|
2560
2558
|
}
|
|
2561
2559
|
}
|
|
2562
2560
|
{
|
|
2563
|
-
if(_1
|
|
2561
|
+
if(_1 === 5) {
|
|
2564
2562
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
|
|
2565
2563
|
return ff_compiler_Token.LKeyword()
|
|
2566
2564
|
return
|
|
2567
2565
|
}
|
|
2568
2566
|
}
|
|
2569
2567
|
{
|
|
2570
|
-
if(_1
|
|
2568
|
+
if(_1 === 6) {
|
|
2571
2569
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
2572
2570
|
return ff_compiler_Token.LNamespace()
|
|
2573
2571
|
return
|
|
2574
2572
|
}
|
|
2575
2573
|
}
|
|
2576
2574
|
{
|
|
2577
|
-
if(_1
|
|
2575
|
+
if(_1 === 7) {
|
|
2578
2576
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
2579
2577
|
return ff_compiler_Token.LLower()
|
|
2580
2578
|
return
|
|
2581
2579
|
}
|
|
2582
2580
|
}
|
|
2583
2581
|
{
|
|
2584
|
-
if(_1
|
|
2582
|
+
if(_1 === 8) {
|
|
2585
2583
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
2586
2584
|
return ff_compiler_Token.LUpper()
|
|
2587
2585
|
return
|
|
2588
2586
|
}
|
|
2589
2587
|
}
|
|
2590
2588
|
{
|
|
2591
|
-
if(_1
|
|
2589
|
+
if(_1 === 9) {
|
|
2592
2590
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
|
|
2593
2591
|
return ff_compiler_Token.LWildcard()
|
|
2594
2592
|
return
|
|
2595
2593
|
}
|
|
2596
2594
|
}
|
|
2597
2595
|
{
|
|
2598
|
-
if(_1
|
|
2596
|
+
if(_1 === 10) {
|
|
2599
2597
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
|
|
2600
2598
|
return ff_compiler_Token.LBracketLeft()
|
|
2601
2599
|
return
|
|
2602
2600
|
}
|
|
2603
2601
|
}
|
|
2604
2602
|
{
|
|
2605
|
-
if(_1
|
|
2603
|
+
if(_1 === 11) {
|
|
2606
2604
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
2607
2605
|
return ff_compiler_Token.LBracketRight()
|
|
2608
2606
|
return
|
|
2609
2607
|
}
|
|
2610
2608
|
}
|
|
2611
2609
|
{
|
|
2612
|
-
if(_1
|
|
2610
|
+
if(_1 === 12) {
|
|
2613
2611
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
|
|
2614
2612
|
return ff_compiler_Token.LOperator()
|
|
2615
2613
|
return
|
|
2616
2614
|
}
|
|
2617
2615
|
}
|
|
2618
2616
|
{
|
|
2619
|
-
if(_1
|
|
2617
|
+
if(_1 === 13) {
|
|
2620
2618
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
2621
2619
|
return ff_compiler_Token.LComma()
|
|
2622
2620
|
return
|
|
2623
2621
|
}
|
|
2624
2622
|
}
|
|
2625
2623
|
{
|
|
2626
|
-
if(_1
|
|
2624
|
+
if(_1 === 14) {
|
|
2627
2625
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
2628
2626
|
return ff_compiler_Token.LSeparator()
|
|
2629
2627
|
return
|
|
2630
2628
|
}
|
|
2631
2629
|
}
|
|
2632
2630
|
{
|
|
2633
|
-
if(_1
|
|
2631
|
+
if(_1 === 15) {
|
|
2634
2632
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
2635
2633
|
return ff_compiler_Token.LDot()
|
|
2636
2634
|
return
|
|
2637
2635
|
}
|
|
2638
2636
|
}
|
|
2639
2637
|
{
|
|
2640
|
-
if(_1
|
|
2638
|
+
if(_1 === 16) {
|
|
2641
2639
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
2642
2640
|
return ff_compiler_Token.LSemicolon()
|
|
2643
2641
|
return
|
|
2644
2642
|
}
|
|
2645
2643
|
}
|
|
2646
2644
|
{
|
|
2647
|
-
if(_1
|
|
2645
|
+
if(_1 === 17) {
|
|
2648
2646
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
2649
2647
|
return ff_compiler_Token.LPipe()
|
|
2650
2648
|
return
|
|
2651
2649
|
}
|
|
2652
2650
|
}
|
|
2653
2651
|
{
|
|
2654
|
-
if(_1
|
|
2652
|
+
if(_1 === 18) {
|
|
2655
2653
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
2656
2654
|
return ff_compiler_Token.LColon()
|
|
2657
2655
|
return
|
|
2658
2656
|
}
|
|
2659
2657
|
}
|
|
2660
2658
|
{
|
|
2661
|
-
if(_1
|
|
2659
|
+
if(_1 === 19) {
|
|
2662
2660
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
2663
2661
|
return ff_compiler_Token.LDotDotDot()
|
|
2664
2662
|
return
|
|
2665
2663
|
}
|
|
2666
2664
|
}
|
|
2667
2665
|
{
|
|
2668
|
-
if(_1
|
|
2666
|
+
if(_1 === 20) {
|
|
2669
2667
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
2670
2668
|
return ff_compiler_Token.LArrowThick()
|
|
2671
2669
|
return
|
|
2672
2670
|
}
|
|
2673
2671
|
}
|
|
2674
2672
|
{
|
|
2675
|
-
if(_1
|
|
2673
|
+
if(_1 === 21) {
|
|
2676
2674
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
|
|
2677
2675
|
return ff_compiler_Token.LAssign()
|
|
2678
2676
|
return
|
|
2679
2677
|
}
|
|
2680
2678
|
}
|
|
2681
2679
|
{
|
|
2682
|
-
if(_1
|
|
2680
|
+
if(_1 === 22) {
|
|
2683
2681
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
2684
2682
|
return ff_compiler_Token.LAssignPlus()
|
|
2685
2683
|
return
|
|
2686
2684
|
}
|
|
2687
2685
|
}
|
|
2688
2686
|
{
|
|
2689
|
-
if(_1
|
|
2687
|
+
if(_1 === 23) {
|
|
2690
2688
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
|
|
2691
2689
|
return ff_compiler_Token.LAssignMinus()
|
|
2692
2690
|
return
|
|
2693
2691
|
}
|
|
2694
2692
|
}
|
|
2695
2693
|
{
|
|
2696
|
-
if(_1
|
|
2694
|
+
if(_1 === 24) {
|
|
2697
2695
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
2698
2696
|
return ff_compiler_Token.LAssignLink()
|
|
2699
2697
|
return
|
|
@@ -2967,175 +2965,175 @@ serialization_.offset_ += 1;
|
|
|
2967
2965
|
{
|
|
2968
2966
|
const _1 = variantIndex_;
|
|
2969
2967
|
{
|
|
2970
|
-
if(_1
|
|
2968
|
+
if(_1 === 0) {
|
|
2971
2969
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
2972
2970
|
return ff_compiler_Token.LEnd()
|
|
2973
2971
|
return
|
|
2974
2972
|
}
|
|
2975
2973
|
}
|
|
2976
2974
|
{
|
|
2977
|
-
if(_1
|
|
2975
|
+
if(_1 === 1) {
|
|
2978
2976
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
|
|
2979
2977
|
return ff_compiler_Token.LString()
|
|
2980
2978
|
return
|
|
2981
2979
|
}
|
|
2982
2980
|
}
|
|
2983
2981
|
{
|
|
2984
|
-
if(_1
|
|
2982
|
+
if(_1 === 2) {
|
|
2985
2983
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
2986
2984
|
return ff_compiler_Token.LChar()
|
|
2987
2985
|
return
|
|
2988
2986
|
}
|
|
2989
2987
|
}
|
|
2990
2988
|
{
|
|
2991
|
-
if(_1
|
|
2989
|
+
if(_1 === 3) {
|
|
2992
2990
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
2993
2991
|
return ff_compiler_Token.LInt()
|
|
2994
2992
|
return
|
|
2995
2993
|
}
|
|
2996
2994
|
}
|
|
2997
2995
|
{
|
|
2998
|
-
if(_1
|
|
2996
|
+
if(_1 === 4) {
|
|
2999
2997
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
3000
2998
|
return ff_compiler_Token.LFloat()
|
|
3001
2999
|
return
|
|
3002
3000
|
}
|
|
3003
3001
|
}
|
|
3004
3002
|
{
|
|
3005
|
-
if(_1
|
|
3003
|
+
if(_1 === 5) {
|
|
3006
3004
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
|
|
3007
3005
|
return ff_compiler_Token.LKeyword()
|
|
3008
3006
|
return
|
|
3009
3007
|
}
|
|
3010
3008
|
}
|
|
3011
3009
|
{
|
|
3012
|
-
if(_1
|
|
3010
|
+
if(_1 === 6) {
|
|
3013
3011
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
3014
3012
|
return ff_compiler_Token.LNamespace()
|
|
3015
3013
|
return
|
|
3016
3014
|
}
|
|
3017
3015
|
}
|
|
3018
3016
|
{
|
|
3019
|
-
if(_1
|
|
3017
|
+
if(_1 === 7) {
|
|
3020
3018
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
3021
3019
|
return ff_compiler_Token.LLower()
|
|
3022
3020
|
return
|
|
3023
3021
|
}
|
|
3024
3022
|
}
|
|
3025
3023
|
{
|
|
3026
|
-
if(_1
|
|
3024
|
+
if(_1 === 8) {
|
|
3027
3025
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
3028
3026
|
return ff_compiler_Token.LUpper()
|
|
3029
3027
|
return
|
|
3030
3028
|
}
|
|
3031
3029
|
}
|
|
3032
3030
|
{
|
|
3033
|
-
if(_1
|
|
3031
|
+
if(_1 === 9) {
|
|
3034
3032
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
|
|
3035
3033
|
return ff_compiler_Token.LWildcard()
|
|
3036
3034
|
return
|
|
3037
3035
|
}
|
|
3038
3036
|
}
|
|
3039
3037
|
{
|
|
3040
|
-
if(_1
|
|
3038
|
+
if(_1 === 10) {
|
|
3041
3039
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
|
|
3042
3040
|
return ff_compiler_Token.LBracketLeft()
|
|
3043
3041
|
return
|
|
3044
3042
|
}
|
|
3045
3043
|
}
|
|
3046
3044
|
{
|
|
3047
|
-
if(_1
|
|
3045
|
+
if(_1 === 11) {
|
|
3048
3046
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
3049
3047
|
return ff_compiler_Token.LBracketRight()
|
|
3050
3048
|
return
|
|
3051
3049
|
}
|
|
3052
3050
|
}
|
|
3053
3051
|
{
|
|
3054
|
-
if(_1
|
|
3052
|
+
if(_1 === 12) {
|
|
3055
3053
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
|
|
3056
3054
|
return ff_compiler_Token.LOperator()
|
|
3057
3055
|
return
|
|
3058
3056
|
}
|
|
3059
3057
|
}
|
|
3060
3058
|
{
|
|
3061
|
-
if(_1
|
|
3059
|
+
if(_1 === 13) {
|
|
3062
3060
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
3063
3061
|
return ff_compiler_Token.LComma()
|
|
3064
3062
|
return
|
|
3065
3063
|
}
|
|
3066
3064
|
}
|
|
3067
3065
|
{
|
|
3068
|
-
if(_1
|
|
3066
|
+
if(_1 === 14) {
|
|
3069
3067
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
3070
3068
|
return ff_compiler_Token.LSeparator()
|
|
3071
3069
|
return
|
|
3072
3070
|
}
|
|
3073
3071
|
}
|
|
3074
3072
|
{
|
|
3075
|
-
if(_1
|
|
3073
|
+
if(_1 === 15) {
|
|
3076
3074
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
|
|
3077
3075
|
return ff_compiler_Token.LDot()
|
|
3078
3076
|
return
|
|
3079
3077
|
}
|
|
3080
3078
|
}
|
|
3081
3079
|
{
|
|
3082
|
-
if(_1
|
|
3080
|
+
if(_1 === 16) {
|
|
3083
3081
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
3084
3082
|
return ff_compiler_Token.LSemicolon()
|
|
3085
3083
|
return
|
|
3086
3084
|
}
|
|
3087
3085
|
}
|
|
3088
3086
|
{
|
|
3089
|
-
if(_1
|
|
3087
|
+
if(_1 === 17) {
|
|
3090
3088
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
3091
3089
|
return ff_compiler_Token.LPipe()
|
|
3092
3090
|
return
|
|
3093
3091
|
}
|
|
3094
3092
|
}
|
|
3095
3093
|
{
|
|
3096
|
-
if(_1
|
|
3094
|
+
if(_1 === 18) {
|
|
3097
3095
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
|
|
3098
3096
|
return ff_compiler_Token.LColon()
|
|
3099
3097
|
return
|
|
3100
3098
|
}
|
|
3101
3099
|
}
|
|
3102
3100
|
{
|
|
3103
|
-
if(_1
|
|
3101
|
+
if(_1 === 19) {
|
|
3104
3102
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
|
|
3105
3103
|
return ff_compiler_Token.LDotDotDot()
|
|
3106
3104
|
return
|
|
3107
3105
|
}
|
|
3108
3106
|
}
|
|
3109
3107
|
{
|
|
3110
|
-
if(_1
|
|
3108
|
+
if(_1 === 20) {
|
|
3111
3109
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
3112
3110
|
return ff_compiler_Token.LArrowThick()
|
|
3113
3111
|
return
|
|
3114
3112
|
}
|
|
3115
3113
|
}
|
|
3116
3114
|
{
|
|
3117
|
-
if(_1
|
|
3115
|
+
if(_1 === 21) {
|
|
3118
3116
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
|
|
3119
3117
|
return ff_compiler_Token.LAssign()
|
|
3120
3118
|
return
|
|
3121
3119
|
}
|
|
3122
3120
|
}
|
|
3123
3121
|
{
|
|
3124
|
-
if(_1
|
|
3122
|
+
if(_1 === 22) {
|
|
3125
3123
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
3126
3124
|
return ff_compiler_Token.LAssignPlus()
|
|
3127
3125
|
return
|
|
3128
3126
|
}
|
|
3129
3127
|
}
|
|
3130
3128
|
{
|
|
3131
|
-
if(_1
|
|
3129
|
+
if(_1 === 23) {
|
|
3132
3130
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
|
|
3133
3131
|
return ff_compiler_Token.LAssignMinus()
|
|
3134
3132
|
return
|
|
3135
3133
|
}
|
|
3136
3134
|
}
|
|
3137
3135
|
{
|
|
3138
|
-
if(_1
|
|
3136
|
+
if(_1 === 24) {
|
|
3139
3137
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
3140
3138
|
return ff_compiler_Token.LAssignLink()
|
|
3141
3139
|
return
|
|
@@ -86,8 +86,6 @@ import * as ff_core_Show from "../../ff/core/Show.mjs"
|
|
|
86
86
|
|
|
87
87
|
import * as ff_core_SourceLocation from "../../ff/core/SourceLocation.mjs"
|
|
88
88
|
|
|
89
|
-
import * as ff_core_Stack from "../../ff/core/Stack.mjs"
|
|
90
|
-
|
|
91
89
|
import * as ff_core_Stream from "../../ff/core/Stream.mjs"
|
|
92
90
|
|
|
93
91
|
import * as ff_core_String from "../../ff/core/String.mjs"
|
|
@@ -119,7 +117,7 @@ return _w1.column_
|
|
|
119
117
|
})), (() => {
|
|
120
118
|
return (-1)
|
|
121
119
|
}));
|
|
122
|
-
const tokens_ =
|
|
120
|
+
const tokens_ = ff_core_Array.make_();
|
|
123
121
|
let line_ = 1;
|
|
124
122
|
let lineOffset_ = 0;
|
|
125
123
|
let startLine_ = line_;
|
|
@@ -130,13 +128,13 @@ ff_core_List.List_map(ff_core_List.range_(ff_core_String.String_size(operatorCha
|
|
|
130
128
|
operatorCharacters_ = ff_core_Set.Set_add(operatorCharacters_, ff_core_String.String_grab(operatorCharactersString_, j_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_Char_Char)
|
|
131
129
|
}));
|
|
132
130
|
function emitToken_(kind_, startOffset_, stopOffset_) {
|
|
133
|
-
if((!
|
|
134
|
-
const last_ =
|
|
131
|
+
if((!ff_core_Array.Array_isEmpty(tokens_))) {
|
|
132
|
+
const last_ = ff_core_Array.Array_grabLast(tokens_);
|
|
135
133
|
if((((last_.stopLine_ === startLine_) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(last_.kind_, ff_compiler_Token.LLower())) && ff_compiler_Token.TokenKind_afterKeyword(kind_))) {
|
|
136
134
|
if((((completionLine_ === last_.startLine_) && (completionColumn_ >= ((1 + last_.startOffset_) - last_.startLineOffset_))) && (completionColumn_ <= ((1 + last_.stopOffset_) - last_.stopLineOffset_)))) {
|
|
137
|
-
|
|
135
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, ff_compiler_Token.LSeparator(), startLine_, startLineOffset_, startLineOffset_, startLine_, startLineOffset_, startLineOffset_))
|
|
138
136
|
} else {
|
|
139
|
-
|
|
137
|
+
ff_core_Array.Array_modify(tokens_, (ff_core_Array.Array_size(tokens_) - 1), ((_w1) => {
|
|
140
138
|
{
|
|
141
139
|
const _1 = _w1;
|
|
142
140
|
{
|
|
@@ -149,10 +147,10 @@ return
|
|
|
149
147
|
}
|
|
150
148
|
};
|
|
151
149
|
if((((last_.stopLine_ !== startLine_) && ff_compiler_Token.TokenKind_beforeSeparator(last_.kind_)) && ff_compiler_Token.TokenKind_afterSeparator(kind_))) {
|
|
152
|
-
|
|
150
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, ff_compiler_Token.LSeparator(), startLine_, startLineOffset_, startLineOffset_, startLine_, startLineOffset_, startLineOffset_))
|
|
153
151
|
}
|
|
154
152
|
};
|
|
155
|
-
|
|
153
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, kind_, startLine_, startLineOffset_, startOffset_, line_, lineOffset_, stopOffset_))
|
|
156
154
|
}
|
|
157
155
|
let i_ = 0;
|
|
158
156
|
function throwError_(message_) {
|
|
@@ -344,7 +342,7 @@ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Sy
|
|
|
344
342
|
ff_core_List.List_each(ff_core_List.range_(5), ((_) => {
|
|
345
343
|
emitToken_(ff_compiler_Token.LEnd(), i_, i_)
|
|
346
344
|
}));
|
|
347
|
-
return
|
|
345
|
+
return ff_core_Array.Array_drain(tokens_)
|
|
348
346
|
}
|
|
349
347
|
|
|
350
348
|
export async function tokenize_$(file_, code_, completionAt_, attemptFixes_, $task) {
|
|
@@ -362,7 +360,7 @@ return _w1.column_
|
|
|
362
360
|
})), (() => {
|
|
363
361
|
return (-1)
|
|
364
362
|
}));
|
|
365
|
-
const tokens_ =
|
|
363
|
+
const tokens_ = ff_core_Array.make_();
|
|
366
364
|
let line_ = 1;
|
|
367
365
|
let lineOffset_ = 0;
|
|
368
366
|
let startLine_ = line_;
|
|
@@ -373,13 +371,13 @@ ff_core_List.List_map(ff_core_List.range_(ff_core_String.String_size(operatorCha
|
|
|
373
371
|
operatorCharacters_ = ff_core_Set.Set_add(operatorCharacters_, ff_core_String.String_grab(operatorCharactersString_, j_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_Char_Char)
|
|
374
372
|
}));
|
|
375
373
|
function emitToken_(kind_, startOffset_, stopOffset_) {
|
|
376
|
-
if((!
|
|
377
|
-
const last_ =
|
|
374
|
+
if((!ff_core_Array.Array_isEmpty(tokens_))) {
|
|
375
|
+
const last_ = ff_core_Array.Array_grabLast(tokens_);
|
|
378
376
|
if((((last_.stopLine_ === startLine_) && ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(last_.kind_, ff_compiler_Token.LLower())) && ff_compiler_Token.TokenKind_afterKeyword(kind_))) {
|
|
379
377
|
if((((completionLine_ === last_.startLine_) && (completionColumn_ >= ((1 + last_.startOffset_) - last_.startLineOffset_))) && (completionColumn_ <= ((1 + last_.stopOffset_) - last_.stopLineOffset_)))) {
|
|
380
|
-
|
|
378
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, ff_compiler_Token.LSeparator(), startLine_, startLineOffset_, startLineOffset_, startLine_, startLineOffset_, startLineOffset_))
|
|
381
379
|
} else {
|
|
382
|
-
|
|
380
|
+
ff_core_Array.Array_modify(tokens_, (ff_core_Array.Array_size(tokens_) - 1), ((_w1) => {
|
|
383
381
|
{
|
|
384
382
|
const _1 = _w1;
|
|
385
383
|
{
|
|
@@ -392,10 +390,10 @@ return
|
|
|
392
390
|
}
|
|
393
391
|
};
|
|
394
392
|
if((((last_.stopLine_ !== startLine_) && ff_compiler_Token.TokenKind_beforeSeparator(last_.kind_)) && ff_compiler_Token.TokenKind_afterSeparator(kind_))) {
|
|
395
|
-
|
|
393
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, ff_compiler_Token.LSeparator(), startLine_, startLineOffset_, startLineOffset_, startLine_, startLineOffset_, startLineOffset_))
|
|
396
394
|
}
|
|
397
395
|
};
|
|
398
|
-
|
|
396
|
+
ff_core_Array.Array_push(tokens_, ff_compiler_Token.Token(file_, code_, kind_, startLine_, startLineOffset_, startOffset_, line_, lineOffset_, stopOffset_))
|
|
399
397
|
}
|
|
400
398
|
let i_ = 0;
|
|
401
399
|
function throwError_(message_) {
|
|
@@ -587,7 +585,7 @@ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Sy
|
|
|
587
585
|
ff_core_List.List_each(ff_core_List.range_(5), ((_) => {
|
|
588
586
|
emitToken_(ff_compiler_Token.LEnd(), i_, i_)
|
|
589
587
|
}));
|
|
590
|
-
return
|
|
588
|
+
return ff_core_Array.Array_drain(tokens_)
|
|
591
589
|
}
|
|
592
590
|
|
|
593
591
|
|