@abaplint/transpiler-cli 2.7.129 → 2.7.130

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 (2) hide show
  1. package/build/bundle.js +831 -252
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -117,6 +117,7 @@ exports.FileOperations = FileOperations;
117
117
  Object.defineProperty(exports, "__esModule", ({ value: true }));
118
118
  exports.Lexer = void 0;
119
119
  const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
120
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
120
121
  const tokens_1 = __webpack_require__(/*! ./tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
121
122
  class Buffer {
122
123
  constructor() {
@@ -242,7 +243,7 @@ class Lexer {
242
243
  }
243
244
  let pos = new position_1.Position(row, col - s.length);
244
245
  if (this.virtual) {
245
- pos = new position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
246
+ pos = new virtual_position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
246
247
  }
247
248
  let tok = undefined;
248
249
  if (this.m === this.ModeComment) {
@@ -560,25 +561,26 @@ exports.Lexer = Lexer;
560
561
 
561
562
  /***/ }),
562
563
 
563
- /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js":
564
- /*!*****************************************************************************!*\
565
- !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js ***!
566
- \*****************************************************************************/
564
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js":
565
+ /*!*************************************************************************************!*\
566
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js ***!
567
+ \*************************************************************************************/
567
568
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
568
569
 
569
570
  "use strict";
570
571
 
571
572
  Object.defineProperty(exports, "__esModule", ({ value: true }));
572
- exports.Token = void 0;
573
+ exports.AbstractToken = void 0;
573
574
  const position_1 = __webpack_require__(/*! ../../../position */ "./node_modules/@abaplint/core/build/src/position.js");
574
- class Token {
575
- [Symbol.for("debug.description")]() {
576
- return `${this.constructor.name} ${this.str}`;
577
- }
575
+ class AbstractToken {
578
576
  constructor(start, str) {
579
577
  this.start = start;
580
578
  this.str = str;
581
579
  }
580
+ // special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137
581
+ [Symbol.for("debug.description")]() {
582
+ return `${this.constructor.name} ${this.str}`;
583
+ }
582
584
  getStr() {
583
585
  return this.str;
584
586
  }
@@ -595,8 +597,8 @@ class Token {
595
597
  return new position_1.Position(this.start.getRow(), this.start.getCol() + this.str.length);
596
598
  }
597
599
  }
598
- exports.Token = Token;
599
- //# sourceMappingURL=_token.js.map
600
+ exports.AbstractToken = AbstractToken;
601
+ //# sourceMappingURL=abstract_token.js.map
600
602
 
601
603
  /***/ }),
602
604
 
@@ -609,33 +611,36 @@ exports.Token = Token;
609
611
  "use strict";
610
612
 
611
613
  Object.defineProperty(exports, "__esModule", ({ value: true }));
612
- exports.WAtW = exports.AtW = exports.WAt = exports.At = void 0;
613
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
614
- class At extends _token_1.Token {
614
+ exports.At = void 0;
615
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
616
+ class At extends abstract_token_1.AbstractToken {
615
617
  static railroad() {
616
618
  return "@";
617
619
  }
618
620
  }
619
621
  exports.At = At;
620
- class WAt extends _token_1.Token {
621
- static railroad() {
622
- return " @";
623
- }
624
- }
625
- exports.WAt = WAt;
626
- class AtW extends _token_1.Token {
622
+ //# sourceMappingURL=at.js.map
623
+
624
+ /***/ }),
625
+
626
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js":
627
+ /*!**************************************************************************!*\
628
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js ***!
629
+ \**************************************************************************/
630
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
631
+
632
+ "use strict";
633
+
634
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
635
+ exports.AtW = void 0;
636
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
637
+ class AtW extends abstract_token_1.AbstractToken {
627
638
  static railroad() {
628
639
  return "@ ";
629
640
  }
630
641
  }
631
642
  exports.AtW = AtW;
632
- class WAtW extends _token_1.Token {
633
- static railroad() {
634
- return " @ ";
635
- }
636
- }
637
- exports.WAtW = WAtW;
638
- //# sourceMappingURL=at.js.map
643
+ //# sourceMappingURL=atw.js.map
639
644
 
640
645
  /***/ }),
641
646
 
@@ -648,33 +653,36 @@ exports.WAtW = WAtW;
648
653
  "use strict";
649
654
 
650
655
  Object.defineProperty(exports, "__esModule", ({ value: true }));
651
- exports.WBracketLeftW = exports.BracketLeftW = exports.WBracketLeft = exports.BracketLeft = void 0;
652
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
653
- class BracketLeft extends _token_1.Token {
656
+ exports.BracketLeft = void 0;
657
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
658
+ class BracketLeft extends abstract_token_1.AbstractToken {
654
659
  static railroad() {
655
660
  return "[";
656
661
  }
657
662
  }
658
663
  exports.BracketLeft = BracketLeft;
659
- class WBracketLeft extends _token_1.Token {
660
- static railroad() {
661
- return " [";
662
- }
663
- }
664
- exports.WBracketLeft = WBracketLeft;
665
- class BracketLeftW extends _token_1.Token {
664
+ //# sourceMappingURL=bracket_left.js.map
665
+
666
+ /***/ }),
667
+
668
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js":
669
+ /*!************************************************************************************!*\
670
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js ***!
671
+ \************************************************************************************/
672
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
673
+
674
+ "use strict";
675
+
676
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
677
+ exports.BracketLeftW = void 0;
678
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
679
+ class BracketLeftW extends abstract_token_1.AbstractToken {
666
680
  static railroad() {
667
681
  return "[ ";
668
682
  }
669
683
  }
670
684
  exports.BracketLeftW = BracketLeftW;
671
- class WBracketLeftW extends _token_1.Token {
672
- static railroad() {
673
- return " [ ";
674
- }
675
- }
676
- exports.WBracketLeftW = WBracketLeftW;
677
- //# sourceMappingURL=bracket_left.js.map
685
+ //# sourceMappingURL=bracket_leftw.js.map
678
686
 
679
687
  /***/ }),
680
688
 
@@ -687,33 +695,36 @@ exports.WBracketLeftW = WBracketLeftW;
687
695
  "use strict";
688
696
 
689
697
  Object.defineProperty(exports, "__esModule", ({ value: true }));
690
- exports.WBracketRightW = exports.BracketRightW = exports.WBracketRight = exports.BracketRight = void 0;
691
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
692
- class BracketRight extends _token_1.Token {
698
+ exports.BracketRight = void 0;
699
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
700
+ class BracketRight extends abstract_token_1.AbstractToken {
693
701
  static railroad() {
694
702
  return "]";
695
703
  }
696
704
  }
697
705
  exports.BracketRight = BracketRight;
698
- class WBracketRight extends _token_1.Token {
699
- static railroad() {
700
- return " ]";
701
- }
702
- }
703
- exports.WBracketRight = WBracketRight;
704
- class BracketRightW extends _token_1.Token {
706
+ //# sourceMappingURL=bracket_right.js.map
707
+
708
+ /***/ }),
709
+
710
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js":
711
+ /*!*************************************************************************************!*\
712
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js ***!
713
+ \*************************************************************************************/
714
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
715
+
716
+ "use strict";
717
+
718
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
719
+ exports.BracketRightW = void 0;
720
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
721
+ class BracketRightW extends abstract_token_1.AbstractToken {
705
722
  static railroad() {
706
723
  return "] ";
707
724
  }
708
725
  }
709
726
  exports.BracketRightW = BracketRightW;
710
- class WBracketRightW extends _token_1.Token {
711
- static railroad() {
712
- return " ] ";
713
- }
714
- }
715
- exports.WBracketRightW = WBracketRightW;
716
- //# sourceMappingURL=bracket_right.js.map
727
+ //# sourceMappingURL=bracket_rightw.js.map
717
728
 
718
729
  /***/ }),
719
730
 
@@ -727,8 +738,8 @@ exports.WBracketRightW = WBracketRightW;
727
738
 
728
739
  Object.defineProperty(exports, "__esModule", ({ value: true }));
729
740
  exports.Colon = void 0;
