firefly-compiler 0.4.18 → 0.4.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/compiler/Builder.ff +1 -1
  2. package/compiler/Compiler.ff +6 -5
  3. package/compiler/Inference.ff +31 -19
  4. package/compiler/JsEmitter.ff +98 -71
  5. package/compiler/JsImporter.ff +1 -1
  6. package/compiler/LspHook.ff +17 -5
  7. package/compiler/Main.ff +6 -6
  8. package/compiler/Parser.ff +50 -52
  9. package/compiler/Patterns.ff +2 -0
  10. package/compiler/Syntax.ff +1 -1
  11. package/compiler/Tokenizer.ff +2 -2
  12. package/compiler/Workspace.ff +2 -2
  13. package/core/Array.ff +135 -294
  14. package/core/Buffer.ff +3 -3
  15. package/core/BuildSystem.ff +1 -1
  16. package/core/Equal.ff +36 -52
  17. package/core/HttpClient.ff +1 -1
  18. package/core/IntMap.ff +14 -18
  19. package/core/JsSystem.ff +1 -1
  20. package/core/JsValue.ff +6 -12
  21. package/core/Json.ff +21 -30
  22. package/core/List.ff +281 -312
  23. package/core/Map.ff +4 -8
  24. package/core/NodeSystem.ff +2 -2
  25. package/core/Option.ff +0 -4
  26. package/core/Ordering.ff +10 -6
  27. package/core/Pair.ff +0 -4
  28. package/core/Random.ff +12 -26
  29. package/core/RbMap.ff +216 -216
  30. package/core/Serializable.ff +9 -18
  31. package/core/Set.ff +0 -1
  32. package/core/SourceLocation.ff +1 -1
  33. package/core/Stream.ff +10 -14
  34. package/core/String.ff +24 -6
  35. package/core/StringMap.ff +15 -19
  36. package/guide/Main.ff +20 -2
  37. package/lsp/CompletionHandler.ff +18 -18
  38. package/lsp/Handler.ff +45 -34
  39. package/lsp/HoverHandler.ff +2 -2
  40. package/lsp/LanguageServer.ff +2 -2
  41. package/lsp/SignatureHelpHandler.ff +1 -1
  42. package/lsp/SymbolHandler.ff +19 -5
  43. package/lux/Lux.ff +3 -3
  44. package/output/js/ff/compiler/Builder.mjs +19 -21
  45. package/output/js/ff/compiler/Compiler.mjs +18 -20
  46. package/output/js/ff/compiler/Dependencies.mjs +8 -10
  47. package/output/js/ff/compiler/Deriver.mjs +234 -236
  48. package/output/js/ff/compiler/Dictionaries.mjs +6 -8
  49. package/output/js/ff/compiler/Environment.mjs +42 -44
  50. package/output/js/ff/compiler/Inference.mjs +346 -304
  51. package/output/js/ff/compiler/JsEmitter.mjs +907 -833
  52. package/output/js/ff/compiler/JsImporter.mjs +0 -2
  53. package/output/js/ff/compiler/LspHook.mjs +872 -51
  54. package/output/js/ff/compiler/Main.mjs +109 -111
  55. package/output/js/ff/compiler/Parser.mjs +427 -441
  56. package/output/js/ff/compiler/Patterns.mjs +64 -50
  57. package/output/js/ff/compiler/Resolver.mjs +36 -38
  58. package/output/js/ff/compiler/Substitution.mjs +4 -6
  59. package/output/js/ff/compiler/Syntax.mjs +160 -162
  60. package/output/js/ff/compiler/Token.mjs +52 -54
  61. package/output/js/ff/compiler/Tokenizer.mjs +16 -18
  62. package/output/js/ff/compiler/Unification.mjs +24 -26
  63. package/output/js/ff/compiler/Wildcards.mjs +0 -2
  64. package/output/js/ff/compiler/Workspace.mjs +18 -20
  65. package/output/js/ff/core/Any.mjs +0 -2
  66. package/output/js/ff/core/Array.mjs +216 -613
  67. package/output/js/ff/core/AssetSystem.mjs +2 -4
  68. package/output/js/ff/core/Atomic.mjs +0 -2
  69. package/output/js/ff/core/Bool.mjs +0 -2
  70. package/output/js/ff/core/Box.mjs +0 -2
  71. package/output/js/ff/core/BrowserSystem.mjs +0 -2
  72. package/output/js/ff/core/Buffer.mjs +0 -2
  73. package/output/js/ff/core/BuildSystem.mjs +12 -14
  74. package/output/js/ff/core/Channel.mjs +0 -2
  75. package/output/js/ff/core/Char.mjs +0 -2
  76. package/output/js/ff/core/Core.mjs +0 -2
  77. package/output/js/ff/core/Duration.mjs +0 -2
  78. package/output/js/ff/core/Equal.mjs +0 -22
  79. package/output/js/ff/core/Error.mjs +0 -2
  80. package/output/js/ff/core/FileHandle.mjs +0 -2
  81. package/output/js/ff/core/Float.mjs +0 -2
  82. package/output/js/ff/core/HttpClient.mjs +2 -4
  83. package/output/js/ff/core/Instant.mjs +0 -2
  84. package/output/js/ff/core/Int.mjs +8 -10
  85. package/output/js/ff/core/IntMap.mjs +32 -42
  86. package/output/js/ff/core/JsSystem.mjs +1 -3
  87. package/output/js/ff/core/JsValue.mjs +5 -12
  88. package/output/js/ff/core/Json.mjs +25 -58
  89. package/output/js/ff/core/List.mjs +648 -1989
  90. package/output/js/ff/core/Lock.mjs +0 -2
  91. package/output/js/ff/core/Log.mjs +0 -2
  92. package/output/js/ff/core/Map.mjs +10 -20
  93. package/output/js/ff/core/NodeSystem.mjs +6 -8
  94. package/output/js/ff/core/Nothing.mjs +0 -2
  95. package/output/js/ff/core/Option.mjs +8 -18
  96. package/output/js/ff/core/Ordering.mjs +20 -98
  97. package/output/js/ff/core/Pair.mjs +6 -16
  98. package/output/js/ff/core/Path.mjs +12 -14
  99. package/output/js/ff/core/Random.mjs +24 -54
  100. package/output/js/ff/core/RbMap.mjs +54 -56
  101. package/output/js/ff/core/Serializable.mjs +19 -36
  102. package/output/js/ff/core/Set.mjs +0 -14
  103. package/output/js/ff/core/Show.mjs +0 -2
  104. package/output/js/ff/core/SourceLocation.mjs +0 -2
  105. package/output/js/ff/core/Stream.mjs +34 -44
  106. package/output/js/ff/core/String.mjs +31 -5
  107. package/output/js/ff/core/StringMap.mjs +32 -42
  108. package/output/js/ff/core/Task.mjs +0 -2
  109. package/output/js/ff/core/Try.mjs +0 -2
  110. package/output/js/ff/core/Unit.mjs +0 -2
  111. package/package.json +1 -1
  112. package/vscode/client/src/extension.ts +30 -2
  113. package/vscode/package.json +17 -1
  114. package/webserver/WebServer.ff +8 -8
  115. package/core/Stack.ff +0 -263
  116. package/output/js/ff/core/Stack.mjs +0 -603
