@danielx/civet 0.4.19-pre.12 → 0.4.19-pre.13

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/dist/browser.js CHANGED
@@ -529,6 +529,7 @@ ${input.slice(result.pos)}
529
529
  PrivateIdentifier,
530
530
  AssignmentOp,
531
531
  AssignmentOpSymbol,
532
+ CoffeeWordAssignmentOp,
532
533
  BinaryOp,
533
534
  BinaryOpSymbol,
534
535
  UnaryOp,
@@ -815,6 +816,7 @@ ${input.slice(result.pos)}
815
816
  CoffeeLineContinuationEnabled,
816
817
  CoffeeNotEnabled,
817
818
  CoffeeOfEnabled,
819
+ CoffeeWordAssignmentEnabled,
818
820
  Reset,
819
821
  Init,
820
822
  Indent,
@@ -869,119 +871,121 @@ ${input.slice(result.pos)}
869
871
  var $L41 = $L("??=");
870
872
  var $L42 = $L("?=");
871
873
  var $L43 = $L("=");
872
- var $L44 = $L("**");
873
- var $L45 = $L("*");
874
- var $L46 = $L("/");
875
- var $L47 = $L("%");
876
- var $L48 = $L("+");
877
- var $L49 = $L("-");
878
- var $L50 = $L("<=");
879
- var $L51 = $L(">=");
880
- var $L52 = $L("<<");
881
- var $L53 = $L(">>>");
882
- var $L54 = $L(">>");
883
- var $L55 = $L(">");
884
- var $L56 = $L("!==");
885
- var $L57 = $L("!=");
886
- var $L58 = $L("isnt");
887
- var $L59 = $L("is");
888
- var $L60 = $L("===");
889
- var $L61 = $L("==");
890
- var $L62 = $L("and");
891
- var $L63 = $L("&&");
892
- var $L64 = $L("of");
893
- var $L65 = $L("or");
894
- var $L66 = $L("||");
895
- var $L67 = $L("??");
896
- var $L68 = $L("?");
897
- var $L69 = $L("instanceof");
898
- var $L70 = $L("in");
899
- var $L71 = $L("not");
900
- var $L72 = $L("&");
901
- var $L73 = $L("^");
902
- var $L74 = $L("|");
903
- var $L75 = $L(";");
904
- var $L76 = $L("own");
905
- var $L77 = $L("finally");
906
- var $L78 = $L("break");
907
- var $L79 = $L("continue");
908
- var $L80 = $L("debugger");
909
- var $L81 = $L("import type");
910
- var $L82 = $L("default");
911
- var $L83 = $L(":=");
912
- var $L84 = $L("/*");
913
- var $L85 = $L("*/");
914
- var $L86 = $L("###");
915
- var $L87 = $L("\\");
916
- var $L88 = $L("as");
917
- var $L89 = $L("@");
918
- var $L90 = $L("async");
919
- var $L91 = $L("await");
920
- var $L92 = $L("`");
921
- var $L93 = $L("by");
922
- var $L94 = $L("case");
923
- var $L95 = $L("catch");
924
- var $L96 = $L("class");
925
- var $L97 = $L("#{");
926
- var $L98 = $L(":");
927
- var $L99 = $L("delete");
928
- var $L100 = $L("do");
929
- var $L101 = $L("..");
930
- var $L102 = $L("...");
931
- var $L103 = $L("::");
932
- var $L104 = $L('"');
933
- var $L105 = $L("else");
934
- var $L106 = $L("export");
935
- var $L107 = $L("for");
936
- var $L108 = $L("from");
937
- var $L109 = $L("function");
938
- var $L110 = $L("get");
939
- var $L111 = $L("set");
940
- var $L112 = $L("if");
941
- var $L113 = $L("let");
942
- var $L114 = $L("const");
943
- var $L115 = $L("loop");
944
- var $L116 = $L("new");
945
- var $L117 = $L("{");
946
- var $L118 = $L("[");
947
- var $L119 = $L("(");
948
- var $L120 = $L("return");
949
- var $L121 = $L("'");
950
- var $L122 = $L("static");
951
- var $L123 = $L("${");
952
- var $L124 = $L("switch");
953
- var $L125 = $L("target");
954
- var $L126 = $L("then");
955
- var $L127 = $L("throw");
956
- var $L128 = $L('"""');
957
- var $L129 = $L("'''");
958
- var $L130 = $L("///");
959
- var $L131 = $L("```");
960
- var $L132 = $L("try");
961
- var $L133 = $L("typeof");
962
- var $L134 = $L("unless");
963
- var $L135 = $L("until");
964
- var $L136 = $L("var");
965
- var $L137 = $L("void");
966
- var $L138 = $L("when");
967
- var $L139 = $L("while");
968
- var $L140 = $L("yield");
969
- var $L141 = $L("/>");
970
- var $L142 = $L("</");
971
- var $L143 = $L("<>");
972
- var $L144 = $L("</>");
973
- var $L145 = $L("declare");
974
- var $L146 = $L("type");
975
- var $L147 = $L("interface");
976
- var $L148 = $L("namespace");
977
- var $L149 = $L("readonly");
978
- var $L150 = $L("asserts");
979
- var $L151 = $L("keyof");
980
- var $L152 = $L("infer");
981
- var $L153 = $L("[]");
982
- var $L154 = $L("civet");
983
- var $L155 = $L(" ");
984
- var $L156 = $L(" ");
874
+ var $L44 = $L("and=");
875
+ var $L45 = $L("or=");
876
+ var $L46 = $L("**");
877
+ var $L47 = $L("*");
878
+ var $L48 = $L("/");
879
+ var $L49 = $L("%");
880
+ var $L50 = $L("+");
881
+ var $L51 = $L("-");
882
+ var $L52 = $L("<=");
883
+ var $L53 = $L(">=");
884
+ var $L54 = $L("<<");
885
+ var $L55 = $L(">>>");
886
+ var $L56 = $L(">>");
887
+ var $L57 = $L(">");
888
+ var $L58 = $L("!==");
889
+ var $L59 = $L("!=");
890
+ var $L60 = $L("isnt");
891
+ var $L61 = $L("is");
892
+ var $L62 = $L("===");
893
+ var $L63 = $L("==");
894
+ var $L64 = $L("and");
895
+ var $L65 = $L("&&");
896
+ var $L66 = $L("of");
897
+ var $L67 = $L("or");
898
+ var $L68 = $L("||");
899
+ var $L69 = $L("??");
900
+ var $L70 = $L("?");
901
+ var $L71 = $L("instanceof");
902
+ var $L72 = $L("in");
903
+ var $L73 = $L("not");
904
+ var $L74 = $L("&");
905
+ var $L75 = $L("^");
906
+ var $L76 = $L("|");
907
+ var $L77 = $L(";");
908
+ var $L78 = $L("own");
909
+ var $L79 = $L("finally");
910
+ var $L80 = $L("break");
911
+ var $L81 = $L("continue");
912
+ var $L82 = $L("debugger");
913
+ var $L83 = $L("import type");
914
+ var $L84 = $L("default");
915
+ var $L85 = $L(":=");
916
+ var $L86 = $L("/*");
917
+ var $L87 = $L("*/");
918
+ var $L88 = $L("###");
919
+ var $L89 = $L("\\");
920
+ var $L90 = $L("as");
921
+ var $L91 = $L("@");
922
+ var $L92 = $L("async");
923
+ var $L93 = $L("await");
924
+ var $L94 = $L("`");
925
+ var $L95 = $L("by");
926
+ var $L96 = $L("case");
927
+ var $L97 = $L("catch");
928
+ var $L98 = $L("class");
929
+ var $L99 = $L("#{");
930
+ var $L100 = $L(":");
931
+ var $L101 = $L("delete");
932
+ var $L102 = $L("do");
933
+ var $L103 = $L("..");
934
+ var $L104 = $L("...");
935
+ var $L105 = $L("::");
936
+ var $L106 = $L('"');
937
+ var $L107 = $L("else");
938
+ var $L108 = $L("export");
939
+ var $L109 = $L("for");
940
+ var $L110 = $L("from");
941
+ var $L111 = $L("function");
942
+ var $L112 = $L("get");
943
+ var $L113 = $L("set");
944
+ var $L114 = $L("if");
945
+ var $L115 = $L("let");
946
+ var $L116 = $L("const");
947
+ var $L117 = $L("loop");
948
+ var $L118 = $L("new");
949
+ var $L119 = $L("{");
950
+ var $L120 = $L("[");
951
+ var $L121 = $L("(");
952
+ var $L122 = $L("return");
953
+ var $L123 = $L("'");
954
+ var $L124 = $L("static");
955
+ var $L125 = $L("${");
956
+ var $L126 = $L("switch");
957
+ var $L127 = $L("target");
958
+ var $L128 = $L("then");
959
+ var $L129 = $L("throw");
960
+ var $L130 = $L('"""');
961
+ var $L131 = $L("'''");
962
+ var $L132 = $L("///");
963
+ var $L133 = $L("```");
964
+ var $L134 = $L("try");
965
+ var $L135 = $L("typeof");
966
+ var $L136 = $L("unless");
967
+ var $L137 = $L("until");
968
+ var $L138 = $L("var");
969
+ var $L139 = $L("void");
970
+ var $L140 = $L("when");
971
+ var $L141 = $L("while");
972
+ var $L142 = $L("yield");
973
+ var $L143 = $L("/>");
974
+ var $L144 = $L("</");
975
+ var $L145 = $L("<>");
976
+ var $L146 = $L("</>");
977
+ var $L147 = $L("declare");
978
+ var $L148 = $L("type");
979
+ var $L149 = $L("interface");
980
+ var $L150 = $L("namespace");
981
+ var $L151 = $L("readonly");
982
+ var $L152 = $L("asserts");
983
+ var $L153 = $L("keyof");
984
+ var $L154 = $L("infer");
985
+ var $L155 = $L("[]");
986
+ var $L156 = $L("civet");
987
+ var $L157 = $L(" ");
988
+ var $L158 = $L(" ");
985
989
  var $R0 = $R(new RegExp("(for|of|then|when)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
986
990
  var $R1 = $R(new RegExp("[&]", "suy"));
987
991
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
@@ -2694,10 +2698,25 @@ ${input.slice(result.pos)}
2694
2698
  return result;
2695
2699
  }
2696
2700
  }