730
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
731
- class Colon extends _token_1.Token {
741
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
742
+ class Colon extends abstract_token_1.AbstractToken {
732
743
  }
733
744
  exports.Colon = Colon;
734
745
  //# sourceMappingURL=colon.js.map
@@ -745,8 +756,8 @@ exports.Colon = Colon;
745
756
 
746
757
  Object.defineProperty(exports, "__esModule", ({ value: true }));
747
758
  exports.Comment = void 0;
748
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
749
- class Comment extends _token_1.Token {
759
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
760
+ class Comment extends abstract_token_1.AbstractToken {
750
761
  }
751
762
  exports.Comment = Comment;
752
763
  //# sourceMappingURL=comment.js.map
@@ -762,33 +773,36 @@ exports.Comment = Comment;
762
773
  "use strict";
763
774
 
764
775
  Object.defineProperty(exports, "__esModule", ({ value: true }));
765
- exports.WDashW = exports.DashW = exports.WDash = exports.Dash = void 0;
766
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
767
- class Dash extends _token_1.Token {
776
+ exports.Dash = void 0;
777
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
778
+ class Dash extends abstract_token_1.AbstractToken {
768
779
  static railroad() {
769
780
  return "-";
770
781
  }
771
782
  }
772
783
  exports.Dash = Dash;
773
- class WDash extends _token_1.Token {
774
- static railroad() {
775
- return " -";
776
- }
777
- }
778
- exports.WDash = WDash;
779
- class DashW extends _token_1.Token {
784
+ //# sourceMappingURL=dash.js.map
785
+
786
+ /***/ }),
787
+
788
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js":
789
+ /*!****************************************************************************!*\
790
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js ***!
791
+ \****************************************************************************/
792
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
793
+
794
+ "use strict";
795
+
796
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
797
+ exports.DashW = void 0;
798
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
799
+ class DashW extends abstract_token_1.AbstractToken {
780
800
  static railroad() {
781
801
  return "- ";
782
802
  }
783
803
  }
784
804
  exports.DashW = DashW;
785
- class WDashW extends _token_1.Token {
786
- static railroad() {
787
- return " - ";
788
- }
789
- }
790
- exports.WDashW = WDashW;
791
- //# sourceMappingURL=dash.js.map
805
+ //# sourceMappingURL=dashw.js.map
792
806
 
793
807
  /***/ }),
794
808
 
@@ -802,8 +816,8 @@ exports.WDashW = WDashW;
802
816
 
803
817
  Object.defineProperty(exports, "__esModule", ({ value: true }));
804
818
  exports.Identifier = void 0;
805
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
806
- class Identifier extends _token_1.Token {
819
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
820
+ class Identifier extends abstract_token_1.AbstractToken {
807
821
  }
808
822
  exports.Identifier = Identifier;
809
823
  //# sourceMappingURL=identifier.js.map
@@ -834,20 +848,51 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
834
848
  };
835
849
  Object.defineProperty(exports, "__esModule", ({ value: true }));