@@ -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"
@@ -101,8 +99,8 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
101
99
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
102
100
 
103
101
  // type LspHook
104
- export function LspHook(at_, definedAt_, insertIdentifier_, trackSymbols_, stackOfResults_) {
105
- return {at_, definedAt_, insertIdentifier_, trackSymbols_, stackOfResults_};
102
+ export function LspHook(at_, definedAt_, insertIdentifier_, trackSymbols_, arrayOfResults_) {
103
+ return {at_, definedAt_, insertIdentifier_, trackSymbols_, arrayOfResults_};
106
104
  }
107
105
 
108
106
  // type SymbolHook
@@ -115,6 +113,42 @@ export function Box(value_) {
115
113
  return {value_};
116
114
  }
117
115
 
116
+ // type DocumentSymbolKind
117
+ export function SLet(mutable_) {
118
+ return {SLet: true, mutable_};
119
+ }
120
+ export function SFunction(member_) {
121
+ return {SFunction: true, member_};
122
+ }
123
+ const SExtend$ = {SExtend: true};
124
+ export function SExtend() {
125
+ return SExtend$;
126
+ }
127
+ const STraitFunction$ = {STraitFunction: true};
128
+ export function STraitFunction() {
129
+ return STraitFunction$;
130
+ }
131
+ const STrait$ = {STrait: true};
132
+ export function STrait() {
133
+ return STrait$;
134
+ }
135
+ const SInstance$ = {SInstance: true};
136
+ export function SInstance() {
137
+ return SInstance$;
138
+ }
139
+ const SVariant$ = {SVariant: true};
140
+ export function SVariant() {
141
+ return SVariant$;
142
+ }
143
+ const SType$ = {SType: true};
144
+ export function SType() {
145
+ return SType$;
146
+ }
147
+ const SParameter$ = {SParameter: true};
148
+ export function SParameter() {
149
+ return SParameter$;
150
+ }
151
+
118
152
  // type ResultHook
119
153
  const ParseSymbolBegin$ = {ParseSymbolBegin: true};
120
154
  export function ParseSymbolBegin() {
@@ -180,7 +214,7 @@ return ff_compiler_LspHook.LspHook(ff_core_Option.Option_else(at_, (() => {
180
214
  return ff_compiler_Syntax.Location("^lsp", (-7), (-7))
181
215
  })), ff_core_Option.Option_else(definedAt_, (() => {
182
216
  return ff_compiler_Syntax.Location("^lsp", (-7), (-7))
183
- })), insertIdentifier_, trackSymbols_, ff_core_List.List_toStack(ff_core_List.Empty()))
217
+ })), insertIdentifier_, trackSymbols_, ff_core_List.List_toArray([]))
184
218
  }