2697
- var BindingIdentifier$0 = $TS($S(__, Identifier), function($skip, $loc, $0, $1, $2) {
2698
- return Object.assign({}, $2, {
2699
- children: [...$1, ...$2.children]
2700
- });
2701
+ var BindingIdentifier$0 = $TS($S(__, $E(At), Identifier), function($skip, $loc, $0, $1, $2, $3) {
2702
+ var ws = $1;
2703
+ var at = $2;
2704
+ var id = $3;
2705
+ if (at) {
2706
+ const ref = {
2707
+ type: "Ref",
2708
+ base: id.name
2709
+ };
2710
+ return {
2711
+ type: "AtBinding",
2712
+ children: [...ws, ref],
2713
+ ref
2714
+ };
2715
+ }
2716
+ return {
2717
+ ...id,
2718
+ children: [...ws, ...id.children]
2719
+ };
2701
2720
  });
2702
2721
  function BindingIdentifier(state) {
2703
2722
  if (state.events) {
@@ -2918,13 +2937,7 @@ ${input.slice(result.pos)}
2918
2937
  return result;
2919
2938
  }
2920
2939
  }
2921
- var NestedBindingProperty$0 = $TS($S(Nested, BindingProperty), function($skip, $loc, $0, $1, $2) {
2922
- var indent = $1;
2923
- var prop = $2;
2924
- return Object.assign({}, prop, {
2925
- children: [indent, ...prop.children]
2926
- });
2927
- });
2940
+ var NestedBindingProperty$0 = $S(Nested, BindingProperty);
2928
2941
  function NestedBindingProperty(state) {
2929
2942
  if (state.events) {
2930
2943
  const result = state.events.enter?.("NestedBindingProperty", state);
@@ -2952,6 +2965,14 @@ ${input.slice(result.pos)}
2952
2965
  });
2953
2966
  var BindingProperty$1 = $TS($S(BindingIdentifier, $E(Initializer), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
2954
2967
  var b = $1;
2968
+ if (b.type === "AtBinding") {
2969
+ return {
2970
+ type: "AtBindingProperty",
2971
+ ref: b.ref,
2972
+ names: [],
2973
+ children: $0
2974
+ };
2975
+ }
2955
2976
  return {
2956
2977
  names: b.names,
2957
2978
  children: $0
@@ -2978,9 +2999,10 @@ ${input.slice(result.pos)}
2978
2999
  var NestedBindingRestProperty$0 = $TS($S(Nested, BindingRestProperty), function($skip, $loc, $0, $1, $2) {
2979
3000
  var indent = $1;
2980
3001
  var prop = $2;
2981
- return Object.assign({}, prop, {
3002
+ return {
3003
+ ...prop,
2982
3004
  children: [indent, ...prop.children]
2983
- });
3005
+ };
2984
3006
  });
2985
3007
  function NestedBindingRestProperty(state) {
2986
3008
  if (state.events) {
@@ -3003,9 +3025,10 @@ ${input.slice(result.pos)}
3003
3025
  var BindingRestProperty$0 = $TS($S(DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2) {
3004
3026
  var d = $1;
3005
3027
  var id = $2;
3006
- return Object.assign({}, id, {
3028
+ return {
3029
+ ...id,
3007
3030
  children: [d, ...id.children]
3008
- });
3031
+ };
3009
3032
  });
3010
3033
  function BindingRestProperty(state) {
3011
3034
  if (state.events) {
@@ -3428,8 +3451,14 @@ ${input.slice(result.pos)}
3428
3451
  return result;
3429
3452
  }
3430
3453
  }
3431
- var EmptyBlock$0 = $T($S(InsertOpenBrace, InsertCloseBrace), function(value) {
3432
- return { "type": "BlockStatement", "expressions": [], "children": value, "bare": false };
3454
+ var EmptyBlock$0 = $TS($S(InsertOpenBrace, InsertCloseBrace), function($skip, $loc, $0, $1, $2) {
3455
+ const expressions = [];
3456
+ return {
3457
+ type: "BlockStatement",
3458
+ expressions,
3459
+ children: [$1, expressions, $2],
3460
+ bare: false
3461
+ };
3433
3462
  });
3434
3463
  function EmptyBlock(state) {
3435
3464
  if (state.events) {
@@ -4374,10 +4403,9 @@ ${input.slice(result.pos)}
4374
4403
  var PropertyDefinition$0 = $TS($S(At, IdentifierReference, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3) {
4375
4404
  var at = $1;
4376
4405
  var id = $2;
4377
- at.token = "this.";
4378
4406
  return {
4379
4407
  type: "Property",
4380
- children: [id, ": ", at, id],
4408
+ children: [id, ": ", { ...at, token: "this." }, id],
4381
4409
  names: id.names
4382
4410
  };
4383
4411
  });
@@ -4662,6 +4690,9 @@ ${input.slice(result.pos)}
4662
4690
  return "??=";
4663
4691
  });
4664
4692
  var AssignmentOpSymbol$16 = $EXPECT($L43, fail, 'AssignmentOpSymbol "="');
4693
+ var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentEnabled, CoffeeWordAssignmentOp), function(value) {
4694
+ return value[1];
4695
+ });
4665
4696
  function AssignmentOpSymbol(state) {
4666
4697
  if (state.events) {
4667
4698
  const result = state.events.enter?.("AssignmentOpSymbol", state);
@@ -4669,17 +4700,41 @@ ${input.slice(result.pos)}
4669
4700
  return result.cache;
4670
4701
  }
4671
4702
  if (state.tokenize) {
4672
- const result = $TOKEN("AssignmentOpSymbol", state, AssignmentOpSymbol$0(state) || AssignmentOpSymbol$1(state) || AssignmentOpSymbol$2(state) || AssignmentOpSymbol$3(state) || AssignmentOpSymbol$4(state) || AssignmentOpSymbol$5(state) || AssignmentOpSymbol$6(state) || AssignmentOpSymbol$7(state) || AssignmentOpSymbol$8(state) || AssignmentOpSymbol$9(state) || AssignmentOpSymbol$10(state) || AssignmentOpSymbol$11(state) || AssignmentOpSymbol$12(state) || AssignmentOpSymbol$13(state) || AssignmentOpSymbol$14(state) || AssignmentOpSymbol$15(state) || AssignmentOpSymbol$16(state));
4703
+ const result = $TOKEN("AssignmentOpSymbol", state, AssignmentOpSymbol$0(state) || AssignmentOpSymbol$1(state) || AssignmentOpSymbol$2(state) || AssignmentOpSymbol$3(state) || AssignmentOpSymbol$4(state) || AssignmentOpSymbol$5(state) || AssignmentOpSymbol$6(state) || AssignmentOpSymbol$7(state) || AssignmentOpSymbol$8(state) || AssignmentOpSymbol$9(state) || AssignmentOpSymbol$10(state) || AssignmentOpSymbol$11(state) || AssignmentOpSymbol$12(state) || AssignmentOpSymbol$13(state) || AssignmentOpSymbol$14(state) || AssignmentOpSymbol$15(state) || AssignmentOpSymbol$16(state) || AssignmentOpSymbol$17(state));
4673
4704
  if (state.events)
4674
4705
  state.events.exit?.("AssignmentOpSymbol", state, result);
4675
4706
  return result;
4676
4707
  } else {
4677
- const result = AssignmentOpSymbol$0(state) || AssignmentOpSymbol$1(state) || AssignmentOpSymbol$2(state) || AssignmentOpSymbol$3(state) || AssignmentOpSymbol$4(state) || AssignmentOpSymbol$5(state) || AssignmentOpSymbol$6(state) || AssignmentOpSymbol$7(state) || AssignmentOpSymbol$8(state) || AssignmentOpSymbol$9(state) || AssignmentOpSymbol$10(state) || AssignmentOpSymbol$11(state) || AssignmentOpSymbol$12(state) || AssignmentOpSymbol$13(state) || AssignmentOpSymbol$14(state) || AssignmentOpSymbol$15(state) || AssignmentOpSymbol$16(state);
4708
+ const result = AssignmentOpSymbol$0(state) || AssignmentOpSymbol$1(state) || AssignmentOpSymbol$2(state) || AssignmentOpSymbol$3(state) || AssignmentOpSymbol$4(state) || AssignmentOpSymbol$5(state) || AssignmentOpSymbol$6(state) || AssignmentOpSymbol$7(state) || AssignmentOpSymbol$8(state) || AssignmentOpSymbol$9(state) || AssignmentOpSymbol$10(state) || AssignmentOpSymbol$11(state) || AssignmentOpSymbol$12(state) || AssignmentOpSymbol$13(state) || AssignmentOpSymbol$14(state) || AssignmentOpSymbol$15(state) || AssignmentOpSymbol$16(state) || AssignmentOpSymbol$17(state);
4678
4709
  if (state.events)
4679
4710
  state.events.exit?.("AssignmentOpSymbol", state, result);
4680
4711
  return result;
4681
4712
  }
4682
4713
  }
4714
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L44, fail, 'CoffeeWordAssignmentOp "and="'), function(value) {
4715
+ return "&&=";
4716
+ });
4717
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L45, fail, 'CoffeeWordAssignmentOp "or="'), function(value) {
4718
+ return "||=";
4719
+ });
4720
+ function CoffeeWordAssignmentOp(state) {
4721
+ if (state.events) {
4722
+ const result = state.events.enter?.("CoffeeWordAssignmentOp", state);
4723
+ if (result)
4724
+ return result.cache;
4725
+ }
4726
+ if (state.tokenize) {
4727
+ const result = $TOKEN("CoffeeWordAssignmentOp", state, CoffeeWordAssignmentOp$0(state) || CoffeeWordAssignmentOp$1(state));
4728
+ if (state.events)
4729
+ state.events.exit?.("CoffeeWordAssignmentOp", state, result);
4730
+ return result;
4731
+ } else {
4732
+ const result = CoffeeWordAssignmentOp$0(state) || CoffeeWordAssignmentOp$1(state);
4733
+ if (state.events)
4734
+ state.events.exit?.("CoffeeWordAssignmentOp", state, result);
4735
+ return result;
4736
+ }
4737
+ }
4683
4738
  var BinaryOp$0 = $TS($S(BinaryOpSymbol), function($skip, $loc, $0, $1) {
4684
4739
  if (typeof $1 === "string")
4685
4740
  return { $loc, token: $1 };
@@ -4703,75 +4758,75 @@ ${input.slice(result.pos)}
4703
4758
  return result;
4704
4759
  }
4705
4760
  }
4706
- var BinaryOpSymbol$0 = $EXPECT($L44, fail, 'BinaryOpSymbol "**"');
4707
- var BinaryOpSymbol$1 = $EXPECT($L45, fail, 'BinaryOpSymbol "*"');
4708
- var BinaryOpSymbol$2 = $EXPECT($L46, fail, 'BinaryOpSymbol "/"');
4709
- var BinaryOpSymbol$3 = $EXPECT($L47, fail, 'BinaryOpSymbol "%"');
4710
- var BinaryOpSymbol$4 = $EXPECT($L48, fail, 'BinaryOpSymbol "+"');
4711
- var BinaryOpSymbol$5 = $EXPECT($L49, fail, 'BinaryOpSymbol "-"');
4712
- var BinaryOpSymbol$6 = $EXPECT($L50, fail, 'BinaryOpSymbol "<="');
4713
- var BinaryOpSymbol$7 = $EXPECT($L51, fail, 'BinaryOpSymbol ">="');
4714
- var BinaryOpSymbol$8 = $EXPECT($L52, fail, 'BinaryOpSymbol "<<"');
4761
+ var BinaryOpSymbol$0 = $EXPECT($L46, fail, 'BinaryOpSymbol "**"');
4762
+ var BinaryOpSymbol$1 = $EXPECT($L47, fail, 'BinaryOpSymbol "*"');
4763
+ var BinaryOpSymbol$2 = $EXPECT($L48, fail, 'BinaryOpSymbol "/"');
4764
+ var BinaryOpSymbol$3 = $EXPECT($L49, fail, 'BinaryOpSymbol "%"');
4765
+ var BinaryOpSymbol$4 = $EXPECT($L50, fail, 'BinaryOpSymbol "+"');
4766
+ var BinaryOpSymbol$5 = $EXPECT($L51, fail, 'BinaryOpSymbol "-"');
4767
+ var BinaryOpSymbol$6 = $EXPECT($L52, fail, 'BinaryOpSymbol "<="');
4768
+ var BinaryOpSymbol$7 = $EXPECT($L53, fail, 'BinaryOpSymbol ">="');
4769
+ var BinaryOpSymbol$8 = $EXPECT($L54, fail, 'BinaryOpSymbol "<<"');
4715
4770
  var BinaryOpSymbol$9 = $EXPECT($L4, fail, 'BinaryOpSymbol "<"');
4716
- var BinaryOpSymbol$10 = $EXPECT($L53, fail, 'BinaryOpSymbol ">>>"');
4717
- var BinaryOpSymbol$11 = $EXPECT($L54, fail, 'BinaryOpSymbol ">>"');
4718
- var BinaryOpSymbol$12 = $EXPECT($L55, fail, 'BinaryOpSymbol ">"');
4719
- var BinaryOpSymbol$13 = $EXPECT($L56, fail, 'BinaryOpSymbol "!=="');
4720
- var BinaryOpSymbol$14 = $TV($EXPECT($L57, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
4771
+ var BinaryOpSymbol$10 = $EXPECT($L55, fail, 'BinaryOpSymbol ">>>"');
4772
+ var BinaryOpSymbol$11 = $EXPECT($L56, fail, 'BinaryOpSymbol ">>"');
4773
+ var BinaryOpSymbol$12 = $EXPECT($L57, fail, 'BinaryOpSymbol ">"');
4774
+ var BinaryOpSymbol$13 = $EXPECT($L58, fail, 'BinaryOpSymbol "!=="');
4775
+ var BinaryOpSymbol$14 = $TV($EXPECT($L59, fail, 'BinaryOpSymbol "!="'), function($skip, $loc, $0, $1) {
4721
4776
  if (module.config.coffeeEq)
4722
4777
  return "!==";
4723
4778
  return $1;
4724
4779
  });
4725
- var BinaryOpSymbol$15 = $TS($S($EXPECT($L58, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4780
+ var BinaryOpSymbol$15 = $TS($S($EXPECT($L60, fail, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4726
4781
  if (module.config.coffeeIsnt)
4727
4782
  return "!==";
4728
4783
  return $skip;
4729
4784
  });
4730
- var BinaryOpSymbol$16 = $T($S($EXPECT($L59, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
4785
+ var BinaryOpSymbol$16 = $T($S($EXPECT($L61, fail, 'BinaryOpSymbol "is"'), NonIdContinue), function(value) {
4731
4786
  return "===";
4732
4787
  });
4733
- var BinaryOpSymbol$17 = $EXPECT($L60, fail, 'BinaryOpSymbol "==="');
4734
- var BinaryOpSymbol$18 = $TV($EXPECT($L61, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
4788
+ var BinaryOpSymbol$17 = $EXPECT($L62, fail, 'BinaryOpSymbol "==="');
4789
+ var BinaryOpSymbol$18 = $TV($EXPECT($L63, fail, 'BinaryOpSymbol "=="'), function($skip, $loc, $0, $1) {
4735
4790
  if (module.config.coffeeEq)
4736
4791
  return "===";
4737
4792
  return $1;
4738
4793
  });
4739
- var BinaryOpSymbol$19 = $T($S($EXPECT($L62, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
4794
+ var BinaryOpSymbol$19 = $T($S($EXPECT($L64, fail, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
4740
4795
  return "&&";
4741
4796
  });
4742
- var BinaryOpSymbol$20 = $EXPECT($L63, fail, 'BinaryOpSymbol "&&"');
4743
- var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L64, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
4797
+ var BinaryOpSymbol$20 = $EXPECT($L65, fail, 'BinaryOpSymbol "&&"');
4798
+ var BinaryOpSymbol$21 = $T($S(CoffeeOfEnabled, $EXPECT($L66, fail, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
4744
4799
  return "in";
4745
4800
  });
4746
- var BinaryOpSymbol$22 = $T($S($EXPECT($L65, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
4801
+ var BinaryOpSymbol$22 = $T($S($EXPECT($L67, fail, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
4747
4802
  return "||";
4748
4803
  });
4749
- var BinaryOpSymbol$23 = $EXPECT($L66, fail, 'BinaryOpSymbol "||"');
4750
- var BinaryOpSymbol$24 = $EXPECT($L67, fail, 'BinaryOpSymbol "??"');
4751
- var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L68, fail, 'BinaryOpSymbol "?"')), function(value) {
4804
+ var BinaryOpSymbol$23 = $EXPECT($L68, fail, 'BinaryOpSymbol "||"');
4805
+ var BinaryOpSymbol$24 = $EXPECT($L69, fail, 'BinaryOpSymbol "??"');
4806
+ var BinaryOpSymbol$25 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L70, fail, 'BinaryOpSymbol "?"')), function(value) {
4752
4807
  return "??";
4753
4808
  });
4754
- var BinaryOpSymbol$26 = $TS($S($EXPECT($L69, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4809
+ var BinaryOpSymbol$26 = $TS($S($EXPECT($L71, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4755
4810
  return $1;
4756
4811
  });
4757
- var BinaryOpSymbol$27 = $TS($S(CoffeeOfEnabled, $EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
4812
+ var BinaryOpSymbol$27 = $TS($S(CoffeeOfEnabled, $EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
4758
4813
  return {
4759
4814
  ref: module.getIndexOfRef(),
4760
4815
  suffix: " >= 0"
4761
4816
  };
4762
4817
  });
4763
- var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L71, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4818
+ var BinaryOpSymbol$28 = $TS($S(CoffeeOfEnabled, $EXPECT($L73, fail, 'BinaryOpSymbol "not"'), NonIdContinue, __, $EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
4764
4819
  return {
4765
4820
  ref: module.getIndexOfRef(),
4766
4821
  suffix: " < 0"
4767
4822
  };
4768
4823
  });
4769
- var BinaryOpSymbol$29 = $TS($S($EXPECT($L70, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4824
+ var BinaryOpSymbol$29 = $TS($S($EXPECT($L72, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4770
4825
  return $1;
4771
4826
  });
4772
- var BinaryOpSymbol$30 = $EXPECT($L72, fail, 'BinaryOpSymbol "&"');
4773
- var BinaryOpSymbol$31 = $EXPECT($L73, fail, 'BinaryOpSymbol "^"');
4774
- var BinaryOpSymbol$32 = $EXPECT($L74, fail, 'BinaryOpSymbol "|"');
4827
+ var BinaryOpSymbol$30 = $EXPECT($L74, fail, 'BinaryOpSymbol "&"');
4828
+ var BinaryOpSymbol$31 = $EXPECT($L75, fail, 'BinaryOpSymbol "^"');
4829
+ var BinaryOpSymbol$32 = $EXPECT($L76, fail, 'BinaryOpSymbol "|"');
4775
4830
  function BinaryOpSymbol(state) {
4776
4831
  if (state.events) {
4777
4832
  const result = state.events.enter?.("BinaryOpSymbol", state);
@@ -4910,7 +4965,7 @@ ${input.slice(result.pos)}
4910
4965
  return result;
4911
4966
  }
4912
4967
  }
4913
- var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L75, fail, 'EmptyStatement ";"'))), function(value) {
4968
+ var EmptyStatement$0 = $T($S($Q(TrailingComment), $Y($EXPECT($L77, fail, 'EmptyStatement ";"'))), function(value) {
4914
4969
  return { "type": "EmptyStatement", "children": value[0] };
4915
4970
  });
4916
4971
  function EmptyStatement(state) {
@@ -5708,7 +5763,7 @@ ${input.slice(result.pos)}
5708
5763
  return result;
5709
5764
  }
5710
5765
  }
5711
- var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L76, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
5766
+ var CoffeeForDeclaration$0 = $TS($S($E($S(__, $EXPECT($L78, fail, 'CoffeeForDeclaration "own"'))), ForBinding), function($skip, $loc, $0, $1, $2) {
5712
5767
  var own = $1;
5713
5768
  var binding = $2;
5714
5769
  if (own) {
@@ -6245,7 +6300,7 @@ ${input.slice(result.pos)}
6245
6300
  return result;
6246
6301
  }
6247
6302
  }
6248
- var Finally$0 = $S(__, $EXPECT($L77, fail, 'Finally "finally"'), BracedBlock);
6303
+ var Finally$0 = $S(__, $EXPECT($L79, fail, 'Finally "finally"'), BracedBlock);
6249
6304
  function Finally(state) {
6250
6305
  if (state.events) {
6251
6306
  const result = state.events.enter?.("Finally", state);
@@ -6335,13 +6390,13 @@ ${input.slice(result.pos)}
6335
6390
  return result;
6336
6391
  }
6337
6392
  }
6338
- var KeywordStatement$0 = $T($S($EXPECT($L78, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6393
+ var KeywordStatement$0 = $T($S($EXPECT($L80, fail, 'KeywordStatement "break"'), NonIdContinue), function(value) {
6339
6394
  return { "type": "BreakStatement", "children": value };
6340
6395
  });
6341
- var KeywordStatement$1 = $T($S($EXPECT($L79, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6396
+ var KeywordStatement$1 = $T($S($EXPECT($L81, fail, 'KeywordStatement "continue"'), NonIdContinue), function(value) {
6342
6397
  return { "type": "ContinueStatement", "children": value };
6343
6398
  });
6344
- var KeywordStatement$2 = $T($S($EXPECT($L80, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6399
+ var KeywordStatement$2 = $T($S($EXPECT($L82, fail, 'KeywordStatement "debugger"'), NonIdContinue), function(value) {
6345
6400
  return { "type": "DebuggerStatement", "children": value };
6346
6401
  });
6347
6402
  var KeywordStatement$3 = $T($S(Return, $E(MaybeNestedExpression)), function(value) {
@@ -6368,7 +6423,7 @@ ${input.slice(result.pos)}
6368
6423
  return result;
6369
6424
  }
6370
6425
  }
6371
- var DebuggerExpression$0 = $TS($S($EXPECT($L80, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6426
+ var DebuggerExpression$0 = $TS($S($EXPECT($L82, fail, 'DebuggerExpression "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6372
6427
  return {
6373
6428
  type: "DebuggerExpression",
6374
6429
  children: ["(()=>{", $1, "})()"]
@@ -6440,7 +6495,7 @@ ${input.slice(result.pos)}
6440
6495
  return result;
6441
6496
  }
6442
6497
  }
6443
- var ImportDeclaration$0 = $T($S($EXPECT($L81, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6498
+ var ImportDeclaration$0 = $T($S($EXPECT($L83, fail, 'ImportDeclaration "import type"'), NonIdContinue, __, ImportClause, __, FromClause), function(value) {
6444
6499
  return { "ts": true, "children": value };
6445
6500
  });
6446
6501
  var ImportDeclaration$1 = $S(Import, __, ImportClause, __, FromClause);
@@ -6740,7 +6795,7 @@ ${input.slice(result.pos)}
6740
6795
  return result;
6741
6796
  }
6742
6797
  }
6743
- var ExportDeclaration$0 = $S(Export, __, $EXPECT($L82, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
6798
+ var ExportDeclaration$0 = $S(Export, __, $EXPECT($L84, fail, 'ExportDeclaration "default"'), NonIdContinue, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression));
6744
6799
  var ExportDeclaration$1 = $S(Export, __, ExportFromClause, __, FromClause);
6745
6800
  var ExportDeclaration$2 = $S(Export, __, $C(NamedExports, VariableStatement, Declaration));
6746
6801
  function ExportDeclaration(state) {
@@ -6925,7 +6980,7 @@ ${input.slice(result.pos)}
6925
6980
  return result;
6926
6981
  }
6927
6982
  }
6928
- var ConstAssignment$0 = $TV($EXPECT($L83, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
6983
+ var ConstAssignment$0 = $TV($EXPECT($L85, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
6929
6984
  return { $loc, token: "=" };
6930
6985
  });
6931
6986
  function ConstAssignment(state) {
@@ -7484,7 +7539,7 @@ ${input.slice(result.pos)}
7484
7539
  }
7485
7540
  }
7486
7541
  var RegularExpressionLiteral$0 = HeregexLiteral;
7487
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L46, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L46, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
7542
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L48, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L48, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
7488
7543
  return { $loc, token: $1 };
7489
7544
  });
7490
7545
  function RegularExpressionLiteral(state) {
@@ -7552,7 +7607,6 @@ ${input.slice(result.pos)}
7552
7607
  var body = $2;
7553
7608
  var close = $3;
7554
7609
  var flags = $4;
7555
- debugger;
7556
7610
  let hasSubstitutions = body.some((part) => part.type === "Substitution");
7557
7611
  if (hasSubstitutions) {
7558
7612
  const result = [
@@ -7930,7 +7984,7 @@ ${input.slice(result.pos)}
7930
7984
  return result;
7931
7985
  }
7932
7986
  }
7933
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($R35, fail, "JSMultiLineComment /./"))), $EXPECT($L85, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
7987
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R35, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
7934
7988
  return { $loc, token: $1 };
7935
7989
  });
7936
7990
  function JSMultiLineComment(state) {
@@ -7972,7 +8026,7 @@ ${input.slice(result.pos)}
7972
8026
  return result;
7973
8027
  }
7974
8028
  }
7975
- var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L86, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
8029
+ var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L88, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L88, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R35, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L88, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
7976
8030
  return { $loc, token: `/*${$2}*/` };
7977
8031
  });
7978
8032
  function CoffeeMultiLineComment(state) {
@@ -7993,7 +8047,7 @@ ${input.slice(result.pos)}
7993
8047
  return result;
7994
8048
  }
7995
8049
  }
7996
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($R37, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L85, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8050
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R37, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
7997
8051
  return { $loc, token: $1 };
7998
8052
  });
7999
8053
  function InlineComment(state) {
@@ -8076,7 +8130,7 @@ ${input.slice(result.pos)}
8076
8130
  var NonNewlineWhitespace$0 = $TR($EXPECT($R38, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8077
8131
  return { $loc, token: $0 };
8078
8132
  });
8079
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L87, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8133
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L89, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
8080
8134
  return "";
8081
8135
  });
8082
8136
  function NonNewlineWhitespace(state) {
@@ -8222,7 +8276,7 @@ ${input.slice(result.pos)}
8222
8276
  return result;
8223
8277
  }
8224
8278
  }
8225
- var Ampersand$0 = $TV($EXPECT($L72, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
8279
+ var Ampersand$0 = $TV($EXPECT($L74, fail, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
8226
8280
  return { $loc, token: $1 };
8227
8281
  });
8228
8282
  function Ampersand(state) {
@@ -8243,7 +8297,7 @@ ${input.slice(result.pos)}
8243
8297
  return result;
8244
8298
  }
8245
8299
  }
8246
- var As$0 = $TS($S($EXPECT($L88, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8300
+ var As$0 = $TS($S($EXPECT($L90, fail, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8247
8301
  return { $loc, token: $1 };
8248
8302
  });
8249
8303
  function As(state) {
@@ -8264,7 +8318,7 @@ ${input.slice(result.pos)}
8264
8318
  return result;
8265
8319
  }
8266
8320
  }
8267
- var At$0 = $TV($EXPECT($L89, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8321
+ var At$0 = $TV($EXPECT($L91, fail, 'At "@"'), function($skip, $loc, $0, $1) {
8268
8322
  return { $loc, token: $1 };
8269
8323
  });
8270
8324
  function At(state) {
@@ -8285,7 +8339,7 @@ ${input.slice(result.pos)}
8285
8339
  return result;
8286
8340
  }
8287
8341
  }
8288
- var Async$0 = $TV($EXPECT($L90, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8342
+ var Async$0 = $TV($EXPECT($L92, fail, 'Async "async"'), function($skip, $loc, $0, $1) {
8289
8343
  return { $loc, token: $1 };
8290
8344
  });
8291
8345
  function Async(state) {
@@ -8306,7 +8360,7 @@ ${input.slice(result.pos)}
8306
8360
  return result;
8307
8361
  }
8308
8362
  }
8309
- var Await$0 = $TS($S($EXPECT($L91, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8363
+ var Await$0 = $TS($S($EXPECT($L93, fail, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8310
8364
  return { $loc, token: $1 };
8311
8365
  });
8312
8366
  function Await(state) {
@@ -8327,7 +8381,7 @@ ${input.slice(result.pos)}
8327
8381
  return result;
8328
8382
  }
8329
8383
  }
8330
- var Backtick$0 = $TV($EXPECT($L92, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8384
+ var Backtick$0 = $TV($EXPECT($L94, fail, 'Backtick "`"'), function($skip, $loc, $0, $1) {
8331
8385
  return { $loc, token: $1 };
8332
8386
  });
8333
8387
  function Backtick(state) {
@@ -8348,7 +8402,7 @@ ${input.slice(result.pos)}
8348
8402
  return result;
8349
8403
  }
8350
8404
  }
8351
- var By$0 = $TS($S($EXPECT($L93, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8405
+ var By$0 = $TS($S($EXPECT($L95, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8352
8406
  return { $loc, token: $1 };
8353
8407
  });
8354
8408
  function By(state) {
@@ -8369,7 +8423,7 @@ ${input.slice(result.pos)}
8369
8423
  return result;
8370
8424
  }
8371
8425
  }
8372
- var Case$0 = $TS($S($EXPECT($L94, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8426
+ var Case$0 = $TS($S($EXPECT($L96, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8373
8427
  return { $loc, token: $1 };
8374
8428
  });
8375
8429
  function Case(state) {
@@ -8390,7 +8444,7 @@ ${input.slice(result.pos)}
8390
8444
  return result;
8391
8445
  }
8392
8446
  }
8393
- var Catch$0 = $TV($EXPECT($L95, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8447
+ var Catch$0 = $TV($EXPECT($L97, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
8394
8448
  return { $loc, token: $1 };
8395
8449
  });
8396
8450
  function Catch(state) {
@@ -8411,7 +8465,7 @@ ${input.slice(result.pos)}
8411
8465
  return result;
8412
8466
  }
8413
8467
  }
8414
- var Class$0 = $TV($EXPECT($L96, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8468
+ var Class$0 = $TV($EXPECT($L98, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
8415
8469
  return { $loc, token: $1 };
8416
8470
  });
8417
8471
  function Class(state) {
@@ -8495,7 +8549,7 @@ ${input.slice(result.pos)}
8495
8549
  return result;
8496
8550
  }
8497
8551
  }
8498
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L97, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8552
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L99, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
8499
8553
  return { $loc, token: "${" };
8500
8554
  });
8501
8555
  function CoffeeSubstitutionStart(state) {
@@ -8516,7 +8570,7 @@ ${input.slice(result.pos)}
8516
8570
  return result;
8517
8571
  }
8518
8572
  }
8519
- var Colon$0 = $TV($EXPECT($L98, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8573
+ var Colon$0 = $TV($EXPECT($L100, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
8520
8574
  return { $loc, token: $1 };
8521
8575
  });
8522
8576
  function Colon(state) {
@@ -8537,7 +8591,7 @@ ${input.slice(result.pos)}
8537
8591
  return result;
8538
8592
  }
8539
8593
  }
8540
- var ConstructorShorthand$0 = $TV($EXPECT($L89, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8594
+ var ConstructorShorthand$0 = $TV($EXPECT($L91, fail, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
8541
8595
  return { $loc, token: "constructor" };
8542
8596
  });
8543
8597
  function ConstructorShorthand(state) {
@@ -8558,7 +8612,7 @@ ${input.slice(result.pos)}
8558
8612
  return result;
8559
8613
  }
8560
8614
  }
8561
- var Default$0 = $TS($S($EXPECT($L82, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8615
+ var Default$0 = $TS($S($EXPECT($L84, fail, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8562
8616
  return { $loc, token: $1 };
8563
8617
  });
8564
8618
  function Default(state) {
@@ -8579,7 +8633,7 @@ ${input.slice(result.pos)}
8579
8633
  return result;
8580
8634
  }
8581
8635
  }
8582
- var Delete$0 = $TS($S($EXPECT($L99, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8636
+ var Delete$0 = $TS($S($EXPECT($L101, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8583
8637
  return { $loc, token: $1 };
8584
8638
  });
8585
8639
  function Delete(state) {
@@ -8600,7 +8654,7 @@ ${input.slice(result.pos)}
8600
8654
  return result;
8601
8655
  }
8602
8656
  }
8603
- var Do$0 = $TS($S($EXPECT($L100, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8657
+ var Do$0 = $TS($S($EXPECT($L102, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8604
8658
  return { $loc, token: $1 };
8605
8659
  });
8606
8660
  function Do(state) {
@@ -8642,7 +8696,7 @@ ${input.slice(result.pos)}
8642
8696
  return result;
8643
8697
  }
8644
8698
  }
8645
- var DotDot$0 = $TV($EXPECT($L101, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8699
+ var DotDot$0 = $TV($EXPECT($L103, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
8646
8700
  return { $loc, token: $1 };
8647
8701
  });
8648
8702
  function DotDot(state) {
@@ -8663,7 +8717,7 @@ ${input.slice(result.pos)}
8663
8717
  return result;
8664
8718
  }
8665
8719
  }
8666
- var DotDotDot$0 = $TV($EXPECT($L102, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
8720
+ var DotDotDot$0 = $TV($EXPECT($L104, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
8667
8721
  return { $loc, token: $1 };
8668
8722
  });
8669
8723
  function DotDotDot(state) {
@@ -8684,7 +8738,7 @@ ${input.slice(result.pos)}
8684
8738
  return result;
8685
8739
  }
8686
8740
  }
8687
- var DoubleColon$0 = $TV($EXPECT($L103, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
8741
+ var DoubleColon$0 = $TV($EXPECT($L105, fail, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
8688
8742
  return { $loc, token: $1 };
8689
8743
  });
8690
8744
  function DoubleColon(state) {
@@ -8705,7 +8759,7 @@ ${input.slice(result.pos)}
8705
8759
  return result;
8706
8760
  }
8707
8761
  }
8708
- var DoubleQuote$0 = $TV($EXPECT($L104, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
8762
+ var DoubleQuote$0 = $TV($EXPECT($L106, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
8709
8763
  return { $loc, token: $1 };
8710
8764
  });
8711
8765
  function DoubleQuote(state) {
@@ -8726,7 +8780,7 @@ ${input.slice(result.pos)}
8726
8780
  return result;
8727
8781
  }
8728
8782
  }
8729
- var Else$0 = $TV($EXPECT($L105, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
8783
+ var Else$0 = $TV($EXPECT($L107, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
8730
8784
  return { $loc, token: $1 };
8731
8785
  });
8732
8786
  function Else(state) {
@@ -8768,7 +8822,7 @@ ${input.slice(result.pos)}
8768
8822
  return result;
8769
8823
  }
8770
8824
  }
8771
- var Export$0 = $TS($S($EXPECT($L106, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8825
+ var Export$0 = $TS($S($EXPECT($L108, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8772
8826
  return { $loc, token: $1 };
8773
8827
  });
8774
8828
  function Export(state) {
@@ -8789,7 +8843,7 @@ ${input.slice(result.pos)}
8789
8843
  return result;
8790
8844
  }
8791
8845
  }
8792
- var For$0 = $TS($S($EXPECT($L107, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8846
+ var For$0 = $TS($S($EXPECT($L109, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8793
8847
  return { $loc, token: $1 };
8794
8848
  });
8795
8849
  function For(state) {
@@ -8810,7 +8864,7 @@ ${input.slice(result.pos)}
8810
8864
  return result;
8811
8865
  }
8812
8866
  }
8813
- var From$0 = $TS($S($EXPECT($L108, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8867
+ var From$0 = $TS($S($EXPECT($L110, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8814
8868
  return { $loc, token: $1 };
8815
8869
  });
8816
8870
  function From(state) {
@@ -8831,7 +8885,7 @@ ${input.slice(result.pos)}
8831
8885
  return result;
8832
8886
  }
8833
8887
  }
8834
- var Function$0 = $TV($EXPECT($L109, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
8888
+ var Function$0 = $TV($EXPECT($L111, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
8835
8889
  return { $loc, token: $1 };
8836
8890
  });
8837
8891
  function Function(state) {
@@ -8852,7 +8906,7 @@ ${input.slice(result.pos)}
8852
8906
  return result;
8853
8907
  }
8854
8908
  }
8855
- var GetOrSet$0 = $TS($S($C($EXPECT($L110, fail, 'GetOrSet "get"'), $EXPECT($L111, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8909
+ var GetOrSet$0 = $TS($S($C($EXPECT($L112, fail, 'GetOrSet "get"'), $EXPECT($L113, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8856
8910
  return { $loc, token: $1 };
8857
8911
  });
8858
8912
  function GetOrSet(state) {
@@ -8873,7 +8927,7 @@ ${input.slice(result.pos)}
8873
8927
  return result;
8874
8928
  }
8875
8929
  }
8876
- var If$0 = $TV($TEXT($S($EXPECT($L112, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
8930
+ var If$0 = $TV($TEXT($S($EXPECT($L114, fail, 'If "if"'), $E($EXPECT($L3, fail, 'If " "')))), function($skip, $loc, $0, $1) {
8877
8931
  return { $loc, token: $1 };
8878
8932
  });
8879
8933
  function If(state) {
@@ -8915,7 +8969,7 @@ ${input.slice(result.pos)}
8915
8969
  return result;
8916
8970
  }
8917
8971
  }
8918
- var In$0 = $TV($EXPECT($L70, fail, 'In "in"'), function($skip, $loc, $0, $1) {
8972
+ var In$0 = $TV($EXPECT($L72, fail, 'In "in"'), function($skip, $loc, $0, $1) {
8919
8973
  return { $loc, token: $1 };
8920
8974
  });
8921
8975
  function In(state) {
@@ -8936,7 +8990,7 @@ ${input.slice(result.pos)}
8936
8990
  return result;
8937
8991
  }
8938
8992
  }
8939
- var LetOrConst$0 = $TV($C($EXPECT($L113, fail, 'LetOrConst "let"'), $EXPECT($L114, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
8993
+ var LetOrConst$0 = $TV($C($EXPECT($L115, fail, 'LetOrConst "let"'), $EXPECT($L116, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
8940
8994
  return { $loc, token: $1 };
8941
8995
  });
8942
8996
  function LetOrConst(state) {
@@ -8957,7 +9011,7 @@ ${input.slice(result.pos)}
8957
9011
  return result;
8958
9012
  }
8959
9013
  }
8960
- var Loop$0 = $TS($S($EXPECT($L115, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9014
+ var Loop$0 = $TS($S($EXPECT($L117, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8961
9015
  return { $loc, token: "while(true)" };
8962
9016
  });
8963
9017
  function Loop(state) {
@@ -8978,7 +9032,7 @@ ${input.slice(result.pos)}
8978
9032
  return result;
8979
9033
  }
8980
9034
  }
8981
- var New$0 = $TV($EXPECT($L116, fail, 'New "new"'), function($skip, $loc, $0, $1) {
9035
+ var New$0 = $TV($EXPECT($L118, fail, 'New "new"'), function($skip, $loc, $0, $1) {
8982
9036
  return { $loc, token: $1 };
8983
9037
  });
8984
9038
  function New(state) {
@@ -8999,7 +9053,7 @@ ${input.slice(result.pos)}
8999
9053
  return result;
9000
9054
  }
9001
9055
  }
9002
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L71, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9056
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L73, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L3, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
9003
9057
  return { $loc, token: "!" };
9004
9058
  });
9005
9059
  function Not(state) {
@@ -9020,7 +9074,7 @@ ${input.slice(result.pos)}
9020
9074
  return result;
9021
9075
  }
9022
9076
  }
9023
- var Of$0 = $TV($EXPECT($L64, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
9077
+ var Of$0 = $TV($EXPECT($L66, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
9024
9078
  return { $loc, token: $1 };
9025
9079
  });
9026
9080
  function Of(state) {
@@ -9041,7 +9095,7 @@ ${input.slice(result.pos)}
9041
9095
  return result;
9042
9096
  }
9043
9097
  }
9044
- var OpenBrace$0 = $TV($EXPECT($L117, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9098
+ var OpenBrace$0 = $TV($EXPECT($L119, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
9045
9099
  return { $loc, token: $1 };
9046
9100
  });
9047
9101
  function OpenBrace(state) {
@@ -9062,7 +9116,7 @@ ${input.slice(result.pos)}
9062
9116
  return result;
9063
9117
  }
9064
9118
  }
9065
- var OpenBracket$0 = $TV($EXPECT($L118, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9119
+ var OpenBracket$0 = $TV($EXPECT($L120, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
9066
9120
  return { $loc, token: $1 };
9067
9121
  });
9068
9122
  function OpenBracket(state) {
@@ -9083,7 +9137,7 @@ ${input.slice(result.pos)}
9083
9137
  return result;
9084
9138
  }
9085
9139
  }
9086
- var OpenParen$0 = $TV($EXPECT($L119, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9140
+ var OpenParen$0 = $TV($EXPECT($L121, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
9087
9141
  return { $loc, token: $1 };
9088
9142
  });
9089
9143
  function OpenParen(state) {
@@ -9104,7 +9158,7 @@ ${input.slice(result.pos)}
9104
9158
  return result;
9105
9159
  }
9106
9160
  }
9107
- var QuestionMark$0 = $TV($EXPECT($L68, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
9161
+ var QuestionMark$0 = $TV($EXPECT($L70, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
9108
9162
  return { $loc, token: $1 };
9109
9163
  });
9110
9164
  function QuestionMark(state) {
@@ -9125,7 +9179,7 @@ ${input.slice(result.pos)}
9125
9179
  return result;
9126
9180
  }
9127
9181
  }
9128
- var Return$0 = $TS($S($EXPECT($L120, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9182
+ var Return$0 = $TS($S($EXPECT($L122, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9129
9183
  return { $loc, token: $1 };
9130
9184
  });
9131
9185
  function Return(state) {
@@ -9146,7 +9200,7 @@ ${input.slice(result.pos)}
9146
9200
  return result;
9147
9201
  }
9148
9202
  }
9149
- var Semicolon$0 = $TV($EXPECT($L75, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
9203
+ var Semicolon$0 = $TV($EXPECT($L77, fail, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
9150
9204
  return { $loc, token: $1 };
9151
9205
  });
9152
9206
  function Semicolon(state) {
@@ -9167,7 +9221,7 @@ ${input.slice(result.pos)}
9167
9221
  return result;
9168
9222
  }
9169
9223
  }
9170
- var SingleQuote$0 = $TV($EXPECT($L121, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
9224
+ var SingleQuote$0 = $TV($EXPECT($L123, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
9171
9225
  return { $loc, token: $1 };
9172
9226
  });
9173
9227
  function SingleQuote(state) {
@@ -9188,7 +9242,7 @@ ${input.slice(result.pos)}
9188
9242
  return result;
9189
9243
  }
9190
9244
  }
9191
- var Star$0 = $TV($EXPECT($L45, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
9245
+ var Star$0 = $TV($EXPECT($L47, fail, 'Star "*"'), function($skip, $loc, $0, $1) {
9192
9246
  return { $loc, token: $1 };
9193
9247
  });
9194
9248
  function Star(state) {
@@ -9209,10 +9263,10 @@ ${input.slice(result.pos)}
9209
9263
  return result;
9210
9264
  }
9211
9265
  }
9212
- var Static$0 = $TV($EXPECT($L122, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
9266
+ var Static$0 = $TV($EXPECT($L124, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
9213
9267
  return { $loc, token: $1 };
9214
9268
  });
9215
- var Static$1 = $TS($S($EXPECT($L89, fail, 'Static "@"'), $N($EXPECT($L119, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
9269
+ var Static$1 = $TS($S($EXPECT($L91, fail, 'Static "@"'), $N($EXPECT($L121, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
9216
9270
  return { $loc, token: "static " };
9217
9271
  });
9218
9272
  function Static(state) {
@@ -9233,7 +9287,7 @@ ${input.slice(result.pos)}
9233
9287
  return result;
9234
9288
  }
9235
9289
  }
9236
- var SubstitutionStart$0 = $TV($EXPECT($L123, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
9290
+ var SubstitutionStart$0 = $TV($EXPECT($L125, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
9237
9291
  return { $loc, token: $1 };
9238
9292
  });
9239
9293
  function SubstitutionStart(state) {
@@ -9254,7 +9308,7 @@ ${input.slice(result.pos)}
9254
9308
  return result;
9255
9309
  }
9256
9310
  }
9257
- var Switch$0 = $TS($S($EXPECT($L124, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9311
+ var Switch$0 = $TS($S($EXPECT($L126, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9258
9312
  return { $loc, token: $1 };
9259
9313
  });
9260
9314
  function Switch(state) {
@@ -9275,7 +9329,7 @@ ${input.slice(result.pos)}
9275
9329
  return result;
9276
9330
  }
9277
9331
  }
9278
- var Target$0 = $TV($EXPECT($L125, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9332
+ var Target$0 = $TV($EXPECT($L127, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
9279
9333
  return { $loc, token: $1 };
9280
9334
  });
9281
9335
  function Target(state) {
@@ -9296,7 +9350,7 @@ ${input.slice(result.pos)}
9296
9350
  return result;
9297
9351
  }
9298
9352
  }
9299
- var Then$0 = $TS($S(__, $EXPECT($L126, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9353
+ var Then$0 = $TS($S(__, $EXPECT($L128, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
9300
9354
  return { $loc, token: "" };
9301
9355
  });
9302
9356
  function Then(state) {
@@ -9317,7 +9371,7 @@ ${input.slice(result.pos)}
9317
9371
  return result;
9318
9372
  }
9319
9373
  }
9320
- var Throw$0 = $TS($S($EXPECT($L127, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9374
+ var Throw$0 = $TS($S($EXPECT($L129, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9321
9375
  return { $loc, token: $1 };
9322
9376
  });
9323
9377
  function Throw(state) {
@@ -9338,7 +9392,7 @@ ${input.slice(result.pos)}
9338
9392
  return result;
9339
9393
  }
9340
9394
  }
9341
- var TripleDoubleQuote$0 = $TV($EXPECT($L128, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9395
+ var TripleDoubleQuote$0 = $TV($EXPECT($L130, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
9342
9396
  return { $loc, token: "`" };
9343
9397
  });
9344
9398
  function TripleDoubleQuote(state) {
@@ -9359,7 +9413,7 @@ ${input.slice(result.pos)}
9359
9413
  return result;
9360
9414
  }
9361
9415
  }
9362
- var TripleSingleQuote$0 = $TV($EXPECT($L129, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9416
+ var TripleSingleQuote$0 = $TV($EXPECT($L131, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
9363
9417
  return { $loc, token: "`" };
9364
9418
  });
9365
9419
  function TripleSingleQuote(state) {
@@ -9380,7 +9434,7 @@ ${input.slice(result.pos)}
9380
9434
  return result;
9381
9435
  }
9382
9436
  }
9383
- var TripleSlash$0 = $TV($EXPECT($L130, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
9437
+ var TripleSlash$0 = $TV($EXPECT($L132, fail, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
9384
9438
  return { $loc, token: "/" };
9385
9439
  });
9386
9440
  function TripleSlash(state) {
@@ -9401,7 +9455,7 @@ ${input.slice(result.pos)}
9401
9455
  return result;
9402
9456
  }
9403
9457
  }
9404
- var TripleTick$0 = $TV($EXPECT($L131, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9458
+ var TripleTick$0 = $TV($EXPECT($L133, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
9405
9459
  return { $loc, token: "`" };
9406
9460
  });
9407
9461
  function TripleTick(state) {
@@ -9422,7 +9476,7 @@ ${input.slice(result.pos)}
9422
9476
  return result;
9423
9477
  }
9424
9478
  }
9425
- var Try$0 = $TV($EXPECT($L132, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9479
+ var Try$0 = $TV($EXPECT($L134, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
9426
9480
  return { $loc, token: $1 };
9427
9481
  });
9428
9482
  function Try(state) {
@@ -9443,7 +9497,7 @@ ${input.slice(result.pos)}
9443
9497
  return result;
9444
9498
  }
9445
9499
  }
9446
- var Typeof$0 = $TS($S($EXPECT($L133, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9500
+ var Typeof$0 = $TS($S($EXPECT($L135, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9447
9501
  return { $loc, token: $1 };
9448
9502
  });
9449
9503
  function Typeof(state) {
@@ -9464,7 +9518,7 @@ ${input.slice(result.pos)}
9464
9518
  return result;
9465
9519
  }
9466
9520
  }
9467
- var Unless$0 = $TV($EXPECT($L134, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9521
+ var Unless$0 = $TV($EXPECT($L136, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
9468
9522
  return { $loc, token: $1 };
9469
9523
  });
9470
9524
  function Unless(state) {
@@ -9485,7 +9539,7 @@ ${input.slice(result.pos)}
9485
9539
  return result;
9486
9540
  }
9487
9541
  }
9488
- var Until$0 = $TS($S($EXPECT($L135, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9542
+ var Until$0 = $TS($S($EXPECT($L137, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9489
9543
  return { $loc, token: $1 };
9490
9544
  });
9491
9545
  function Until(state) {
@@ -9506,7 +9560,7 @@ ${input.slice(result.pos)}
9506
9560
  return result;
9507
9561
  }
9508
9562
  }
9509
- var Var$0 = $TV($EXPECT($L136, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9563
+ var Var$0 = $TV($EXPECT($L138, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
9510
9564
  return { $loc, token: $1 };
9511
9565
  });
9512
9566
  function Var(state) {
@@ -9527,7 +9581,7 @@ ${input.slice(result.pos)}
9527
9581
  return result;
9528
9582
  }
9529
9583
  }
9530
- var Void$0 = $TS($S($EXPECT($L137, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9584
+ var Void$0 = $TS($S($EXPECT($L139, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9531
9585
  return { $loc, token: $1 };
9532
9586
  });
9533
9587
  function Void(state) {
@@ -9548,7 +9602,7 @@ ${input.slice(result.pos)}
9548
9602
  return result;
9549
9603
  }
9550
9604
  }
9551
- var When$0 = $TS($S($EXPECT($L138, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9605
+ var When$0 = $TS($S($EXPECT($L140, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9552
9606
  return { $loc, token: "case" };
9553
9607
  });
9554
9608
  function When(state) {
@@ -9569,7 +9623,7 @@ ${input.slice(result.pos)}
9569
9623
  return result;
9570
9624
  }
9571
9625
  }
9572
- var While$0 = $TS($S($EXPECT($L139, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9626
+ var While$0 = $TS($S($EXPECT($L141, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9573
9627
  return { $loc, token: $1 };
9574
9628
  });
9575
9629
  function While(state) {
@@ -9590,7 +9644,7 @@ ${input.slice(result.pos)}
9590
9644
  return result;
9591
9645
  }
9592
9646
  }
9593
- var Yield$0 = $TS($S($EXPECT($L140, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9647
+ var Yield$0 = $TS($S($EXPECT($L142, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9594
9648
  return { $loc, token: $1 };
9595
9649
  });
9596
9650
  function Yield(state) {
@@ -9636,7 +9690,7 @@ ${input.slice(result.pos)}
9636
9690
  return result;
9637
9691
  }
9638
9692
  }
9639
- var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L141, fail, 'JSXSelfClosingElement "/>"'));
9693
+ var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L143, fail, 'JSXSelfClosingElement "/>"'));
9640
9694
  function JSXSelfClosingElement(state) {
9641
9695
  if (state.events) {
9642
9696
  const result = state.events.enter?.("JSXSelfClosingElement", state);
@@ -9655,7 +9709,7 @@ ${input.slice(result.pos)}
9655
9709
  return result;
9656
9710
  }
9657
9711
  }
9658
- var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L55, fail, 'JSXOpeningElement ">"'));
9712
+ var JSXOpeningElement$0 = $S($EXPECT($L4, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L57, fail, 'JSXOpeningElement ">"'));
9659
9713
  function JSXOpeningElement(state) {
9660
9714
  if (state.events) {
9661
9715
  const result = state.events.enter?.("JSXOpeningElement", state);
@@ -9674,7 +9728,7 @@ ${input.slice(result.pos)}
9674
9728
  return result;
9675
9729
  }
9676
9730
  }
9677
- var JSXClosingElement$0 = $S($EXPECT($L142, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L55, fail, 'JSXClosingElement ">"'));
9731
+ var JSXClosingElement$0 = $S($EXPECT($L144, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L57, fail, 'JSXClosingElement ">"'));
9678
9732
  function JSXClosingElement(state) {
9679
9733
  if (state.events) {
9680
9734
  const result = state.events.enter?.("JSXClosingElement", state);
@@ -9693,7 +9747,7 @@ ${input.slice(result.pos)}
9693
9747
  return result;
9694
9748
  }
9695
9749
  }
9696
- var JSXFragment$0 = $S($EXPECT($L143, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L144, fail, 'JSXFragment "</>"'));
9750
+ var JSXFragment$0 = $S($EXPECT($L145, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L146, fail, 'JSXFragment "</>"'));
9697
9751
  function JSXFragment(state) {
9698
9752
  if (state.events) {
9699
9753
  const result = state.events.enter?.("JSXFragment", state);
@@ -9950,7 +10004,7 @@ ${input.slice(result.pos)}
9950
10004
  return result;
9951
10005
  }
9952
10006
  }
9953
- var TypeDeclarationModifier$0 = $S($EXPECT($L145, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
10007
+ var TypeDeclarationModifier$0 = $S($EXPECT($L147, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
9954
10008
  var TypeDeclarationModifier$1 = Export;
9955
10009
  function TypeDeclarationModifier(state) {
9956
10010
  if (state.events) {
@@ -9992,7 +10046,7 @@ ${input.slice(result.pos)}
9992
10046
  return result;
9993
10047
  }
9994
10048
  }
9995
- var TypeKeyword$0 = $S($EXPECT($L146, fail, 'TypeKeyword "type"'), NonIdContinue);
10049
+ var TypeKeyword$0 = $S($EXPECT($L148, fail, 'TypeKeyword "type"'), NonIdContinue);
9996
10050
  function TypeKeyword(state) {
9997
10051
  if (state.events) {
9998
10052
  const result = state.events.enter?.("TypeKeyword", state);
@@ -10011,7 +10065,7 @@ ${input.slice(result.pos)}
10011
10065
  return result;
10012
10066
  }
10013
10067
  }
10014
- var Interface$0 = $S($EXPECT($L147, fail, 'Interface "interface"'), NonIdContinue);
10068
+ var Interface$0 = $S($EXPECT($L149, fail, 'Interface "interface"'), NonIdContinue);
10015
10069
  function Interface(state) {
10016
10070
  if (state.events) {
10017
10071
  const result = state.events.enter?.("Interface", state);
@@ -10030,7 +10084,7 @@ ${input.slice(result.pos)}
10030
10084
  return result;
10031
10085
  }
10032
10086
  }
10033
- var Namespace$0 = $S($EXPECT($L148, fail, 'Namespace "namespace"'), NonIdContinue);
10087
+ var Namespace$0 = $S($EXPECT($L150, fail, 'Namespace "namespace"'), NonIdContinue);
10034
10088
  function Namespace(state) {
10035
10089
  if (state.events) {
10036
10090
  const result = state.events.enter?.("Namespace", state);
@@ -10219,7 +10273,7 @@ ${input.slice(result.pos)}
10219
10273
  return result;
10220
10274
  }
10221
10275
  }
10222
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R45, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L149, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R46, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10276
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R45, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L151, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R46, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10223
10277
  function TypeIndexSignature(state) {
10224
10278
  if (state.events) {
10225
10279
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -10279,7 +10333,7 @@ ${input.slice(result.pos)}
10279
10333
  return result;
10280
10334
  }
10281
10335
  }
10282
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L150, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10336
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L152, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
10283
10337
  const children = [...$1, $2];
10284
10338
  if ($3)
10285
10339
  children.push($3);
@@ -10308,7 +10362,7 @@ ${input.slice(result.pos)}
10308
10362
  return result;
10309
10363
  }
10310
10364
  }
10311
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L59, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10365
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L61, fail, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
10312
10366
  if (!$2)
10313
10367
  return $1;
10314
10368
  return $0;
@@ -10414,9 +10468,9 @@ ${input.slice(result.pos)}
10414
10468
  return result;
10415
10469
  }
10416
10470
  }
10417
- var TypeUnaryOp$0 = $EXPECT($L151, fail, 'TypeUnaryOp "keyof"');
10418
- var TypeUnaryOp$1 = $EXPECT($L133, fail, 'TypeUnaryOp "typeof"');
10419
- var TypeUnaryOp$2 = $EXPECT($L152, fail, 'TypeUnaryOp "infer"');
10471
+ var TypeUnaryOp$0 = $EXPECT($L153, fail, 'TypeUnaryOp "keyof"');
10472
+ var TypeUnaryOp$1 = $EXPECT($L135, fail, 'TypeUnaryOp "typeof"');
10473
+ var TypeUnaryOp$2 = $EXPECT($L154, fail, 'TypeUnaryOp "infer"');
10420
10474
  function TypeUnaryOp(state) {
10421
10475
  if (state.events) {
10422
10476
  const result = state.events.enter?.("TypeUnaryOp", state);
@@ -10584,10 +10638,10 @@ ${input.slice(result.pos)}
10584
10638
  }
10585
10639
  }
10586
10640
  var TypeLiteral$0 = Literal;
10587
- var TypeLiteral$1 = $TV($EXPECT($L137, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10641
+ var TypeLiteral$1 = $TV($EXPECT($L139, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
10588
10642
  return { $loc, token: "void" };
10589
10643
  });
10590
- var TypeLiteral$2 = $TV($EXPECT($L153, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10644
+ var TypeLiteral$2 = $TV($EXPECT($L155, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
10591
10645
  return { $loc, token: "[]" };
10592
10646
  });
10593
10647
  function TypeLiteral(state) {
@@ -10608,10 +10662,10 @@ ${input.slice(result.pos)}
10608
10662
  return result;
10609
10663
  }
10610
10664
  }
10611
- var TypeBinaryOp$0 = $TV($EXPECT($L74, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10665
+ var TypeBinaryOp$0 = $TV($EXPECT($L76, fail, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
10612
10666
  return { $loc, token: "|" };
10613
10667
  });
10614
- var TypeBinaryOp$1 = $TV($EXPECT($L72, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10668
+ var TypeBinaryOp$1 = $TV($EXPECT($L74, fail, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
10615
10669
  return { $loc, token: "&" };
10616
10670
  });
10617
10671
  function TypeBinaryOp(state) {
@@ -10651,7 +10705,7 @@ ${input.slice(result.pos)}
10651
10705
  return result;
10652
10706
  }
10653
10707
  }
10654
- var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L55, fail, 'TypeArguments ">"'));
10708
+ var TypeArguments$0 = $S(__, $EXPECT($L4, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L57, fail, 'TypeArguments ">"'));
10655
10709
  function TypeArguments(state) {
10656
10710
  if (state.events) {
10657
10711
  const result = state.events.enter?.("TypeArguments", state);
@@ -10670,7 +10724,7 @@ ${input.slice(result.pos)}
10670
10724
  return result;
10671
10725
  }
10672
10726
  }
10673
- var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L55, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
10727
+ var TypeParameters$0 = $TS($S(__, $EXPECT($L4, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L57, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
10674
10728
  return { ts: true, children: $0 };
10675
10729
  });
10676
10730
  function TypeParameters(state) {
@@ -10730,8 +10784,8 @@ ${input.slice(result.pos)}
10730
10784
  }
10731
10785
  }
10732
10786
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
10733
- var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L55, fail, 'TypeParameterDelimiter ">"')));
10734
- var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L55, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
10787
+ var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L57, fail, 'TypeParameterDelimiter ">"')));
10788
+ var TypeParameterDelimiter$2 = $TV($Y($S(__, $EXPECT($L57, fail, 'TypeParameterDelimiter ">"'))), function($skip, $loc, $0, $1) {
10735
10789
  return { $loc, token: "," };
10736
10790
  });
10737
10791
  var TypeParameterDelimiter$3 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
@@ -10800,7 +10854,7 @@ ${input.slice(result.pos)}
10800
10854
  return result;
10801
10855
  }
10802
10856
  }
10803
- var CivetPrologueContent$0 = $TS($S($EXPECT($L154, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R49, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
10857
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L156, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R49, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
10804
10858
  var options = $2;
10805
10859
  return {
10806
10860
  type: "CivetPrologue",
@@ -11437,6 +11491,29 @@ ${input.slice(result.pos)}
11437
11491
  return result;
11438
11492
  }
11439
11493
  }
11494
+ var CoffeeWordAssignmentEnabled$0 = $TV($EXPECT($L14, fail, 'CoffeeWordAssignmentEnabled ""'), function($skip, $loc, $0, $1) {
11495
+ if (module.config.coffeeWordAssignment)
11496
+ return;
11497
+ return $skip;
11498
+ });
11499
+ function CoffeeWordAssignmentEnabled(state) {
11500
+ if (state.events) {
11501
+ const result = state.events.enter?.("CoffeeWordAssignmentEnabled", state);
11502
+ if (result)
11503
+ return result.cache;
11504
+ }
11505
+ if (state.tokenize) {
11506
+ const result = $TOKEN("CoffeeWordAssignmentEnabled", state, CoffeeWordAssignmentEnabled$0(state));
11507
+ if (state.events)
11508
+ state.events.exit?.("CoffeeWordAssignmentEnabled", state, result);
11509
+ return result;
11510
+ } else {
11511
+ const result = CoffeeWordAssignmentEnabled$0(state);
11512
+ if (state.events)
11513
+ state.events.exit?.("CoffeeWordAssignmentEnabled", state, result);
11514
+ return result;
11515
+ }
11516
+ }
11440
11517
  var Reset$0 = $TV($EXPECT($L14, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
11441
11518
  module.indentLevels = [{
11442
11519
  level: 0,
@@ -11467,6 +11544,7 @@ ${input.slice(result.pos)}
11467
11544
  coffeeLineContinuation: false,
11468
11545
  coffeeNot: false,
11469
11546
  coffeeOf: false,
11547
+ coffeeWordAssignment: false,
11470
11548
  implicitReturns: true
11471
11549
  };
11472
11550
  let indexOfRef, hasPropRef;
@@ -11523,6 +11601,7 @@ ${input.slice(result.pos)}
11523
11601
  this.coffeeLineContinuation = true;
11524
11602
  this.coffeeNot = true;
11525
11603
  this.coffeeOf = true;
11604
+ this.coffeeWordAssignment = true;
11526
11605
  } else {
11527
11606
  this.autoVar = false;
11528
11607
  this.coffeeBinaryExistential = false;
@@ -11537,6 +11616,7 @@ ${input.slice(result.pos)}
11537
11616
  this.coffeeLineContinuation = false;
11538
11617
  this.coffeeNot = false;
11539
11618
  this.coffeeOf = false;
11619
+ this.coffeeWordAssignment = false;
11540
11620
  }
11541
11621
  }
11542
11622
  });
@@ -11999,39 +12079,77 @@ ${input.slice(result.pos)}
11999
12079
  }
12000
12080
  return nodes;
12001
12081
  }
12002
- function addImplicitReturns(statements) {
12003
- let fns = gatherRecursiveAll(statements, (n) => {
12004
- return n.type === "FunctionExpression" || n.type === "ArrowFunction";
12082
+ function processAtParams(f) {
12083
+ const { parameters, block } = f;
12084
+ if (!block)
12085
+ return;
12086
+ const { expressions } = block;
12087
+ if (!expressions)
12088
+ return;
12089
+ let indent;
12090
+ if (expressions.length === 0) {
12091
+ indent = "";
12092
+ } else {
12093
+ indent = expressions[0][0];
12094
+ }
12095
+ const thisAssignments = gatherRecursiveAll(parameters, (n) => n.type === "Ref").map((ref) => {
12096
+ const { base: name } = ref;
12097
+ return [indent, [`this.${name} = `, ref], ";\n"];
12005
12098
  });
12006
- fns.forEach(({ block, returnType }) => {
12007
- const isVoid = returnType === "void";
12008
- const isBlock = block?.type === "BlockStatement";
12009
- if (!isVoid && isBlock) {
12010
- insertReturn(block);
12099
+ block.expressions.unshift(...thisAssignments);
12100
+ }
12101
+ function adjustAtBindings(statements) {
12102
+ gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
12103
+ const { ref } = binding;
12104
+ if (ref.names[0] !== ref.base) {
12105
+ binding.children.unshift(ref.base, ": ");
12011
12106
  }
12012
12107
  });
12013
- gatherRecursiveAll(statements, (n) => n.type === "MethodDefinition").forEach(({ children: [sig, block] }) => {
12014
- const isConstructor = sig.name === "constructor";
12015
- const isVoid = sig.returnType === "void";
12016
- const isSet = sig.modifier === "set";
12017
- if (!isConstructor && !isSet && !isVoid) {
12018
- insertReturn(block);
12108
+ }
12109
+ function processFunctions(statements) {
12110
+ gatherRecursiveAll(statements, (n) => {
12111
+ return n.type === "FunctionExpression" || n.type === "ArrowFunction";
12112
+ }).forEach((f) => {
12113
+ processAtParams(f);
12114
+ const { block, returnType } = f;
12115
+ if (module.config.implicitReturns) {
12116
+ const isVoid = returnType === "void";
12117
+ const isBlock = block?.type === "BlockStatement";
12118
+ if (!isVoid && isBlock) {
12119
+ insertReturn(block);
12120
+ }
12019
12121
  }
12020
12122
  });
12021
- gatherRecursiveAll(statements, (n) => n.type === "SwitchExpression").forEach(({ block }) => {
12022
- insertReturn(block);
12123
+ gatherRecursiveAll(statements, (n) => n.type === "MethodDefinition").forEach((f) => {
12124
+ processAtParams(f);
12125
+ const { children: [sig, block] } = f;
12126
+ if (module.config.implicitReturns) {
12127
+ const isConstructor = sig.name === "constructor";
12128
+ const isVoid = sig.returnType === "void";
12129
+ const isSet = sig.modifier === "set";
12130
+ if (!isConstructor && !isSet && !isVoid) {
12131
+ insertReturn(block);
12132
+ }
12133
+ }
12023
12134
  });
12024
12135
  }
12025
- module.processProgram = function(statements) {
12136
+ function processSwitchExpressions(statements) {
12026
12137
  if (module.config.implicitReturns) {
12027
- addImplicitReturns(statements);
12138
+ gatherRecursiveAll(statements, (n) => n.type === "SwitchExpression").forEach(({ block }) => {
12139
+ insertReturn(block);
12140
+ });
12028
12141
  }
12142
+ }
12143
+ module.processProgram = function(statements) {
12144
+ processFunctions(statements);
12145
+ processSwitchExpressions(statements);
12029
12146
  gatherRecursiveAll(statements, (n) => n.type === "IterationExpression").forEach((e) => expressionizeIteration(e));
12030
12147
  statements.unshift(...module.prelude);
12031
12148
  if (module.config.autoVar) {
12032
12149
  createVarDecs(statements, []);
12033
12150
  }
12034
12151
  populateRefs(statements);
12152
+ adjustAtBindings(statements);
12035
12153
  };
12036
12154
  function findDecs(statements) {
12037
12155
  const declarationNames = gatherNodes(statements, (node) => {
@@ -12144,7 +12262,7 @@ ${input.slice(result.pos)}
12144
12262
  return result;
12145
12263
  }
12146
12264
  }
12147
- var Indent$0 = $TV($Q($C($EXPECT($L155, fail, 'Indent " "'), $EXPECT($L156, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
12265
+ var Indent$0 = $TV($Q($C($EXPECT($L157, fail, 'Indent " "'), $EXPECT($L158, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
12148
12266
  const level = $1.length;
12149
12267
  return {
12150
12268
  $loc,