836
850
  __exportStar(__webpack_require__(/*! ./at */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js"), exports);
851
+ __exportStar(__webpack_require__(/*! ./atw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js"), exports);
852
+ __exportStar(__webpack_require__(/*! ./wat */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js"), exports);
853
+ __exportStar(__webpack_require__(/*! ./watw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js"), exports);
837
854
  __exportStar(__webpack_require__(/*! ./bracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js"), exports);
855
+ __exportStar(__webpack_require__(/*! ./wbracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js"), exports);
856
+ __exportStar(__webpack_require__(/*! ./bracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js"), exports);
857
+ __exportStar(__webpack_require__(/*! ./wbracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js"), exports);
838
858
  __exportStar(__webpack_require__(/*! ./bracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js"), exports);
839
- __exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
840
- __exportStar(__webpack_require__(/*! ./comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js"), exports);
841
- __exportStar(__webpack_require__(/*! ./dash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js"), exports);
842
- __exportStar(__webpack_require__(/*! ./identifier */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js"), exports);
859
+ __exportStar(__webpack_require__(/*! ./wbracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js"), exports);
860
+ __exportStar(__webpack_require__(/*! ./bracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js"), exports);
861
+ __exportStar(__webpack_require__(/*! ./wbracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js"), exports);
843
862
  __exportStar(__webpack_require__(/*! ./instance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js"), exports);
863
+ __exportStar(__webpack_require__(/*! ./winstance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js"), exports);
864
+ __exportStar(__webpack_require__(/*! ./instance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js"), exports);
865
+ __exportStar(__webpack_require__(/*! ./winstance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js"), exports);
844
866
  __exportStar(__webpack_require__(/*! ./paren_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js"), exports);
867
+ __exportStar(__webpack_require__(/*! ./wparen_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js"), exports);
868
+ __exportStar(__webpack_require__(/*! ./paren_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js"), exports);
869
+ __exportStar(__webpack_require__(/*! ./wparen_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js"), exports);
845
870
  __exportStar(__webpack_require__(/*! ./paren_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js"), exports);
871
+ __exportStar(__webpack_require__(/*! ./wparen_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js"), exports);
872
+ __exportStar(__webpack_require__(/*! ./paren_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js"), exports);
873
+ __exportStar(__webpack_require__(/*! ./wparen_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js"), exports);
874
+ __exportStar(__webpack_require__(/*! ./dash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js"), exports);
875
+ __exportStar(__webpack_require__(/*! ./wdash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js"), exports);
876
+ __exportStar(__webpack_require__(/*! ./dashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js"), exports);
877
+ __exportStar(__webpack_require__(/*! ./wdashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js"), exports);
846
878
  __exportStar(__webpack_require__(/*! ./plus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js"), exports);
847
- __exportStar(__webpack_require__(/*! ./pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js"), exports);
848
- __exportStar(__webpack_require__(/*! ./punctuation */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js"), exports);
879
+ __exportStar(__webpack_require__(/*! ./wplus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js"), exports);
880
+ __exportStar(__webpack_require__(/*! ./plusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js"), exports);
881
+ __exportStar(__webpack_require__(/*! ./wplusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js"), exports);
849
882
  __exportStar(__webpack_require__(/*! ./static_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js"), exports);
883
+ __exportStar(__webpack_require__(/*! ./wstatic_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js"), exports);
884
+ __exportStar(__webpack_require__(/*! ./static_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js"), exports);
885
+ __exportStar(__webpack_require__(/*! ./wstatic_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js"), exports);
850
886
  __exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js"), exports);
887
+ __exportStar(__webpack_require__(/*! ./string_template */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js"), exports);
888
+ __exportStar(__webpack_require__(/*! ./string_template_begin */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js"), exports);
889
+ __exportStar(__webpack_require__(/*! ./string_template_end */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js"), exports);
890
+ __exportStar(__webpack_require__(/*! ./string_template_middle */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js"), exports);
891
+ __exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
892
+ __exportStar(__webpack_require__(/*! ./comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js"), exports);
893
+ __exportStar(__webpack_require__(/*! ./identifier */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js"), exports);
894
+ __exportStar(__webpack_require__(/*! ./pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js"), exports);
895
+ __exportStar(__webpack_require__(/*! ./punctuation */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js"), exports);
851
896
  //# sourceMappingURL=index.js.map
852
897
 
853
898
  /***/ }),
@@ -861,33 +906,36 @@ __exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/
861
906
  "use strict";
862
907
 
863
908
  Object.defineProperty(exports, "__esModule", ({ value: true }));
864
- exports.WInstanceArrowW = exports.InstanceArrowW = exports.WInstanceArrow = exports.InstanceArrow = void 0;
865
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
866
- class InstanceArrow extends _token_1.Token {
909
+ exports.InstanceArrow = void 0;
910
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
911
+ class InstanceArrow extends abstract_token_1.AbstractToken {
867
912
  static railroad() {
868
913
  return "->";
869
914
  }
870
915
  }
871
916
  exports.InstanceArrow = InstanceArrow;
872
- class WInstanceArrow extends _token_1.Token {
873
- static railroad() {
874
- return " ->";
875
- }
876
- }
877
- exports.WInstanceArrow = WInstanceArrow;
878
- class InstanceArrowW extends _token_1.Token {
917
+ //# sourceMappingURL=instance_arrow.js.map
918
+
919
+ /***/ }),
920
+
921
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js":
922
+ /*!**************************************************************************************!*\
923
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js ***!
924
+ \**************************************************************************************/
925
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
926
+
927
+ "use strict";
928
+
929
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
930
+ exports.InstanceArrowW = void 0;
931
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
932
+ class InstanceArrowW extends abstract_token_1.AbstractToken {
879
933
  static railroad() {
880
934
  return "-> ";
881
935
  }
882
936
  }
883
937
  exports.InstanceArrowW = InstanceArrowW;
884
- class WInstanceArrowW extends _token_1.Token {
885
- static railroad() {
886
- return " -> ";
887
- }
888
- }
889
- exports.WInstanceArrowW = WInstanceArrowW;
890
- //# sourceMappingURL=instance_arrow.js.map
938
+ //# sourceMappingURL=instance_arroww.js.map
891
939
 
892
940
  /***/ }),
893
941
 
@@ -900,33 +948,36 @@ exports.WInstanceArrowW = WInstanceArrowW;
900
948
  "use strict";
901
949
 
902
950
  Object.defineProperty(exports, "__esModule", ({ value: true }));
903
- exports.WParenLeftW = exports.ParenLeftW = exports.WParenLeft = exports.ParenLeft = void 0;
904
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
905
- class ParenLeft extends _token_1.Token {
951
+ exports.ParenLeft = void 0;
952
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
953
+ class ParenLeft extends abstract_token_1.AbstractToken {
906
954
  static railroad() {
907
955
  return "(";
908
956
  }
909
957
  }
910
958
  exports.ParenLeft = ParenLeft;
911
- class WParenLeft extends _token_1.Token {
912
- static railroad() {
913
- return " (";
914
- }
915
- }
916
- exports.WParenLeft = WParenLeft;
917
- class ParenLeftW extends _token_1.Token {
959
+ //# sourceMappingURL=paren_left.js.map
960
+
961
+ /***/ }),
962
+
963
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js":
964
+ /*!**********************************************************************************!*\
965
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js ***!
966
+ \**********************************************************************************/
967
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
968
+
969
+ "use strict";
970
+
971
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
972
+ exports.ParenLeftW = void 0;
973
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
974
+ class ParenLeftW extends abstract_token_1.AbstractToken {
918
975
  static railroad() {
919
976
  return "( ";
920
977
  }
921
978
  }
922
979
  exports.ParenLeftW = ParenLeftW;
923
- class WParenLeftW extends _token_1.Token {
924
- static railroad() {
925
- return " ( ";
926
- }
927
- }
928
- exports.WParenLeftW = WParenLeftW;
929
- //# sourceMappingURL=paren_left.js.map
980
+ //# sourceMappingURL=paren_leftw.js.map
930
981
 
931
982
  /***/ }),
932
983
 
@@ -939,33 +990,36 @@ exports.WParenLeftW = WParenLeftW;
939
990
  "use strict";
940
991
 
941
992
  Object.defineProperty(exports, "__esModule", ({ value: true }));
942
- exports.WParenRightW = exports.ParenRightW = exports.WParenRight = exports.ParenRight = void 0;
943
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
944
- class ParenRight extends _token_1.Token {
993
+ exports.ParenRight = void 0;
994
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
995
+ class ParenRight extends abstract_token_1.AbstractToken {
945
996
  static railroad() {
946
997
  return ")";
947
998
  }
948
999
  }
949
1000
  exports.ParenRight = ParenRight;
950
- class WParenRight extends _token_1.Token {
951
- static railroad() {
952
- return " )";
953
- }
954
- }
955
- exports.WParenRight = WParenRight;
956
- class ParenRightW extends _token_1.Token {
1001
+ //# sourceMappingURL=paren_right.js.map
1002
+
1003
+ /***/ }),
1004
+
1005
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js":
1006
+ /*!***********************************************************************************!*\
1007
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js ***!
1008
+ \***********************************************************************************/
1009
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1010
+
1011
+ "use strict";
1012
+
1013
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1014
+ exports.ParenRightW = void 0;
1015
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1016
+ class ParenRightW extends abstract_token_1.AbstractToken {
957
1017
  static railroad() {
958
1018
  return ") ";
959
1019
  }
960
1020
  }
961
1021
  exports.ParenRightW = ParenRightW;
962
- class WParenRightW extends _token_1.Token {
963
- static railroad() {
964
- return " ) ";
965
- }
966
- }
967
- exports.WParenRightW = WParenRightW;
968
- //# sourceMappingURL=paren_right.js.map
1022
+ //# sourceMappingURL=paren_rightw.js.map
969
1023
 
970
1024
  /***/ }),
971
1025
 
@@ -978,33 +1032,36 @@ exports.WParenRightW = WParenRightW;
978
1032
  "use strict";
979
1033
 
980
1034
  Object.defineProperty(exports, "__esModule", ({ value: true }));
981
- exports.WPlusW = exports.PlusW = exports.WPlus = exports.Plus = void 0;
982
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
983
- class Plus extends _token_1.Token {
1035
+ exports.Plus = void 0;
1036
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1037
+ class Plus extends abstract_token_1.AbstractToken {
984
1038
  static railroad() {
985
1039
  return "+";
986
1040
  }
987
1041
  }
988
1042
  exports.Plus = Plus;
989
- class WPlus extends _token_1.Token {
990
- static railroad() {
991
- return " +";
992
- }
993
- }
994
- exports.WPlus = WPlus;
995
- class PlusW extends _token_1.Token {
1043
+ //# sourceMappingURL=plus.js.map
1044
+
1045
+ /***/ }),
1046
+
1047
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js":
1048
+ /*!****************************************************************************!*\
1049
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js ***!
1050
+ \****************************************************************************/
1051
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1052
+
1053
+ "use strict";
1054
+
1055
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1056
+ exports.PlusW = void 0;
1057
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1058
+ class PlusW extends abstract_token_1.AbstractToken {
996
1059
  static railroad() {
997
1060
  return "+ ";
998
1061
  }
999
1062
  }
1000
1063
  exports.PlusW = PlusW;
1001
- class WPlusW extends _token_1.Token {
1002
- static railroad() {
1003
- return " + ";
1004
- }
1005
- }
1006
- exports.WPlusW = WPlusW;
1007
- //# sourceMappingURL=plus.js.map
1064
+ //# sourceMappingURL=plusw.js.map
1008
1065
 
1009
1066
  /***/ }),
1010
1067
 
@@ -1018,8 +1075,8 @@ exports.WPlusW = WPlusW;
1018
1075
 
1019
1076
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1020
1077
  exports.Pragma = void 0;
1021
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1022
- class Pragma extends _token_1.Token {
1078
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1079
+ class Pragma extends abstract_token_1.AbstractToken {
1023
1080
  }
1024
1081
  exports.Pragma = Pragma;
1025
1082
  //# sourceMappingURL=pragma.js.map
@@ -1036,8 +1093,8 @@ exports.Pragma = Pragma;
1036
1093
 
1037
1094
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1038
1095
  exports.Punctuation = void 0;
1039
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1040
- class Punctuation extends _token_1.Token {
1096
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1097
+ class Punctuation extends abstract_token_1.AbstractToken {
1041
1098
  }
1042
1099
  exports.Punctuation = Punctuation;
1043
1100
  //# sourceMappingURL=punctuation.js.map
@@ -1053,33 +1110,36 @@ exports.Punctuation = Punctuation;
1053
1110
  "use strict";
1054
1111
 
1055
1112
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1056
- exports.WStaticArrowW = exports.StaticArrowW = exports.WStaticArrow = exports.StaticArrow = void 0;
1057
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1058
- class StaticArrow extends _token_1.Token {
1113
+ exports.StaticArrow = void 0;
1114
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1115
+ class StaticArrow extends abstract_token_1.AbstractToken {
1059
1116
  static railroad() {
1060
1117
  return "=>";
1061
1118
  }
1062
1119
  }
1063
1120
  exports.StaticArrow = StaticArrow;
1064
- class WStaticArrow extends _token_1.Token {
1065
- static railroad() {
1066
- return " =>";
1067
- }
1068
- }
1069
- exports.WStaticArrow = WStaticArrow;
1070
- class StaticArrowW extends _token_1.Token {
1121
+ //# sourceMappingURL=static_arrow.js.map
1122
+
1123
+ /***/ }),
1124
+
1125
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js":
1126
+ /*!************************************************************************************!*\
1127
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js ***!
1128
+ \************************************************************************************/
1129
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1130
+
1131
+ "use strict";
1132
+
1133
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1134
+ exports.StaticArrowW = void 0;
1135
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1136
+ class StaticArrowW extends abstract_token_1.AbstractToken {
1071
1137
  static railroad() {
1072
1138
  return "=> ";
1073
1139
  }
1074
1140
  }
1075
1141
  exports.StaticArrowW = StaticArrowW;
1076
- class WStaticArrowW extends _token_1.Token {
1077
- static railroad() {
1078
- return " => ";
1079
- }
1080
- }
1081
- exports.WStaticArrowW = WStaticArrowW;
1082
- //# sourceMappingURL=static_arrow.js.map
1142
+ //# sourceMappingURL=static_arroww.js.map
1083
1143
 
1084
1144
  /***/ }),
1085
1145
 
@@ -1092,24 +1152,462 @@ exports.WStaticArrowW = WStaticArrowW;
1092
1152
  "use strict";
1093
1153
 
1094
1154
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1095
- exports.StringTemplateMiddle = exports.StringTemplateEnd = exports.StringTemplateBegin = exports.StringTemplate = exports.StringToken = void 0;
1096
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1097
- class StringToken extends _token_1.Token {
1155
+ exports.StringToken = void 0;
1156
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1157
+ class StringToken extends abstract_token_1.AbstractToken {
1098
1158
  }
1099
1159
  exports.StringToken = StringToken;
1100
- class StringTemplate extends _token_1.Token {
1160
+ //# sourceMappingURL=string.js.map
1161
+
1162
+ /***/ }),
1163
+
1164
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js":
1165
+ /*!**************************************************************************************!*\
1166
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js ***!
1167
+ \**************************************************************************************/
1168
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1169
+
1170
+ "use strict";
1171
+
1172
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1173
+ exports.StringTemplate = void 0;
1174
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1175
+ class StringTemplate extends abstract_token_1.AbstractToken {
1101
1176
  }
1102
1177
  exports.StringTemplate = StringTemplate;
1103
- class StringTemplateBegin extends _token_1.Token {
1178
+ //# sourceMappingURL=string_template.js.map
1179
+
1180
+ /***/ }),
1181
+
1182
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js":
1183
+ /*!********************************************************************************************!*\
1184
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js ***!
1185
+ \********************************************************************************************/
1186
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1187
+
1188
+ "use strict";
1189
+
1190
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1191
+ exports.StringTemplateBegin = void 0;
1192
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1193
+ class StringTemplateBegin extends abstract_token_1.AbstractToken {
1104
1194
  }
1105
1195
  exports.StringTemplateBegin = StringTemplateBegin;
1106
- class StringTemplateEnd extends _token_1.Token {
1196
+ //# sourceMappingURL=string_template_begin.js.map
1197
+
1198
+ /***/ }),
1199
+
1200
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js":
1201
+ /*!******************************************************************************************!*\
1202
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js ***!
1203
+ \******************************************************************************************/
1204
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1205
+
1206
+ "use strict";
1207
+
1208
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1209
+ exports.StringTemplateEnd = void 0;
1210
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1211
+ class StringTemplateEnd extends abstract_token_1.AbstractToken {
1107
1212
  }
1108
1213
  exports.StringTemplateEnd = StringTemplateEnd;
1109
- class StringTemplateMiddle extends _token_1.Token {
1214
+ //# sourceMappingURL=string_template_end.js.map
1215
+
1216
+ /***/ }),
1217
+
1218
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js":
1219
+ /*!*********************************************************************************************!*\
1220
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js ***!
1221
+ \*********************************************************************************************/
1222
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1223
+
1224
+ "use strict";
1225
+
1226
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1227
+ exports.StringTemplateMiddle = void 0;
1228
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1229
+ class StringTemplateMiddle extends abstract_token_1.AbstractToken {
1110
1230
  }
1111
1231
  exports.StringTemplateMiddle = StringTemplateMiddle;
1112
- //# sourceMappingURL=string.js.map
1232
+ //# sourceMappingURL=string_template_middle.js.map
1233
+
1234
+ /***/ }),
1235
+
1236
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js":
1237
+ /*!**************************************************************************!*\
1238
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js ***!
1239
+ \**************************************************************************/
1240
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1241
+
1242
+ "use strict";
1243
+
1244
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1245
+ exports.WAt = void 0;
1246
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1247
+ class WAt extends abstract_token_1.AbstractToken {
1248
+ static railroad() {
1249
+ return " @";
1250
+ }
1251
+ }
1252
+ exports.WAt = WAt;
1253
+ //# sourceMappingURL=wat.js.map
1254
+
1255
+ /***/ }),
1256
+
1257
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js":
1258
+ /*!***************************************************************************!*\
1259
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js ***!
1260
+ \***************************************************************************/
1261
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1262
+
1263
+ "use strict";
1264
+
1265
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1266
+ exports.WAtW = void 0;
1267
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1268
+ class WAtW extends abstract_token_1.AbstractToken {
1269
+ static railroad() {
1270
+ return " @ ";
1271
+ }
1272
+ }
1273
+ exports.WAtW = WAtW;
1274
+ //# sourceMappingURL=watw.js.map
1275
+
1276
+ /***/ }),
1277
+
1278
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js":
1279
+ /*!************************************************************************************!*\
1280
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js ***!
1281
+ \************************************************************************************/
1282
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1283
+
1284
+ "use strict";
1285
+
1286
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1287
+ exports.WBracketLeft = void 0;
1288
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1289
+ class WBracketLeft extends abstract_token_1.AbstractToken {
1290
+ static railroad() {
1291
+ return " [";
1292
+ }
1293
+ }
1294
+ exports.WBracketLeft = WBracketLeft;
1295
+ //# sourceMappingURL=wbracket_left.js.map
1296
+
1297
+ /***/ }),
1298
+
1299
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js":
1300
+ /*!*************************************************************************************!*\
1301
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js ***!
1302
+ \*************************************************************************************/
1303
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1304
+
1305
+ "use strict";
1306
+
1307
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1308
+ exports.WBracketLeftW = void 0;
1309
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1310
+ class WBracketLeftW extends abstract_token_1.AbstractToken {
1311
+ static railroad() {
1312
+ return " [ ";
1313
+ }
1314
+ }
1315
+ exports.WBracketLeftW = WBracketLeftW;
1316
+ //# sourceMappingURL=wbracket_leftw.js.map
1317
+
1318
+ /***/ }),
1319
+
1320
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js":
1321
+ /*!*************************************************************************************!*\
1322
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js ***!
1323
+ \*************************************************************************************/
1324
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1325
+
1326
+ "use strict";
1327
+
1328
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1329
+ exports.WBracketRight = void 0;
1330
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1331
+ class WBracketRight extends abstract_token_1.AbstractToken {
1332
+ static railroad() {
1333
+ return " ]";
1334
+ }
1335
+ }
1336
+ exports.WBracketRight = WBracketRight;
1337
+ //# sourceMappingURL=wbracket_right.js.map
1338
+
1339
+ /***/ }),
1340
+
1341
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js":
1342
+ /*!**************************************************************************************!*\
1343
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js ***!
1344
+ \**************************************************************************************/
1345
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1346
+
1347
+ "use strict";
1348
+
1349
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1350
+ exports.WBracketRightW = void 0;
1351
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1352
+ class WBracketRightW extends abstract_token_1.AbstractToken {
1353
+ static railroad() {
1354
+ return " ] ";
1355
+ }
1356
+ }
1357
+ exports.WBracketRightW = WBracketRightW;
1358
+ //# sourceMappingURL=wbracket_rightw.js.map
1359
+
1360
+ /***/ }),
1361
+
1362
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js":
1363
+ /*!****************************************************************************!*\
1364
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js ***!
1365
+ \****************************************************************************/
1366
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1367
+
1368
+ "use strict";
1369
+
1370
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1371
+ exports.WDash = void 0;
1372
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1373
+ class WDash extends abstract_token_1.AbstractToken {
1374
+ static railroad() {
1375
+ return " -";
1376
+ }
1377
+ }
1378
+ exports.WDash = WDash;
1379
+ //# sourceMappingURL=wdash.js.map
1380
+
1381
+ /***/ }),
1382
+
1383
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js":
1384
+ /*!*****************************************************************************!*\
1385
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js ***!
1386
+ \*****************************************************************************/
1387
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1388
+
1389
+ "use strict";
1390
+
1391
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1392
+ exports.WDashW = void 0;
1393
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1394
+ class WDashW extends abstract_token_1.AbstractToken {
1395
+ static railroad() {
1396
+ return " - ";
1397
+ }
1398
+ }
1399
+ exports.WDashW = WDashW;
1400
+ //# sourceMappingURL=wdashw.js.map
1401
+
1402
+ /***/ }),
1403
+
1404
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js":
1405
+ /*!**************************************************************************************!*\
1406
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js ***!
1407
+ \**************************************************************************************/
1408
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1409
+
1410
+ "use strict";
1411
+
1412
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1413
+ exports.WInstanceArrow = void 0;
1414
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1415
+ class WInstanceArrow extends abstract_token_1.AbstractToken {
1416
+ static railroad() {
1417
+ return " ->";
1418
+ }
1419
+ }
1420
+ exports.WInstanceArrow = WInstanceArrow;
1421
+ //# sourceMappingURL=winstance_arrow.js.map
1422
+
1423
+ /***/ }),
1424
+
1425
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js":
1426
+ /*!***************************************************************************************!*\
1427
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js ***!
1428
+ \***************************************************************************************/
1429
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1430
+
1431
+ "use strict";
1432
+
1433
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1434
+ exports.WInstanceArrowW = void 0;
1435
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1436
+ class WInstanceArrowW extends abstract_token_1.AbstractToken {
1437
+ static railroad() {
1438
+ return " -> ";
1439
+ }
1440
+ }
1441
+ exports.WInstanceArrowW = WInstanceArrowW;
1442
+ //# sourceMappingURL=winstance_arroww.js.map
1443
+
1444
+ /***/ }),
1445
+
1446
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js":
1447
+ /*!**********************************************************************************!*\
1448
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js ***!
1449
+ \**********************************************************************************/
1450
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1451
+
1452
+ "use strict";
1453
+
1454
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1455
+ exports.WParenLeft = void 0;
1456
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1457
+ class WParenLeft extends abstract_token_1.AbstractToken {
1458
+ static railroad() {
1459
+ return " (";
1460
+ }
1461
+ }
1462
+ exports.WParenLeft = WParenLeft;
1463
+ //# sourceMappingURL=wparen_left.js.map
1464
+
1465
+ /***/ }),
1466
+
1467
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js":
1468
+ /*!***********************************************************************************!*\
1469
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js ***!
1470
+ \***********************************************************************************/
1471
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1472
+
1473
+ "use strict";
1474
+
1475
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1476
+ exports.WParenLeftW = void 0;
1477
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1478
+ class WParenLeftW extends abstract_token_1.AbstractToken {
1479
+ static railroad() {
1480
+ return " ( ";
1481
+ }
1482
+ }
1483
+ exports.WParenLeftW = WParenLeftW;
1484
+ //# sourceMappingURL=wparen_leftw.js.map
1485
+
1486
+ /***/ }),
1487
+
1488
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js":
1489
+ /*!***********************************************************************************!*\
1490
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js ***!
1491
+ \***********************************************************************************/
1492
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1493
+
1494
+ "use strict";
1495
+
1496
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1497
+ exports.WParenRight = void 0;
1498
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1499
+ class WParenRight extends abstract_token_1.AbstractToken {
1500
+ static railroad() {
1501
+ return " )";
1502
+ }
1503
+ }
1504
+ exports.WParenRight = WParenRight;
1505
+ //# sourceMappingURL=wparen_right.js.map
1506
+
1507
+ /***/ }),
1508
+
1509
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js":
1510
+ /*!************************************************************************************!*\
1511
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js ***!
1512
+ \************************************************************************************/
1513
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1514
+
1515
+ "use strict";
1516
+
1517
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1518
+ exports.WParenRightW = void 0;
1519
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1520
+ class WParenRightW extends abstract_token_1.AbstractToken {
1521
+ static railroad() {
1522
+ return " ) ";
1523
+ }
1524
+ }
1525
+ exports.WParenRightW = WParenRightW;
1526
+ //# sourceMappingURL=wparen_rightw.js.map
1527
+
1528
+ /***/ }),
1529
+
1530
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js":
1531
+ /*!****************************************************************************!*\
1532
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js ***!
1533
+ \****************************************************************************/
1534
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1535
+
1536
+ "use strict";
1537
+
1538
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1539
+ exports.WPlus = void 0;
1540
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1541
+ class WPlus extends abstract_token_1.AbstractToken {
1542
+ static railroad() {
1543
+ return " +";
1544
+ }
1545
+ }
1546
+ exports.WPlus = WPlus;
1547
+ //# sourceMappingURL=wplus.js.map
1548
+
1549
+ /***/ }),
1550
+
1551
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js":
1552
+ /*!*****************************************************************************!*\
1553
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js ***!
1554
+ \*****************************************************************************/
1555
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1556
+
1557
+ "use strict";
1558
+
1559
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1560
+ exports.WPlusW = void 0;
1561
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1562
+ class WPlusW extends abstract_token_1.AbstractToken {
1563
+ static railroad() {
1564
+ return " + ";
1565
+ }
1566
+ }
1567
+ exports.WPlusW = WPlusW;
1568
+ //# sourceMappingURL=wplusw.js.map
1569
+
1570
+ /***/ }),
1571
+
1572
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js":
1573
+ /*!************************************************************************************!*\
1574
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js ***!
1575
+ \************************************************************************************/
1576
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1577
+
1578
+ "use strict";
1579
+
1580
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1581
+ exports.WStaticArrow = void 0;
1582
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1583
+ class WStaticArrow extends abstract_token_1.AbstractToken {
1584
+ static railroad() {
1585
+ return " =>";
1586
+ }
1587
+ }
1588
+ exports.WStaticArrow = WStaticArrow;
1589
+ //# sourceMappingURL=wstatic_arrow.js.map
1590
+
1591
+ /***/ }),
1592
+
1593
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js":
1594
+ /*!*************************************************************************************!*\
1595
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js ***!
1596
+ \*************************************************************************************/
1597
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1598
+
1599
+ "use strict";
1600
+
1601
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1602
+ exports.WStaticArrowW = void 0;
1603
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1604
+ class WStaticArrowW extends abstract_token_1.AbstractToken {
1605
+ static railroad() {
1606
+ return " => ";
1607
+ }
1608
+ }
1609
+ exports.WStaticArrowW = WStaticArrowW;
1610
+ //# sourceMappingURL=wstatic_arroww.js.map
1113
1611
 