185
219
 
186
220
  export function strictlyBetween_(afterAt_, beforeAt_, at_, extraColumns_) {
@@ -368,7 +402,7 @@ return ff_compiler_LspHook.LspHook(ff_core_Option.Option_else(at_, (() => {
368
402
  return ff_compiler_Syntax.Location("^lsp", (-7), (-7))
369
403
  })), ff_core_Option.Option_else(definedAt_, (() => {
370
404
  return ff_compiler_Syntax.Location("^lsp", (-7), (-7))
371
- })), insertIdentifier_, trackSymbols_, ff_core_List.List_toStack(ff_core_List.Empty()))
405
+ })), insertIdentifier_, trackSymbols_, ff_core_List.List_toArray([]))
372
406
  }
373
407
 
374
408
  export async function strictlyBetween_$(afterAt_, beforeAt_, at_, extraColumns_, $task) {
@@ -560,11 +594,11 @@ return (((self_.definedAt_.line_ === at_.line_) && (self_.definedAt_.column_ ===
560
594
  }
561
595
 
562
596
  export function LspHook_emit(self_, result_) {
563
- ff_core_Stack.Stack_push(self_.stackOfResults_, result_)
597
+ ff_core_Array.Array_push(self_.arrayOfResults_, result_)
564
598
  }
565
599
 
566
600
  export function LspHook_results(self_) {
567
- return ff_core_Stack.Stack_toList(self_.stackOfResults_, 0, 9007199254740991)
601
+ return ff_core_Array.Array_toList(self_.arrayOfResults_, 0, 9007199254740991)
568
602
  }
569
603
 
570
604
  export async function LspHook_isEnabled$(self_, $task) {
@@ -580,11 +614,11 @@ return (((self_.definedAt_.line_ === at_.line_) && (self_.definedAt_.column_ ===
580
614
  }
581
615
 
582
616
  export async function LspHook_emit$(self_, result_, $task) {
583
- ff_core_Stack.Stack_push(self_.stackOfResults_, result_)
617
+ ff_core_Array.Array_push(self_.arrayOfResults_, result_)
584
618
  }
585
619
 
586
620
  export async function LspHook_results$(self_, $task) {
587
- return ff_core_Stack.Stack_toList(self_.stackOfResults_, 0, 9007199254740991)
621
+ return ff_core_Array.Array_toList(self_.arrayOfResults_, 0, 9007199254740991)
588
622
  }
589
623
 
590
624
  export const ff_core_Any_HasAnyTag$ff_compiler_LspHook_SymbolHook = {
@@ -596,6 +630,15 @@ return ff_core_Any.internalAnyTag_((("ff:compiler/LspHook.SymbolHook" + "[") + "
596
630
  }
597
631
  };
598
632
 
633
+ export const ff_core_Any_HasAnyTag$ff_compiler_LspHook_DocumentSymbolKind = {
634
+ anyTag_() {
635
+ return ff_core_Any.internalAnyTag_((("ff:compiler/LspHook.DocumentSymbolKind" + "[") + "]"))
636
+ },
637
+ async anyTag_$($task) {
638
+ return ff_core_Any.internalAnyTag_((("ff:compiler/LspHook.DocumentSymbolKind" + "[") + "]"))
639
+ }
640
+ };
641
+
599
642
  export const ff_core_Show_Show$ff_compiler_LspHook_SymbolHook = {
600
643
  show_(value_) {
601
644
  {
@@ -619,6 +662,145 @@ return
619
662
  }
620
663
  };
621
664
 
665
+ export const ff_core_Show_Show$ff_compiler_LspHook_DocumentSymbolKind = {
666
+ show_(value_) {
667
+ {
668
+ const value_a = value_;
669
+ {
670
+ if(value_a.SLet) {
671
+ const z_ = value_a;
672
+ return ((("SLet" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_Bool_Bool.show_(z_.mutable_)) + ")")
673
+ return
674
+ }
675
+ }
676
+ {
677
+ if(value_a.SFunction) {
678
+ const z_ = value_a;
679
+ return ((("SFunction" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_Bool_Bool.show_(z_.member_)) + ")")
680
+ return
681
+ }
682
+ }
683
+ {
684
+ if(value_a.SExtend) {
685
+ const z_ = value_a;
686
+ return "SExtend"
687
+ return
688
+ }
689
+ }
690
+ {
691
+ if(value_a.STraitFunction) {
692
+ const z_ = value_a;
693
+ return "STraitFunction"
694
+ return
695
+ }
696
+ }
697
+ {
698
+ if(value_a.STrait) {
699
+ const z_ = value_a;
700
+ return "STrait"
701
+ return
702
+ }
703
+ }
704
+ {
705
+ if(value_a.SInstance) {
706
+ const z_ = value_a;
707
+ return "SInstance"
708
+ return
709
+ }
710
+ }
711
+ {
712
+ if(value_a.SVariant) {
713
+ const z_ = value_a;
714
+ return "SVariant"
715
+ return
716
+ }
717
+ }
718
+ {
719
+ if(value_a.SType) {
720
+ const z_ = value_a;
721
+ return "SType"
722
+ return
723
+ }
724
+ }
725
+ {
726
+ if(value_a.SParameter) {
727
+ const z_ = value_a;
728
+ return "SParameter"
729
+ return
730
+ }
731
+ }
732
+ }
733
+ },
734
+ async show_$(value_, $task) {
735
+ {
736
+ const value_a = value_;
737
+ {
738
+ if(value_a.SLet) {
739
+ const z_ = value_a;
740
+ return ((("SLet" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_Bool_Bool.show_(z_.mutable_)) + ")")
741
+ return
742
+ }
743
+ }
744
+ {
745
+ if(value_a.SFunction) {
746
+ const z_ = value_a;
747
+ return ((("SFunction" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_Bool_Bool.show_(z_.member_)) + ")")
748
+ return
749
+ }
750
+ }
751
+ {
752
+ if(value_a.SExtend) {
753
+ const z_ = value_a;
754
+ return "SExtend"
755
+ return
756
+ }
757
+ }
758
+ {
759
+ if(value_a.STraitFunction) {
760
+ const z_ = value_a;
761
+ return "STraitFunction"
762
+ return
763
+ }
764
+ }
765
+ {
766
+ if(value_a.STrait) {
767
+ const z_ = value_a;
768
+ return "STrait"
769
+ return
770
+ }
771
+ }
772
+ {
773
+ if(value_a.SInstance) {
774
+ const z_ = value_a;
775
+ return "SInstance"
776
+ return
777
+ }
778
+ }
779
+ {
780
+ if(value_a.SVariant) {
781
+ const z_ = value_a;
782
+ return "SVariant"
783
+ return
784
+ }
785
+ }
786
+ {
787
+ if(value_a.SType) {
788
+ const z_ = value_a;
789
+ return "SType"
790
+ return
791
+ }
792
+ }
793
+ {
794
+ if(value_a.SParameter) {
795
+ const z_ = value_a;
796
+ return "SParameter"
797
+ return
798
+ }
799
+ }
800
+ }
801
+ }
802
+ };
803
+
622
804
  export const ff_core_Equal_Equal$ff_compiler_LspHook_SymbolHook = {
623
805
  equals_(x_, y_) {
624
806
  {
@@ -656,6 +838,83 @@ return
656
838
  }
657
839
  };
658
840
 
841
+ export const ff_core_Equal_Equal$ff_compiler_LspHook_DocumentSymbolKind = {
842
+ equals_(x_, y_) {
843
+ {
844
+ const x_a = x_;
845
+ const y_a = y_;
846
+ {
847
+ const _guard1 = (x_ === y_);
848
+ if(_guard1) {
849
+ return true
850
+ return
851
+ }
852
+ }
853
+ {
854
+ if(x_a.SLet) {
855
+ const x_ = x_a;
856
+ if(y_a.SLet) {
857
+ const y_ = y_a;
858
+ return (x_.mutable_ === y_.mutable_)
859
+ return
860
+ }
861
+ }
862
+ }
863
+ {
864
+ if(x_a.SFunction) {
865
+ const x_ = x_a;
866
+ if(y_a.SFunction) {
867
+ const y_ = y_a;
868
+ return (x_.member_ === y_.member_)
869
+ return
870
+ }
871
+ }
872
+ }
873
+ {
874
+ return false
875
+ return
876
+ }
877
+ }
878
+ },
879
+ async equals_$(x_, y_, $task) {
880
+ {
881
+ const x_a = x_;
882
+ const y_a = y_;
883
+ {
884
+ const _guard1 = (x_ === y_);
885
+ if(_guard1) {
886
+ return true
887
+ return
888
+ }
889
+ }
890
+ {
891
+ if(x_a.SLet) {
892
+ const x_ = x_a;
893
+ if(y_a.SLet) {
894
+ const y_ = y_a;
895
+ return (x_.mutable_ === y_.mutable_)
896
+ return
897
+ }
898
+ }
899
+ }
900
+ {
901
+ if(x_a.SFunction) {
902
+ const x_ = x_a;
903
+ if(y_a.SFunction) {
904
+ const y_ = y_a;
905
+ return (x_.member_ === y_.member_)
906
+ return
907
+ }
908
+ }
909
+ }
910
+ {
911
+ return false
912
+ return
913
+ }
914
+ }
915
+ }
916
+ };
917
+
659
918
  export const ff_core_Ordering_Order$ff_compiler_LspHook_SymbolHook = {
660
919
  compare_(x_, y_) {
661
920
  {
@@ -723,68 +982,630 @@ return
723
982
  }
724
983
  };
725
984
 
726
- export const ff_core_Serializable_Serializable$ff_compiler_LspHook_SymbolHook = {
727
- serializeUsing_(serialization_, value_) {
985
+ export const ff_core_Ordering_Order$ff_compiler_LspHook_DocumentSymbolKind = {
986
+ compare_(x_, y_) {
728
987
  {
729
- const serialization_a = serialization_;
730
- const value_a = value_;
988
+ const x_a = x_;
989
+ const y_a = y_;
731
990
  {
732
- const v_ = value_a;
733
- serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
734
- ff_core_Serializable.Serialization_autoResize(serialization_, 1);
735
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
736
- serialization_.offset_ += 1;
737
- ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.qualifiedName_);
738
- ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.usageAt_);
739
- ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.definedAt_)
991
+ const _guard1 = (x_ === y_);
992
+ if(_guard1) {
993
+ return ff_core_Ordering.OrderingSame()
740
994
  return
741
995
  }
742
996
  }
743
- },
744
- deserializeUsing_(serialization_) {
745
- const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
746
- serialization_.offset_ += 1;
747
997
  {
748
- const _1 = variantIndex_;
998
+ if(x_a.SLet) {
999
+ const x_ = x_a;
1000
+ if(y_a.SLet) {
1001
+ const y_ = y_a;
1002
+ const mutableOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_Bool_Bool.compare_(x_.mutable_, y_.mutable_);
1003
+ if((mutableOrdering_ !== ff_core_Ordering.OrderingSame())) {
1004
+ return mutableOrdering_
1005
+ } else {
1006
+ return ff_core_Ordering.OrderingSame()
1007
+ }
1008
+ return
1009
+ }
1010
+ }
1011
+ }
749
1012
  {
750
- if(_1 == 0) {
751
- serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
752
- return ff_compiler_LspHook.SymbolHook(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_))
1013
+ if(x_a.SFunction) {
1014
+ const x_ = x_a;
1015
+ if(y_a.SFunction) {
1016
+ const y_ = y_a;
1017
+ const memberOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_Bool_Bool.compare_(x_.member_, y_.member_);
1018
+ if((memberOrdering_ !== ff_core_Ordering.OrderingSame())) {
1019
+ return memberOrdering_
1020
+ } else {
1021
+ return ff_core_Ordering.OrderingSame()
1022
+ }
753
1023
  return
754
1024
  }
755
1025
  }
1026
+ }
756
1027
  {
757
- throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
1028
+ function number_(z_) {
1029
+ {
1030
+ const z_a = z_;
1031
+ {
1032
+ if(z_a.SLet) {
1033
+ return 0
758
1034
  return
759
1035
  }
760
1036
  }
761
- },
762
- async serializeUsing_$(serialization_, value_, $task) {
763
1037
  {
764
- const serialization_a = serialization_;
765
- const value_a = value_;
1038
+ if(z_a.SFunction) {
1039
+ return 1
1040
+ return
1041
+ }
1042
+ }
766
1043
  {
767
- const v_ = value_a;
768
- serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
769
- ff_core_Serializable.Serialization_autoResize(serialization_, 1);
770
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
771
- serialization_.offset_ += 1;
772
- ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.qualifiedName_);
773
- ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.usageAt_);
774
- ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.definedAt_)
1044
+ if(z_a.SExtend) {
1045
+ return 2
775
1046
  return
776
1047
  }
777
1048
  }
778
- },
779
- async deserializeUsing_$(serialization_, $task) {
780
- const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
781
- serialization_.offset_ += 1;
782
1049
  {
783
- const _1 = variantIndex_;
1050
+ if(z_a.STraitFunction) {
1051
+ return 3
1052
+ return
1053
+ }
1054
+ }
784
1055
  {
785
- if(_1 == 0) {
786
- serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
787
- return ff_compiler_LspHook.SymbolHook(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_))
1056
+ if(z_a.STrait) {
1057
+ return 4
1058
+ return
1059
+ }
1060
+ }
1061
+ {
1062
+ if(z_a.SInstance) {
1063
+ return 5
1064
+ return
1065
+ }
1066
+ }
1067
+ {
1068
+ if(z_a.SVariant) {
1069
+ return 6
1070
+ return
1071
+ }
1072
+ }
1073
+ {
1074
+ if(z_a.SType) {
1075
+ return 7
1076
+ return
1077
+ }
1078
+ }
1079
+ {
1080
+ if(z_a.SParameter) {
1081
+ return 8
1082
+ return
1083
+ }
1084
+ }
1085
+ }
1086
+ }
1087
+ return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
1088
+ return
1089
+ }
1090
+ }
1091
+ },
1092
+ async compare_$(x_, y_, $task) {
1093
+ {
1094
+ const x_a = x_;
1095
+ const y_a = y_;
1096
+ {
1097
+ const _guard1 = (x_ === y_);
1098
+ if(_guard1) {
1099
+ return ff_core_Ordering.OrderingSame()
1100
+ return
1101
+ }
1102
+ }
1103
+ {
1104
+ if(x_a.SLet) {
1105
+ const x_ = x_a;
1106
+ if(y_a.SLet) {
1107
+ const y_ = y_a;
1108
+ const mutableOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_Bool_Bool.compare_(x_.mutable_, y_.mutable_);
1109
+ if((mutableOrdering_ !== ff_core_Ordering.OrderingSame())) {
1110
+ return mutableOrdering_
1111
+ } else {
1112
+ return ff_core_Ordering.OrderingSame()
1113
+ }
1114
+ return
1115
+ }
1116
+ }
1117
+ }
1118
+ {
1119
+ if(x_a.SFunction) {
1120
+ const x_ = x_a;
1121
+ if(y_a.SFunction) {
1122
+ const y_ = y_a;
1123
+ const memberOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_Bool_Bool.compare_(x_.member_, y_.member_);
1124
+ if((memberOrdering_ !== ff_core_Ordering.OrderingSame())) {
1125
+ return memberOrdering_
1126
+ } else {
1127
+ return ff_core_Ordering.OrderingSame()
1128
+ }
1129
+ return
1130
+ }
1131
+ }
1132
+ }
1133
+ {
1134
+ function number_(z_) {
1135
+ {
1136
+ const z_a = z_;
1137
+ {
1138
+ if(z_a.SLet) {
1139
+ return 0
1140
+ return
1141
+ }
1142
+ }
1143
+ {
1144
+ if(z_a.SFunction) {
1145
+ return 1
1146
+ return
1147
+ }
1148
+ }
1149
+ {
1150
+ if(z_a.SExtend) {
1151
+ return 2
1152
+ return
1153
+ }
1154
+ }
1155
+ {
1156
+ if(z_a.STraitFunction) {
1157
+ return 3
1158
+ return
1159
+ }
1160
+ }
1161
+ {
1162
+ if(z_a.STrait) {
1163
+ return 4
1164
+ return
1165
+ }
1166
+ }
1167
+ {
1168
+ if(z_a.SInstance) {
1169
+ return 5
1170
+ return
1171
+ }
1172
+ }
1173
+ {
1174
+ if(z_a.SVariant) {
1175
+ return 6
1176
+ return
1177
+ }
1178
+ }
1179
+ {
1180
+ if(z_a.SType) {
1181
+ return 7
1182
+ return
1183
+ }
1184
+ }
1185
+ {
1186
+ if(z_a.SParameter) {
1187
+ return 8
1188
+ return
1189
+ }
1190
+ }
1191
+ }
1192
+ }
1193
+ return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
1194
+ return
1195
+ }
1196
+ }
1197
+ }
1198
+ };
1199
+
1200
+ export const ff_core_Serializable_Serializable$ff_compiler_LspHook_SymbolHook = {
1201
+ serializeUsing_(serialization_, value_) {
1202
+ {
1203
+ const serialization_a = serialization_;
1204
+ const value_a = value_;
1205
+ {
1206
+ const v_ = value_a;
1207
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1208
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1209
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
1210
+ serialization_.offset_ += 1;
1211
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.qualifiedName_);
1212
+ ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.usageAt_);
1213
+ ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.definedAt_)
1214
+ return
1215
+ }
1216
+ }
1217
+ },
1218
+ deserializeUsing_(serialization_) {
1219
+ const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
1220
+ serialization_.offset_ += 1;
1221
+ {
1222
+ const _1 = variantIndex_;
1223
+ {
1224
+ if(_1 === 0) {
1225
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1226
+ return ff_compiler_LspHook.SymbolHook(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_))
1227
+ return
1228
+ }
1229
+ }
1230
+ {
1231
+ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
1232
+ return
1233
+ }
1234
+ }
1235
+ },
1236
+ async serializeUsing_$(serialization_, value_, $task) {
1237
+ {
1238
+ const serialization_a = serialization_;
1239
+ const value_a = value_;
1240
+ {
1241
+ const v_ = value_a;
1242
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1243
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1244
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
1245
+ serialization_.offset_ += 1;
1246
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.qualifiedName_);
1247
+ ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.usageAt_);
1248
+ ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.serializeUsing_(serialization_, v_.definedAt_)
1249
+ return
1250
+ }
1251
+ }
1252
+ },
1253
+ async deserializeUsing_$(serialization_, $task) {
1254
+ const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
1255
+ serialization_.offset_ += 1;
1256
+ {
1257
+ const _1 = variantIndex_;
1258
+ {
1259
+ if(_1 === 0) {
1260
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1261
+ return ff_compiler_LspHook.SymbolHook(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_), ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Location.deserializeUsing_(serialization_))
1262
+ return
1263
+ }
1264
+ }
1265
+ {
1266
+ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
1267
+ return
1268
+ }
1269
+ }
1270
+ }
1271
+ };
1272
+
1273
+ export const ff_core_Serializable_Serializable$ff_compiler_LspHook_DocumentSymbolKind = {
1274
+ serializeUsing_(serialization_, value_) {
1275
+ {
1276
+ const serialization_a = serialization_;
1277
+ const value_a = value_;
1278
+ {
1279
+ if(value_a.SLet) {
1280
+ const v_ = value_a;
1281
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1282
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1283
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
1284
+ serialization_.offset_ += 1;
1285
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.serializeUsing_(serialization_, v_.mutable_)
1286
+ return
1287
+ }
1288
+ }
1289
+ {
1290
+ if(value_a.SFunction) {
1291
+ const v_ = value_a;
1292
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1293
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1294
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1);
1295
+ serialization_.offset_ += 1;
1296
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.serializeUsing_(serialization_, v_.member_)
1297
+ return
1298
+ }
1299
+ }
1300
+ {
1301
+ if(value_a.SExtend) {
1302
+ const v_ = value_a;
1303
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
1304
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1305
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 2);
1306
+ serialization_.offset_ += 1
1307
+ return
1308
+ }
1309
+ }
1310
+ {
1311
+ if(value_a.STraitFunction) {
1312
+ const v_ = value_a;
1313
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 34), 0);
1314
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1315
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 3);
1316
+ serialization_.offset_ += 1
1317
+ return
1318
+ }
1319
+ }
1320
+ {
1321
+ if(value_a.STrait) {
1322
+ const v_ = value_a;
1323
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
1324
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1325
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 4);
1326
+ serialization_.offset_ += 1
1327
+ return
1328
+ }
1329
+ }
1330
+ {
1331
+ if(value_a.SInstance) {
1332
+ const v_ = value_a;
1333
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1334
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1335
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 5);
1336
+ serialization_.offset_ += 1
1337
+ return
1338
+ }
1339
+ }
1340
+ {
1341
+ if(value_a.SVariant) {
1342
+ const v_ = value_a;
1343
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1344
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1345
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 6);
1346
+ serialization_.offset_ += 1
1347
+ return
1348
+ }
1349
+ }
1350
+ {
1351
+ if(value_a.SType) {
1352
+ const v_ = value_a;
1353
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1354
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1355
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 7);
1356
+ serialization_.offset_ += 1
1357
+ return
1358
+ }
1359
+ }
1360
+ {
1361
+ if(value_a.SParameter) {
1362
+ const v_ = value_a;
1363
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1364
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1365
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 8);
1366
+ serialization_.offset_ += 1
1367
+ return
1368
+ }
1369
+ }
1370
+ }
1371
+ },
1372
+ deserializeUsing_(serialization_) {
1373
+ const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
1374
+ serialization_.offset_ += 1;
1375
+ {
1376
+ const _1 = variantIndex_;
1377
+ {
1378
+ if(_1 === 0) {
1379
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1380
+ return ff_compiler_LspHook.SLet(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.deserializeUsing_(serialization_))
1381
+ return
1382
+ }
1383
+ }
1384
+ {
1385
+ if(_1 === 1) {
1386
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1387
+ return ff_compiler_LspHook.SFunction(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.deserializeUsing_(serialization_))
1388
+ return
1389
+ }
1390
+ }
1391
+ {
1392
+ if(_1 === 2) {
1393
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
1394
+ return ff_compiler_LspHook.SExtend()
1395
+ return
1396
+ }
1397
+ }
1398
+ {
1399
+ if(_1 === 3) {
1400
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 34), 0);
1401
+ return ff_compiler_LspHook.STraitFunction()
1402
+ return
1403
+ }
1404
+ }
1405
+ {
1406
+ if(_1 === 4) {
1407
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
1408
+ return ff_compiler_LspHook.STrait()
1409
+ return
1410
+ }
1411
+ }
1412
+ {
1413
+ if(_1 === 5) {
1414
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1415
+ return ff_compiler_LspHook.SInstance()
1416
+ return
1417
+ }
1418
+ }
1419
+ {
1420
+ if(_1 === 6) {
1421
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1422
+ return ff_compiler_LspHook.SVariant()
1423
+ return
1424
+ }
1425
+ }
1426
+ {
1427
+ if(_1 === 7) {
1428
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1429
+ return ff_compiler_LspHook.SType()
1430
+ return
1431
+ }
1432
+ }
1433
+ {
1434
+ if(_1 === 8) {
1435
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1436
+ return ff_compiler_LspHook.SParameter()
1437
+ return
1438
+ }
1439
+ }
1440
+ {
1441
+ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
1442
+ return
1443
+ }
1444
+ }
1445
+ },
1446
+ async serializeUsing_$(serialization_, value_, $task) {
1447
+ {
1448
+ const serialization_a = serialization_;
1449
+ const value_a = value_;
1450
+ {
1451
+ if(value_a.SLet) {
1452
+ const v_ = value_a;
1453
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1454
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1455
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0);
1456
+ serialization_.offset_ += 1;
1457
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.serializeUsing_(serialization_, v_.mutable_)
1458
+ return
1459
+ }
1460
+ }
1461
+ {
1462
+ if(value_a.SFunction) {
1463
+ const v_ = value_a;
1464
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1465
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1466
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1);
1467
+ serialization_.offset_ += 1;
1468
+ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.serializeUsing_(serialization_, v_.member_)
1469
+ return
1470
+ }
1471
+ }
1472
+ {
1473
+ if(value_a.SExtend) {
1474
+ const v_ = value_a;
1475
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
1476
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1477
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 2);
1478
+ serialization_.offset_ += 1
1479
+ return
1480
+ }
1481
+ }
1482
+ {
1483
+ if(value_a.STraitFunction) {
1484
+ const v_ = value_a;
1485
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 34), 0);
1486
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1487
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 3);
1488
+ serialization_.offset_ += 1
1489
+ return
1490
+ }
1491
+ }
1492
+ {
1493
+ if(value_a.STrait) {
1494
+ const v_ = value_a;
1495
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
1496
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1497
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 4);
1498
+ serialization_.offset_ += 1
1499
+ return
1500
+ }
1501
+ }
1502
+ {
1503
+ if(value_a.SInstance) {
1504
+ const v_ = value_a;
1505
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1506
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1507
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 5);
1508
+ serialization_.offset_ += 1
1509
+ return
1510
+ }
1511
+ }
1512
+ {
1513
+ if(value_a.SVariant) {
1514
+ const v_ = value_a;
1515
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1516
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1517
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 6);
1518
+ serialization_.offset_ += 1
1519
+ return
1520
+ }
1521
+ }
1522
+ {
1523
+ if(value_a.SType) {
1524
+ const v_ = value_a;
1525
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1526
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1527
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 7);
1528
+ serialization_.offset_ += 1
1529
+ return
1530
+ }
1531
+ }
1532
+ {
1533
+ if(value_a.SParameter) {
1534
+ const v_ = value_a;
1535
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1536
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1537
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 8);
1538
+ serialization_.offset_ += 1
1539
+ return
1540
+ }
1541
+ }
1542
+ }
1543
+ },
1544
+ async deserializeUsing_$(serialization_, $task) {
1545
+ const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
1546
+ serialization_.offset_ += 1;
1547
+ {
1548
+ const _1 = variantIndex_;
1549
+ {
1550
+ if(_1 === 0) {
1551
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1552
+ return ff_compiler_LspHook.SLet(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.deserializeUsing_(serialization_))
1553
+ return
1554
+ }
1555
+ }
1556
+ {
1557
+ if(_1 === 1) {
1558
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1559
+ return ff_compiler_LspHook.SFunction(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_Bool_Bool.deserializeUsing_(serialization_))
1560
+ return
1561
+ }
1562
+ }
1563
+ {
1564
+ if(_1 === 2) {
1565
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 27), 0);
1566
+ return ff_compiler_LspHook.SExtend()
1567
+ return
1568
+ }
1569
+ }
1570
+ {
1571
+ if(_1 === 3) {
1572
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 34), 0);
1573
+ return ff_compiler_LspHook.STraitFunction()
1574
+ return
1575
+ }
1576
+ }
1577
+ {
1578
+ if(_1 === 4) {
1579
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 26), 0);
1580
+ return ff_compiler_LspHook.STrait()
1581
+ return
1582
+ }
1583
+ }
1584
+ {
1585
+ if(_1 === 5) {
1586
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1587
+ return ff_compiler_LspHook.SInstance()
1588
+ return
1589
+ }
1590
+ }
1591
+ {
1592
+ if(_1 === 6) {
1593
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1594
+ return ff_compiler_LspHook.SVariant()
1595
+ return
1596
+ }
1597
+ }
1598
+ {
1599
+ if(_1 === 7) {
1600
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1601
+ return ff_compiler_LspHook.SType()
1602
+ return
1603
+ }
1604
+ }
1605
+ {
1606
+ if(_1 === 8) {
1607
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1608
+ return ff_compiler_LspHook.SParameter()
788
1609
  return
789
1610
  }
790
1611
  }