1114
1612
  /***/ }),
1115
1613
 
@@ -2042,7 +2540,7 @@ const token_node_1 = __webpack_require__(/*! ../nodes/token_node */ "./node_modu
2042
2540
  const statement_parser_1 = __webpack_require__(/*! ./statement_parser */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js");
2043
2541
  const memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ "./node_modules/@abaplint/core/build/src/files/memory_file.js");
2044
2542
  const lexer_1 = __webpack_require__(/*! ../1_lexer/lexer */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js");
2045
- const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
2543
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
2046
2544
  class Macros {
2047
2545
  constructor(globalMacros) {
2048
2546
  this.macros = {};
@@ -2181,8 +2679,8 @@ class ExpandMacros {
2181
2679
  }
2182
2680
  // argh, macros is a nightmare
2183
2681
  let end = now.getStart();
2184
- if (end instanceof position_1.VirtualPosition) {
2185
- end = new position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
2682
+ if (end instanceof virtual_position_1.VirtualPosition) {
2683
+ end = new virtual_position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
2186
2684
  }
2187
2685
  else {
2188
2686
  end = now.getEnd();
@@ -6827,10 +7325,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
6827
7325
  exports.SQLIntoList = void 0;
6828
7326
  const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
6829
7327
  const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
6830
- const paren_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/paren_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js");
7328
+ const wparen_leftw_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js");
7329
+ const wparen_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js");
6831
7330
  class SQLIntoList extends combi_1.Expression {
6832
7331
  getRunnable() {
6833
- const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(paren_left_1.WParenLeft), (0, combi_1.tok)(paren_left_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, ",")), _1.SQLTarget, ")");
7332
+ const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(wparen_left_1.WParenLeft), (0, combi_1.tok)(wparen_leftw_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, ",")), _1.SQLTarget, ")");
6834
7333
  return (0, combi_1.seq)("INTO", intoList);
6835
7334
  }
6836
7335
  }
@@ -33073,6 +33572,10 @@ const expression_node_1 = __webpack_require__(/*! ./expression_node */ "./node_m
33073
33572
  const comment_1 = __webpack_require__(/*! ../1_lexer/tokens/comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js");
33074
33573
  const pragma_1 = __webpack_require__(/*! ../1_lexer/tokens/pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js");
33075
33574
  const string_1 = __webpack_require__(/*! ../1_lexer/tokens/string */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js");
33575
+ const string_template_middle_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_middle */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js");
33576
+ const string_template_end_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_end */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js");
33577
+ const string_template_begin_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_begin */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js");
33578
+ const string_template_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js");
33076
33579
  class StatementNode extends _abstract_node_1.AbstractNode {
33077
33580
  constructor(statement, colon, pragmas) {
33078
33581
  super();
@@ -33181,10 +33684,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
33181
33684
  for (const token of this.getTokens()) {
33182
33685
  if (token instanceof comment_1.Comment
33183
33686
  || token instanceof string_1.StringToken
33184
- || token instanceof string_1.StringTemplate
33185
- || token instanceof string_1.StringTemplateBegin
33186
- || token instanceof string_1.StringTemplateMiddle
33187
- || token instanceof string_1.StringTemplateEnd) {
33687
+ || token instanceof string_template_1.StringTemplate
33688
+ || token instanceof string_template_begin_1.StringTemplateBegin
33689
+ || token instanceof string_template_middle_1.StringTemplateMiddle
33690
+ || token instanceof string_template_end_1.StringTemplateEnd) {
33188
33691
  continue;
33189
33692
  }
33190
33693
  if (str === "") {
@@ -33317,10 +33820,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
33317
33820
  for (const token of this.getTokens()) {
33318
33821
  if (token instanceof comment_1.Comment
33319
33822
  || token instanceof string_1.StringToken
33320
- || token instanceof string_1.StringTemplate
33321
- || token instanceof string_1.StringTemplateBegin
33322
- || token instanceof string_1.StringTemplateMiddle
33323
- || token instanceof string_1.StringTemplateEnd) {
33823
+ || token instanceof string_template_1.StringTemplate
33824
+ || token instanceof string_template_begin_1.StringTemplateBegin
33825
+ || token instanceof string_template_middle_1.StringTemplateMiddle
33826
+ || token instanceof string_template_end_1.StringTemplateEnd) {
33324
33827
  continue;
33325
33828
  }
33326
33829
  if (prev && token.getStr().toUpperCase() === second && (prev === null || prev === void 0 ? void 0 : prev.getStr().toUpperCase()) === first.toUpperCase()) {
@@ -35579,6 +36082,8 @@ class ClassDefinition extends _identifier_1.Identifier {
35579
36082
  this.testing = concat.includes(" FOR TESTING");
35580
36083
  this.sharedMemory = concat.includes(" SHARED MEMORY ENABLED");
35581
36084
  this.abstract = (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText("ABSTRACT")) !== undefined;
36085
+ // perform checks after everything has been initialized
36086
+ this.checkMethodsFromSuperClasses(scope);
35582
36087
  }
35583
36088
  getFriends() {
35584
36089
  return this.friends;
@@ -35631,6 +36136,29 @@ class ClassDefinition extends _identifier_1.Identifier {
35631
36136
  const name = token === null || token === void 0 ? void 0 : token.getStr();
35632
36137
  return name;
35633
36138
  }
36139
+ checkMethodsFromSuperClasses(scope) {
36140
+ var _a;
36141
+ let sup = this.getSuperClass();
36142
+ const names = new Set();
36143
+ while (sup !== undefined) {
36144
+ const cdef = scope.findClassDefinition(sup);
36145
+ for (const m of ((_a = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {
36146
+ if (m.getVisibility() === visibility_1.Visibility.Private) {
36147
+ continue;
36148
+ }
36149
+ else if (m.getName().toUpperCase() === "CONSTRUCTOR") {
36150
+ continue;
36151
+ }
36152
+ names.add(m.getName().toUpperCase());
36153
+ }
36154
+ sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();
36155
+ }
36156
+ for (const m of this.getMethodDefinitions().getAll()) {
36157
+ if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
36158
+ throw new Error(`Method ${m.getName().toUpperCase()} already declared in superclass`);
36159
+ }
36160
+ }
36161
+ }
35634
36162
  findFriends(def, filename, scope) {
35635
36163
  var _a;
35636
36164
  const result = [];
@@ -36027,6 +36555,9 @@ const event_definition_1 = __webpack_require__(/*! ./event_definition */ "./node
36027
36555
  const method_definitions_1 = __webpack_require__(/*! ./method_definitions */ "./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js");
36028
36556
  const aliases_1 = __webpack_require__(/*! ./aliases */ "./node_modules/@abaplint/core/build/src/abap/types/aliases.js");
36029
36557
  const _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
36558
+ const class_constant_1 = __webpack_require__(/*! ./class_constant */ "./node_modules/@abaplint/core/build/src/abap/types/class_constant.js");
36559
+ const _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ "./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js");
36560
+ const tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
36030
36561
  class InterfaceDefinition extends _identifier_1.Identifier {
36031
36562
  constructor(node, filename, scope) {
36032
36563
  if (!(node.get() instanceof Structures.Interface)) {
@@ -36039,7 +36570,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36039
36570
  this.events = [];
36040
36571
  this.implementing = [];
36041
36572
  scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);
36042
- this.parse(scope);
36573
+ this.parse(scope, filename);
36043
36574
  scope.pop(node.getLastToken().getEnd());
36044
36575
  }
36045
36576
  getSuperClass() {
@@ -36070,7 +36601,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36070
36601
  return this.methodDefinitions;
36071
36602
  }
36072
36603
  /////////////////
36073
- parse(scope) {
36604
+ parse(scope, filename) {
36074
36605
  var _a;
36075
36606
  // todo, proper sequencing, the statements should be processed line by line
36076
36607
  this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);
@@ -36081,9 +36612,18 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36081
36612
  const [objName, fieldName] = a.getComponent().split("~");
36082
36613
  const idef = scope.findInterfaceDefinition(objName);
36083
36614
  if (idef) {
36084
- const found = idef.getTypeDefinitions().getByName(fieldName);
36085
- if (found) {
36086
- scope.addTypeNamed(a.getName(), found);
36615
+ const foundType = idef.getTypeDefinitions().getByName(fieldName);
36616
+ if (foundType) {
36617
+ scope.addTypeNamed(a.getName(), foundType);
36618
+ }
36619
+ else {
36620
+ const foundField = idef.getAttributes().findByName(fieldName);
36621
+ if (foundField && foundField instanceof class_constant_1.ClassConstant) {
36622
+ const token = new tokens_1.Identifier(a.getStart(), a.getName());
36623
+ const id = new _typed_identifier_1.TypedIdentifier(token, filename, foundField.getType());
36624
+ const constant = new class_constant_1.ClassConstant(id, visibility_1.Visibility.Public, foundField.getValue());
36625
+ scope.addIdentifier(constant);
36626
+ }
36087
36627
  }
36088
36628
  }
36089
36629
  }
@@ -39216,8 +39756,8 @@ const _current_scope_1 = __webpack_require__(/*! ./abap/5_syntax/_current_scope
39216
39756
  Object.defineProperty(exports, "CurrentScope", ({ enumerable: true, get: function () { return _current_scope_1.CurrentScope; } }));
39217
39757
  const Objects = __webpack_require__(/*! ./objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
39218
39758
  exports.Objects = Objects;
39219
- const _token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
39220
- Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return _token_1.Token; } }));
39759
+ const abstract_token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
39760
+ Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return abstract_token_1.AbstractToken; } }));
39221
39761
  const Statements = __webpack_require__(/*! ./abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
39222
39762
  exports.Statements = Statements;
39223
39763
  const Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
@@ -39236,7 +39776,8 @@ const Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ "./node_modules/
39236
39776
  exports.Tokens = Tokens;
39237
39777
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
39238
39778
  Object.defineProperty(exports, "Position", ({ enumerable: true, get: function () { return position_1.Position; } }));
39239
- Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return position_1.VirtualPosition; } }));
39779
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
39780
+ Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return virtual_position_1.VirtualPosition; } }));
39240
39781
  const _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ "./node_modules/@abaplint/core/build/src/files/_abstract_file.js");
39241
39782
  Object.defineProperty(exports, "AbstractFile", ({ enumerable: true, get: function () { return _abstract_file_1.AbstractFile; } }));
39242
39783
  const pretty_printer_1 = __webpack_require__(/*! ./pretty_printer/pretty_printer */ "./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js");
@@ -39291,6 +39832,7 @@ Object.defineProperty(exports, "CyclomaticComplexityStats", ({ enumerable: true,
39291
39832
  Object.defineProperty(exports, "__esModule", ({ value: true }));
39292
39833
  exports.Issue = void 0;
39293
39834
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
39835
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
39294
39836
  const severity_1 = __webpack_require__(/*! ./severity */ "./node_modules/@abaplint/core/build/src/severity.js");
39295
39837
  class Issue {
39296
39838
  //////////////////////////
@@ -39376,7 +39918,7 @@ class Issue {
39376
39918
  }
39377
39919
  constructor(data) {
39378
39920
  this.data = data;
39379
- if (this.data.start instanceof position_1.VirtualPosition) {
39921
+ if (this.data.start instanceof virtual_position_1.VirtualPosition) {
39380
39922
  // no quick fixes inside macros
39381
39923
  this.data.fix = undefined;
39382
39924
  }
@@ -41277,6 +41819,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
41277
41819
  exports.SemanticHighlighting = void 0;
41278
41820
  const LServer = __webpack_require__(/*! vscode-languageserver-types */ "./node_modules/vscode-languageserver-types/lib/umd/main.js");
41279
41821
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
41822
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
41280
41823
  const tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
41281
41824
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
41282
41825
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
@@ -41320,7 +41863,7 @@ class SemanticHighlighting {
41320
41863
  const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);
41321
41864
  const tokens = [];
41322
41865
  for (const s of file.getStatements()) {
41323
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
41866
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
41324
41867
  continue;
41325
41868
  }
41326
41869
  else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {
@@ -46311,7 +46854,7 @@ const vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageser
46311
46854
  const __1 = __webpack_require__(/*! ../.. */ "./node_modules/@abaplint/core/build/src/index.js");
46312
46855
  const syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js");
46313
46856
  const _scope_type_1 = __webpack_require__(/*! ../../abap/5_syntax/_scope_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js");
46314
- const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
46857
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
46315
46858
  const _abap_object_1 = __webpack_require__(/*! ../_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
46316
46859
  class RenamerHelper {
46317
46860
  constructor(reg) {
@@ -46455,7 +46998,7 @@ class RenamerHelper {
46455
46998
  for (const r of node.getData().references) {
46456
46999
  if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))
46457
47000
  && r.referenceType !== __1.ReferenceType.InferredType
46458
- && !(r.position.getStart() instanceof position_1.VirtualPosition)) {
47001
+ && !(r.position.getStart() instanceof virtual_position_1.VirtualPosition)) {
46459
47002
  ret.push(r.position);
46460
47003
  }
46461
47004
  }
@@ -48643,7 +49186,7 @@ exports.ZN0122 = ZN0122;
48643
49186
  "use strict";
48644
49187
 
48645
49188
  Object.defineProperty(exports, "__esModule", ({ value: true }));
48646
- exports.VirtualPosition = exports.Position = void 0;
49189
+ exports.Position = void 0;
48647
49190
  // first position is (1,1)
48648
49191
  class Position {
48649
49192
  constructor(row, col) {
@@ -48670,22 +49213,6 @@ class Position {
48670
49213
  }
48671
49214
  }
48672
49215
  exports.Position = Position;
48673
- /** used for macro calls */
48674
- class VirtualPosition extends Position {
48675
- constructor(virtual, row, col) {
48676
- super(virtual.getRow(), virtual.getCol());
48677
- this.vrow = row;
48678
- this.vcol = col;
48679
- }
48680
- equals(p) {
48681
- if (!(p instanceof VirtualPosition)) {
48682
- return false;
48683
- }
48684
- const casted = p;
48685
- return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
48686
- }
48687
- }
48688
- exports.VirtualPosition = VirtualPosition;
48689
49216
  //# sourceMappingURL=position.js.map
48690
49217
 
48691
49218
  /***/ }),
@@ -48771,7 +49298,7 @@ exports.Indent = void 0;
48771
49298
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
48772
49299
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
48773
49300
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
48774
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
49301
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
48775
49302
  // todo, will break if there is multiple statements per line?
48776
49303
  class Indent {
48777
49304
  constructor(options) {
@@ -48783,7 +49310,7 @@ class Indent {
48783
49310
  const expected = this.getExpectedIndents(original);
48784
49311
  const lines = modified.split("\n");
48785
49312
  for (const statement of statements) {
48786
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49313
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
48787
49314
  continue; // macro contents
48788
49315
  }
48789
49316
  const exp = expected.shift();
@@ -48807,7 +49334,7 @@ class Indent {
48807
49334
  let parentIsEvent = false;
48808
49335
  let previousStatement = undefined;
48809
49336
  for (const statement of file.getStatements()) {
48810
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49337
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
48811
49338
  continue; // skip macro contents
48812
49339
  }
48813
49340
  const type = statement.get();
@@ -49009,7 +49536,7 @@ exports.PrettyPrinter = void 0;
49009
49536
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
49010
49537
  const fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ "./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js");
49011
49538
  const indent_1 = __webpack_require__(/*! ./indent */ "./node_modules/@abaplint/core/build/src/pretty_printer/indent.js");
49012
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
49539
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
49013
49540
  const indentation_1 = __webpack_require__(/*! ../rules/indentation */ "./node_modules/@abaplint/core/build/src/rules/indentation.js");
49014
49541
  class PrettyPrinter {
49015
49542
  constructor(file, config) {
@@ -49028,7 +49555,7 @@ class PrettyPrinter {
49028
49555
  if (statement.get() instanceof _statement_1.Unknown
49029
49556
  || statement.get() instanceof _statement_1.MacroContent
49030
49557
  || statement.get() instanceof _statement_1.MacroCall
49031
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
49558
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
49032
49559
  || statement.get() instanceof _statement_1.Comment) {
49033
49560
  continue;
49034
49561
  }
@@ -49120,7 +49647,7 @@ class Registry {
49120
49647
  }
49121
49648
  static abaplintVersion() {
49122
49649
  // magic, see build script "version.sh"
49123
- return "2.102.67";
49650
+ return "2.102.69";
49124
49651
  }
49125
49652
  getDDICReferences() {
49126
49653
  return this.ddicReferences;
@@ -53765,6 +54292,7 @@ const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_st
53765
54292
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
53766
54293
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
53767
54294
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
54295
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
53768
54296
  const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
53769
54297
  const version_1 = __webpack_require__(/*! ../version */ "./node_modules/@abaplint/core/build/src/version.js");
53770
54298
  const registry_1 = __webpack_require__(/*! ../registry */ "./node_modules/@abaplint/core/build/src/registry.js");
@@ -54077,7 +54605,7 @@ Make sure to test the downported code, it might not always be completely correct
54077
54605
  }
54078
54606
  /** applies one rule at a time, multiple iterations are required to transform complex statements */
54079
54607
  checkStatement(low, high, lowFile, highSyntax, highFile) {
54080
- if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
54608
+ if (low.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
54081
54609
  return undefined;
54082
54610
  }
54083
54611
  // downport XSDBOOL() early, as it is valid 702 syntax
@@ -57111,7 +57639,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
57111
57639
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
57112
57640
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
57113
57641
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
57114
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
57642
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
57115
57643
  class ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {
57116
57644
  }
57117
57645
  exports.ExpandMacrosConf = ExpandMacrosConf;
@@ -57155,7 +57683,7 @@ _hello.`,
57155
57683
  let replace = "";
57156
57684
  for (let j = i + 1; j < statements.length; j++) {
57157
57685
  const sub = statements[j];
57158
- if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
57686
+ if (sub.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
57159
57687
  if (sub.get() instanceof _statement_1.MacroCall) {
57160
57688
  continue;
57161
57689
  }
@@ -59170,6 +59698,7 @@ const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */
59170
59698
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
59171
59699
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
59172
59700
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
59701
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
59173
59702
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
59174
59703
  class IndentationConf extends _basic_rule_config_1.BasicRuleConfig {
59175
59704
  constructor() {
@@ -59231,7 +59760,7 @@ class Indentation extends _abap_rule_1.ABAPRule {
59231
59760
  const ret = [];
59232
59761
  for (const statement of file.getStatements()) {
59233
59762
  const position = statement.getFirstToken().getStart();
59234
- if (position instanceof position_1.VirtualPosition) {
59763
+ if (position instanceof virtual_position_1.VirtualPosition) {
59235
59764
  continue;
59236
59765
  }
59237
59766
  const indent = expected.shift();
@@ -59816,7 +60345,7 @@ const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ ".
59816
60345
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
59817
60346
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
59818
60347
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
59819
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
60348
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
59820
60349
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
59821
60350
  var KeywordCaseStyle;
59822
60351
  (function (KeywordCaseStyle) {
@@ -59852,7 +60381,7 @@ class Skip {
59852
60381
  if (get instanceof _statement_1.Unknown
59853
60382
  || get instanceof _statement_1.MacroContent
59854
60383
  || get instanceof _statement_1.MacroCall
59855
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
60384
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
59856
60385
  || get instanceof _statement_1.Comment) {
59857
60386
  return true;
59858
60387
  }
@@ -60080,7 +60609,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
60080
60609
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
60081
60610
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60082
60611
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
60083
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
60612
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60084
60613
  class LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {
60085
60614
  constructor() {
60086
60615
  super(...arguments);
@@ -60118,7 +60647,7 @@ class LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {
60118
60647
  }
60119
60648
  for (const s of file.getStatements()) {
60120
60649
  for (const e of s.findAllExpressions(Expressions.ParameterListS)) {
60121
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
60650
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
60122
60651
  continue; // skip macro content
60123
60652
  }
60124
60653
  const parameters = e.findDirectExpressions(Expressions.ParameterS);
@@ -60883,9 +61412,15 @@ ENDIF.
60883
61412
  }
60884
61413
  if (cond[0].getChildren().length === 1) {
60885
61414
  const message = "Too many parentheses, simple";
60886
- const fixText = sub.getChildren()[1].concatTokens();
60887
- const fix = edit_helper_1.EditHelper.replaceRange(file, sub.getFirstToken().getStart(), sub.getLastToken().getEnd(), fixText);
60888
- const issue = issue_1.Issue.atToken(file, sub.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
61415
+ const children = sub.getChildren();
61416
+ let startToken = sub.getFirstToken();
61417
+ let fixText = sub.getChildren()[1].concatTokens();
61418
+ if (startToken.getStr().toUpperCase() === "NOT") {
61419
+ startToken = children[1].getFirstToken();
61420
+ fixText = sub.getChildren()[2].concatTokens();
61421
+ }
61422
+ const fix = edit_helper_1.EditHelper.replaceRange(file, startToken.getStart(), sub.getLastToken().getEnd(), fixText);
61423
+ const issue = issue_1.Issue.atToken(file, startToken, message, this.getMetadata().key, this.conf.severity, fix);
60889
61424
  issues.push(issue);
60890
61425
  }
60891
61426
  }
@@ -61077,7 +61612,7 @@ const _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ "./node_modules/@ab
61077
61612
  const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
61078
61613
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
61079
61614
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
61080
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
61615
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
61081
61616
  class MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {
61082
61617
  }
61083
61618
  exports.MaxOneStatementConf = MaxOneStatementConf;
@@ -61123,7 +61658,7 @@ https://docs.abapopenchecks.org/checks/11/`,
61123
61658
  continue;
61124
61659
  }
61125
61660
  const pos = statement.getStart();
61126
- if (pos instanceof position_1.VirtualPosition) {
61661
+ if (pos instanceof virtual_position_1.VirtualPosition) {
61127
61662
  continue;
61128
61663
  }
61129
61664
  const row = pos.getRow();
@@ -69171,6 +69706,14 @@ Errors found in INCLUDES are reported for the main program.`,
69171
69706
  tags: [_irule_1.RuleTag.Quickfix],
69172
69707
  pragma: "##NEEDED",
69173
69708
  pseudoComment: "EC NEEDED",
69709
+ badExample: `DATA: BEGIN OF blah1,
69710
+ test TYPE string,
69711
+ test2 TYPE string,
69712
+ END OF blah1.`,
69713
+ goodExample: `DATA: BEGIN OF blah2 ##NEEDED,
69714
+ test TYPE string,
69715
+ test2 TYPE string,
69716
+ END OF blah2.`,
69174
69717
  };
69175
69718
  }
69176
69719
  getConfig() {
@@ -70800,6 +71343,37 @@ exports.getPreviousVersion = getPreviousVersion;
70800
71343
 
70801
71344
  /***/ }),
70802
71345
 
71346
+ /***/ "./node_modules/@abaplint/core/build/src/virtual_position.js":
71347
+ /*!*******************************************************************!*\
71348
+ !*** ./node_modules/@abaplint/core/build/src/virtual_position.js ***!
71349
+ \*******************************************************************/
71350
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
71351
+
71352
+ "use strict";
71353
+
71354
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
71355
+ exports.VirtualPosition = void 0;
71356
+ const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
71357
+ /** used for macro calls */
71358
+ class VirtualPosition extends position_1.Position {
71359
+ constructor(virtual, row, col) {
71360
+ super(virtual.getRow(), virtual.getCol());
71361
+ this.vrow = row;
71362
+ this.vcol = col;
71363
+ }
71364
+ equals(p) {
71365
+ if (!(p instanceof VirtualPosition)) {
71366
+ return false;
71367
+ }
71368
+ const casted = p;
71369
+ return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
71370
+ }
71371
+ }
71372
+ exports.VirtualPosition = VirtualPosition;
71373
+ //# sourceMappingURL=virtual_position.js.map
71374
+
71375
+ /***/ }),
71376
+
70803
71377
  /***/ "./node_modules/@abaplint/core/build/src/xml_utils.js":
70804
71378
  /*!************************************************************!*\
70805
71379
  !*** ./node_modules/@abaplint/core/build/src/xml_utils.js ***!
@@ -81735,7 +82309,7 @@ class InterfaceTranspiler {
81735
82309
  ret += traversal.registerClassOrInterface(def);
81736
82310
  }
81737
82311
  }
81738
- ret += this.buildConstants(node.findFirstExpression(abaplint.Expressions.InterfaceName), traversal);
82312
+ ret += this.buildConstants(node.findFirstExpression(abaplint.Expressions.InterfaceName), traversal, def);
81739
82313
  ret += this.buildTypes(def);
81740
82314
  return new chunk_1.Chunk(ret);
81741
82315
  }
@@ -81750,7 +82324,7 @@ class InterfaceTranspiler {
81750
82324
  }
81751
82325
  return ret;
81752
82326
  }
81753
- buildConstants(node, traversal) {
82327
+ buildConstants(node, traversal, idef) {
81754
82328
  if (node === undefined) {
81755
82329
  return "";
81756
82330
  }
@@ -81769,6 +82343,11 @@ class InterfaceTranspiler {
81769
82343
  const interfaceName = traversal_1.Traversal.escapeNamespace(node.getFirstToken().getStr().toLowerCase());
81770
82344
  const name = interfaceName + "." + interfaceName + "$" + n.toLowerCase();
81771
82345
  ret += name + " = " + new transpile_types_1.TranspileTypes().toType(identifier.getType()) + ";\n";
82346
+ const alias = idef === null || idef === void 0 ? void 0 : idef.getAliases().getAll().find(a => a.getName().toUpperCase() === n.toUpperCase());
82347
+ if (alias) {
82348
+ // todo: this is an evil workaround, should be fixed in abaplint instead
82349
+ ret += interfaceName + "." + alias.getComponent().split("~")[0].toLowerCase() + "$" + n.toLowerCase() + " = " + name + ";\n";
82350
+ }
81772
82351
  const constantStatement = traversal.findStatementInFile(identifier.getStart());
81773
82352
  const valExpression = constantStatement === null || constantStatement === void 0 ? void 0 : constantStatement.findFirstExpression(abaplint.Expressions.Value);
81774
82353
  if ((valExpression === null || valExpression === void 0 ? void 0 : valExpression.getChildren()[1].get()) instanceof abaplint.Expressions.SimpleFieldChain) {