@abaplint/transpiler-cli 2.7.129 → 2.7.131

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 +951 -259
  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,32 @@ 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
+ for (const a of (cdef === null || cdef === void 0 ? void 0 : cdef.getAliases().getAll()) || []) {
36155
+ names.add(a.getName().toUpperCase());
36156
+ }
36157
+ sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();
36158
+ }
36159
+ for (const m of this.getMethodDefinitions().getAll()) {
36160
+ if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
36161
+ throw new Error(`${m.getName().toUpperCase()} already declared in superclass`);
36162
+ }
36163
+ }
36164
+ }
35634
36165
  findFriends(def, filename, scope) {
35635
36166
  var _a;
35636
36167
  const result = [];
@@ -36027,6 +36558,9 @@ const event_definition_1 = __webpack_require__(/*! ./event_definition */ "./node
36027
36558
  const method_definitions_1 = __webpack_require__(/*! ./method_definitions */ "./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js");
36028
36559
  const aliases_1 = __webpack_require__(/*! ./aliases */ "./node_modules/@abaplint/core/build/src/abap/types/aliases.js");
36029
36560
  const _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
36561
+ const class_constant_1 = __webpack_require__(/*! ./class_constant */ "./node_modules/@abaplint/core/build/src/abap/types/class_constant.js");
36562
+ const _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ "./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js");
36563
+ const tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
36030
36564
  class InterfaceDefinition extends _identifier_1.Identifier {
36031
36565
  constructor(node, filename, scope) {
36032
36566
  if (!(node.get() instanceof Structures.Interface)) {
@@ -36039,7 +36573,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36039
36573
  this.events = [];
36040
36574
  this.implementing = [];
36041
36575
  scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);
36042
- this.parse(scope);
36576
+ this.parse(scope, filename);
36043
36577
  scope.pop(node.getLastToken().getEnd());
36044
36578
  }
36045
36579
  getSuperClass() {
@@ -36070,7 +36604,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36070
36604
  return this.methodDefinitions;
36071
36605
  }
36072
36606
  /////////////////
36073
- parse(scope) {
36607
+ parse(scope, filename) {
36074
36608
  var _a;
36075
36609
  // todo, proper sequencing, the statements should be processed line by line
36076
36610
  this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);
@@ -36081,9 +36615,18 @@ class InterfaceDefinition extends _identifier_1.Identifier {
36081
36615
  const [objName, fieldName] = a.getComponent().split("~");
36082
36616
  const idef = scope.findInterfaceDefinition(objName);
36083
36617
  if (idef) {
36084
- const found = idef.getTypeDefinitions().getByName(fieldName);
36085
- if (found) {
36086
- scope.addTypeNamed(a.getName(), found);
36618
+ const foundType = idef.getTypeDefinitions().getByName(fieldName);
36619
+ if (foundType) {
36620
+ scope.addTypeNamed(a.getName(), foundType);
36621
+ }
36622
+ else {
36623
+ const foundField = idef.getAttributes().findByName(fieldName);
36624
+ if (foundField && foundField instanceof class_constant_1.ClassConstant) {
36625
+ const token = new tokens_1.Identifier(a.getStart(), a.getName());
36626
+ const id = new _typed_identifier_1.TypedIdentifier(token, filename, foundField.getType());
36627
+ const constant = new class_constant_1.ClassConstant(id, visibility_1.Visibility.Public, foundField.getValue());
36628
+ scope.addIdentifier(constant);
36629
+ }
36087
36630
  }
36088
36631
  }
36089
36632
  }
@@ -39216,8 +39759,8 @@ const _current_scope_1 = __webpack_require__(/*! ./abap/5_syntax/_current_scope
39216
39759
  Object.defineProperty(exports, "CurrentScope", ({ enumerable: true, get: function () { return _current_scope_1.CurrentScope; } }));
39217
39760
  const Objects = __webpack_require__(/*! ./objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
39218
39761
  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; } }));
39762
+ 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");
39763
+ Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return abstract_token_1.AbstractToken; } }));
39221
39764
  const Statements = __webpack_require__(/*! ./abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
39222
39765
  exports.Statements = Statements;
39223
39766
  const Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
@@ -39236,7 +39779,8 @@ const Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ "./node_modules/
39236
39779
  exports.Tokens = Tokens;
39237
39780
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
39238
39781
  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; } }));
39782
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
39783
+ Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return virtual_position_1.VirtualPosition; } }));
39240
39784
  const _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ "./node_modules/@abaplint/core/build/src/files/_abstract_file.js");
39241
39785
  Object.defineProperty(exports, "AbstractFile", ({ enumerable: true, get: function () { return _abstract_file_1.AbstractFile; } }));
39242
39786
  const pretty_printer_1 = __webpack_require__(/*! ./pretty_printer/pretty_printer */ "./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js");
@@ -39291,6 +39835,7 @@ Object.defineProperty(exports, "CyclomaticComplexityStats", ({ enumerable: true,
39291
39835
  Object.defineProperty(exports, "__esModule", ({ value: true }));
39292
39836
  exports.Issue = void 0;
39293
39837
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
39838
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
39294
39839
  const severity_1 = __webpack_require__(/*! ./severity */ "./node_modules/@abaplint/core/build/src/severity.js");
39295
39840
  class Issue {
39296
39841
  //////////////////////////
@@ -39376,7 +39921,7 @@ class Issue {
39376
39921
  }
39377
39922
  constructor(data) {
39378
39923
  this.data = data;
39379
- if (this.data.start instanceof position_1.VirtualPosition) {
39924
+ if (this.data.start instanceof virtual_position_1.VirtualPosition) {
39380
39925
  // no quick fixes inside macros
39381
39926
  this.data.fix = undefined;
39382
39927
  }
@@ -41277,6 +41822,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
41277
41822
  exports.SemanticHighlighting = void 0;
41278
41823
  const LServer = __webpack_require__(/*! vscode-languageserver-types */ "./node_modules/vscode-languageserver-types/lib/umd/main.js");
41279
41824
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
41825
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
41280
41826
  const tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
41281
41827
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
41282
41828
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
@@ -41320,7 +41866,7 @@ class SemanticHighlighting {
41320
41866
  const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);
41321
41867
  const tokens = [];
41322
41868
  for (const s of file.getStatements()) {
41323
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
41869
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
41324
41870
  continue;
41325
41871
  }
41326
41872
  else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {
@@ -45733,6 +46279,7 @@ exports.PersonalizationObject = PersonalizationObject;
45733
46279
  Object.defineProperty(exports, "__esModule", ({ value: true }));
45734
46280
  exports.Program = void 0;
45735
46281
  const _abap_object_1 = __webpack_require__(/*! ./_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
46282
+ const xml_utils_1 = __webpack_require__(/*! ../xml_utils */ "./node_modules/@abaplint/core/build/src/xml_utils.js");
45736
46283
  class Program extends _abap_object_1.ABAPObject {
45737
46284
  getType() {
45738
46285
  return "PROG";
@@ -45766,14 +46313,49 @@ class Program extends _abap_object_1.ABAPObject {
45766
46313
  this.parseXML();
45767
46314
  return this.parsedXML.isModulePool;
45768
46315
  }
46316
+ getDynpros() {
46317
+ this.parseXML();
46318
+ return this.parsedXML.dynpros;
46319
+ }
46320
+ ////////////////////////////
45769
46321
  parseXML() {
45770
- if (this.parsedXML === undefined) {
45771
- const file = this.getXMLFile();
46322
+ var _a, _b, _c, _d;
46323
+ if (this.parsedXML !== undefined) {
46324
+ return;
46325
+ }
46326
+ const file = this.getXMLFile();
46327
+ const parsed = this.parseRaw2();
46328
+ if (parsed === undefined) {
45772
46329
  this.parsedXML = {
45773
- isInclude: file ? file.getRaw().includes("<SUBC>I</SUBC>") : false,
45774
- isModulePool: file ? file.getRaw().includes("<SUBC>M</SUBC>") : false,
46330
+ isInclude: false,
46331
+ isModulePool: false,
46332
+ dynpros: [],
45775
46333
  };
46334
+ return;
46335
+ }
46336
+ const dynpros = [];
46337
+ const xmlDynpros = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DYNPROS;
46338
+ if (xmlDynpros !== undefined) {
46339
+ for (const d of (0, xml_utils_1.xmlToArray)(xmlDynpros.item)) {
46340
+ const fields = [];
46341
+ for (const f of (0, xml_utils_1.xmlToArray)((_d = d.FIELDS) === null || _d === void 0 ? void 0 : _d.RPY_DYFATC)) {
46342
+ fields.push({
46343
+ name: f.NAME,
46344
+ type: f.TYPE,
46345
+ length: f.LENGTH,
46346
+ });
46347
+ }
46348
+ dynpros.push({
46349
+ number: d.HEADER.SCREEN,
46350
+ fields: fields,
46351
+ });
46352
+ }
45776
46353
  }
46354
+ this.parsedXML = {
46355
+ isInclude: file ? file.getRaw().includes("<SUBC>I</SUBC>") : false,
46356
+ isModulePool: file ? file.getRaw().includes("<SUBC>M</SUBC>") : false,
46357
+ dynpros: dynpros,
46358
+ };
45777
46359
  }
45778
46360
  }
45779
46361
  exports.Program = Program;
@@ -46311,7 +46893,7 @@ const vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageser
46311
46893
  const __1 = __webpack_require__(/*! ../.. */ "./node_modules/@abaplint/core/build/src/index.js");
46312
46894
  const syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js");
46313
46895
  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");
46896
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
46315
46897
  const _abap_object_1 = __webpack_require__(/*! ../_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
46316
46898
  class RenamerHelper {
46317
46899
  constructor(reg) {
@@ -46455,7 +47037,7 @@ class RenamerHelper {
46455
47037
  for (const r of node.getData().references) {
46456
47038
  if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))
46457
47039
  && r.referenceType !== __1.ReferenceType.InferredType
46458
- && !(r.position.getStart() instanceof position_1.VirtualPosition)) {
47040
+ && !(r.position.getStart() instanceof virtual_position_1.VirtualPosition)) {
46459
47041
  ret.push(r.position);
46460
47042
  }
46461
47043
  }
@@ -48643,7 +49225,7 @@ exports.ZN0122 = ZN0122;
48643
49225
  "use strict";
48644
49226
 
48645
49227
  Object.defineProperty(exports, "__esModule", ({ value: true }));
48646
- exports.VirtualPosition = exports.Position = void 0;
49228
+ exports.Position = void 0;
48647
49229
  // first position is (1,1)
48648
49230
  class Position {
48649
49231
  constructor(row, col) {
@@ -48670,22 +49252,6 @@ class Position {
48670
49252
  }
48671
49253
  }
48672
49254
  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
49255
  //# sourceMappingURL=position.js.map
48690
49256
 
48691
49257
  /***/ }),
@@ -48771,7 +49337,7 @@ exports.Indent = void 0;
48771
49337
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
48772
49338
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
48773
49339
  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");
49340
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
48775
49341
  // todo, will break if there is multiple statements per line?
48776
49342
  class Indent {
48777
49343
  constructor(options) {
@@ -48783,7 +49349,7 @@ class Indent {
48783
49349
  const expected = this.getExpectedIndents(original);
48784
49350
  const lines = modified.split("\n");
48785
49351
  for (const statement of statements) {
48786
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49352
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
48787
49353
  continue; // macro contents
48788
49354
  }
48789
49355
  const exp = expected.shift();
@@ -48807,7 +49373,7 @@ class Indent {
48807
49373
  let parentIsEvent = false;
48808
49374
  let previousStatement = undefined;
48809
49375
  for (const statement of file.getStatements()) {
48810
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49376
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
48811
49377
  continue; // skip macro contents
48812
49378
  }
48813
49379
  const type = statement.get();
@@ -49009,7 +49575,7 @@ exports.PrettyPrinter = void 0;
49009
49575
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
49010
49576
  const fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ "./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js");
49011
49577
  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");
49578
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
49013
49579
  const indentation_1 = __webpack_require__(/*! ../rules/indentation */ "./node_modules/@abaplint/core/build/src/rules/indentation.js");
49014
49580
  class PrettyPrinter {
49015
49581
  constructor(file, config) {
@@ -49028,7 +49594,7 @@ class PrettyPrinter {
49028
49594
  if (statement.get() instanceof _statement_1.Unknown
49029
49595
  || statement.get() instanceof _statement_1.MacroContent
49030
49596
  || statement.get() instanceof _statement_1.MacroCall
49031
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
49597
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
49032
49598
  || statement.get() instanceof _statement_1.Comment) {
49033
49599
  continue;
49034
49600
  }
@@ -49120,7 +49686,7 @@ class Registry {
49120
49686
  }
49121
49687
  static abaplintVersion() {
49122
49688
  // magic, see build script "version.sh"
49123
- return "2.102.67";
49689
+ return "2.103.0";
49124
49690
  }
49125
49691
  getDDICReferences() {
49126
49692
  return this.ddicReferences;
@@ -53765,6 +54331,7 @@ const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_st
53765
54331
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
53766
54332
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
53767
54333
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
54334
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
53768
54335
  const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
53769
54336
  const version_1 = __webpack_require__(/*! ../version */ "./node_modules/@abaplint/core/build/src/version.js");
53770
54337
  const registry_1 = __webpack_require__(/*! ../registry */ "./node_modules/@abaplint/core/build/src/registry.js");
@@ -54077,7 +54644,7 @@ Make sure to test the downported code, it might not always be completely correct
54077
54644
  }
54078
54645
  /** applies one rule at a time, multiple iterations are required to transform complex statements */
54079
54646
  checkStatement(low, high, lowFile, highSyntax, highFile) {
54080
- if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
54647
+ if (low.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
54081
54648
  return undefined;
54082
54649
  }
54083
54650
  // downport XSDBOOL() early, as it is valid 702 syntax
@@ -56628,6 +57195,71 @@ exports.Downport = Downport;
56628
57195
 
56629
57196
  /***/ }),
56630
57197
 
57198
+ /***/ "./node_modules/@abaplint/core/build/src/rules/dynpro_checks.js":
57199
+ /*!**********************************************************************!*\
57200
+ !*** ./node_modules/@abaplint/core/build/src/rules/dynpro_checks.js ***!
57201
+ \**********************************************************************/
57202
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
57203
+
57204
+ "use strict";
57205
+
57206
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
57207
+ exports.DynproChecks = exports.DynproChecksConf = void 0;
57208
+ const issue_1 = __webpack_require__(/*! ../issue */ "./node_modules/@abaplint/core/build/src/issue.js");
57209
+ const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
57210
+ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
57211
+ const objects_1 = __webpack_require__(/*! ../objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
57212
+ const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
57213
+ class DynproChecksConf extends _basic_rule_config_1.BasicRuleConfig {
57214
+ }
57215
+ exports.DynproChecksConf = DynproChecksConf;
57216
+ class DynproChecks {
57217
+ constructor() {
57218
+ this.conf = new DynproChecksConf();
57219
+ }
57220
+ getMetadata() {
57221
+ return {
57222
+ key: "dynpro_checks",
57223
+ title: "Dynpro Checks",
57224
+ shortDescription: `Various Dynpro checks`,
57225
+ extendedInformation: `* Check length of PUSH elements less than 132`,
57226
+ tags: [_irule_1.RuleTag.Syntax],
57227
+ };
57228
+ }
57229
+ initialize(_reg) {
57230
+ return this;
57231
+ }
57232
+ getConfig() {
57233
+ return this.conf;
57234
+ }
57235
+ setConfig(conf) {
57236
+ this.conf = conf;
57237
+ }
57238
+ run(obj) {
57239
+ const ret = [];
57240
+ if (!(obj instanceof objects_1.Program)) {
57241
+ return [];
57242
+ }
57243
+ const file = obj.getXMLFile();
57244
+ if (file === undefined) {
57245
+ return [];
57246
+ }
57247
+ for (const dynpro of obj.getDynpros()) {
57248
+ for (const field of dynpro.fields) {
57249
+ if (field.type === "PUSH" && field.length > 132) {
57250
+ const message = `Screen ${dynpro.number}, field ${field.name} LENGTH longer than 132`;
57251
+ ret.push(issue_1.Issue.atPosition(file, new position_1.Position(1, 1), message, this.getMetadata().key, this.getConfig().severity));
57252
+ }
57253
+ }
57254
+ }
57255
+ return ret;
57256
+ }
57257
+ }
57258
+ exports.DynproChecks = DynproChecks;
57259
+ //# sourceMappingURL=dynpro_checks.js.map
57260
+
57261
+ /***/ }),
57262
+
56631
57263
  /***/ "./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js":
56632
57264
  /*!******************************************************************************!*\
56633
57265
  !*** ./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js ***!
@@ -57111,7 +57743,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
57111
57743
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
57112
57744
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
57113
57745
  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");
57746
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
57115
57747
  class ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {
57116
57748
  }
57117
57749
  exports.ExpandMacrosConf = ExpandMacrosConf;
@@ -57155,7 +57787,7 @@ _hello.`,
57155
57787
  let replace = "";
57156
57788
  for (let j = i + 1; j < statements.length; j++) {
57157
57789
  const sub = statements[j];
57158
- if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
57790
+ if (sub.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
57159
57791
  if (sub.get() instanceof _statement_1.MacroCall) {
57160
57792
  continue;
57161
57793
  }
@@ -59170,6 +59802,7 @@ const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */
59170
59802
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
59171
59803
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
59172
59804
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
59805
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
59173
59806
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
59174
59807
  class IndentationConf extends _basic_rule_config_1.BasicRuleConfig {
59175
59808
  constructor() {
@@ -59231,7 +59864,7 @@ class Indentation extends _abap_rule_1.ABAPRule {
59231
59864
  const ret = [];
59232
59865
  for (const statement of file.getStatements()) {
59233
59866
  const position = statement.getFirstToken().getStart();
59234
- if (position instanceof position_1.VirtualPosition) {
59867
+ if (position instanceof virtual_position_1.VirtualPosition) {
59235
59868
  continue;
59236
59869
  }
59237
59870
  const indent = expected.shift();
@@ -59344,6 +59977,7 @@ __exportStar(__webpack_require__(/*! ./definitions_top */ "./node_modules/@abapl
59344
59977
  __exportStar(__webpack_require__(/*! ./description_empty */ "./node_modules/@abaplint/core/build/src/rules/description_empty.js"), exports);
59345
59978
  __exportStar(__webpack_require__(/*! ./double_space */ "./node_modules/@abaplint/core/build/src/rules/double_space.js"), exports);
59346
59979
  __exportStar(__webpack_require__(/*! ./downport */ "./node_modules/@abaplint/core/build/src/rules/downport.js"), exports);
59980
+ __exportStar(__webpack_require__(/*! ./dynpro_checks */ "./node_modules/@abaplint/core/build/src/rules/dynpro_checks.js"), exports);
59347
59981
  __exportStar(__webpack_require__(/*! ./easy_to_find_messages */ "./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js"), exports);
59348
59982
  __exportStar(__webpack_require__(/*! ./empty_line_in_statement */ "./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js"), exports);
59349
59983
  __exportStar(__webpack_require__(/*! ./empty_statement */ "./node_modules/@abaplint/core/build/src/rules/empty_statement.js"), exports);
@@ -59816,7 +60450,7 @@ const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ ".
59816
60450
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
59817
60451
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
59818
60452
  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");
60453
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
59820
60454
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
59821
60455
  var KeywordCaseStyle;
59822
60456
  (function (KeywordCaseStyle) {
@@ -59852,7 +60486,7 @@ class Skip {
59852
60486
  if (get instanceof _statement_1.Unknown
59853
60487
  || get instanceof _statement_1.MacroContent
59854
60488
  || get instanceof _statement_1.MacroCall
59855
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
60489
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
59856
60490
  || get instanceof _statement_1.Comment) {
59857
60491
  return true;
59858
60492
  }
@@ -60080,7 +60714,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
60080
60714
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
60081
60715
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60082
60716
  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");
60717
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60084
60718
  class LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {
60085
60719
  constructor() {
60086
60720
  super(...arguments);
@@ -60118,7 +60752,7 @@ class LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {
60118
60752
  }
60119
60753
  for (const s of file.getStatements()) {
60120
60754
  for (const e of s.findAllExpressions(Expressions.ParameterListS)) {
60121
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
60755
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
60122
60756
  continue; // skip macro content
60123
60757
  }
60124
60758
  const parameters = e.findDirectExpressions(Expressions.ParameterS);
@@ -60883,9 +61517,15 @@ ENDIF.
60883
61517
  }
60884
61518
  if (cond[0].getChildren().length === 1) {
60885
61519
  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);
61520
+ const children = sub.getChildren();
61521
+ let startToken = sub.getFirstToken();
61522
+ let fixText = sub.getChildren()[1].concatTokens();
61523
+ if (startToken.getStr().toUpperCase() === "NOT") {
61524
+ startToken = children[1].getFirstToken();
61525
+ fixText = sub.getChildren()[2].concatTokens();
61526
+ }
61527
+ const fix = edit_helper_1.EditHelper.replaceRange(file, startToken.getStart(), sub.getLastToken().getEnd(), fixText);
61528
+ const issue = issue_1.Issue.atToken(file, startToken, message, this.getMetadata().key, this.conf.severity, fix);
60889
61529
  issues.push(issue);
60890
61530
  }
60891
61531
  }
@@ -61077,7 +61717,7 @@ const _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ "./node_modules/@ab
61077
61717
  const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
61078
61718
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
61079
61719
  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");
61720
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
61081
61721
  class MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {
61082
61722
  }
61083
61723
  exports.MaxOneStatementConf = MaxOneStatementConf;
@@ -61123,7 +61763,7 @@ https://docs.abapopenchecks.org/checks/11/`,
61123
61763
  continue;
61124
61764
  }
61125
61765
  const pos = statement.getStart();
61126
- if (pos instanceof position_1.VirtualPosition) {
61766
+ if (pos instanceof virtual_position_1.VirtualPosition) {
61127
61767
  continue;
61128
61768
  }
61129
61769
  const row = pos.getRow();
@@ -69171,6 +69811,14 @@ Errors found in INCLUDES are reported for the main program.`,
69171
69811
  tags: [_irule_1.RuleTag.Quickfix],
69172
69812
  pragma: "##NEEDED",
69173
69813
  pseudoComment: "EC NEEDED",
69814
+ badExample: `DATA: BEGIN OF blah1,
69815
+ test TYPE string,
69816
+ test2 TYPE string,
69817
+ END OF blah1.`,
69818
+ goodExample: `DATA: BEGIN OF blah2 ##NEEDED,
69819
+ test TYPE string,
69820
+ test2 TYPE string,
69821
+ END OF blah2.`,
69174
69822
  };
69175
69823
  }
69176
69824
  getConfig() {
@@ -70800,6 +71448,37 @@ exports.getPreviousVersion = getPreviousVersion;
70800
71448
 
70801
71449
  /***/ }),
70802
71450
 
71451
+ /***/ "./node_modules/@abaplint/core/build/src/virtual_position.js":
71452
+ /*!*******************************************************************!*\
71453
+ !*** ./node_modules/@abaplint/core/build/src/virtual_position.js ***!
71454
+ \*******************************************************************/
71455
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
71456
+
71457
+ "use strict";
71458
+
71459
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
71460
+ exports.VirtualPosition = void 0;
71461
+ const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
71462
+ /** used for macro calls */
71463
+ class VirtualPosition extends position_1.Position {
71464
+ constructor(virtual, row, col) {
71465
+ super(virtual.getRow(), virtual.getCol());
71466
+ this.vrow = row;
71467
+ this.vcol = col;
71468
+ }
71469
+ equals(p) {
71470
+ if (!(p instanceof VirtualPosition)) {
71471
+ return false;
71472
+ }
71473
+ const casted = p;
71474
+ return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
71475
+ }
71476
+ }
71477
+ exports.VirtualPosition = VirtualPosition;
71478
+ //# sourceMappingURL=virtual_position.js.map
71479
+
71480
+ /***/ }),
71481
+
70803
71482
  /***/ "./node_modules/@abaplint/core/build/src/xml_utils.js":
70804
71483
  /*!************************************************************!*\
70805
71484
  !*** ./node_modules/@abaplint/core/build/src/xml_utils.js ***!
@@ -78735,7 +79414,6 @@ class MethodImplementationTranspiler {
78735
79414
  const type = identifier.getType();
78736
79415
  if (identifier.getMeta().includes("exporting" /* abaplint.IdentifierMeta.MethodExporting */)) {
78737
79416
  after += `let ${varName} = ${unique}?.${varName} || ${new transpile_types_1.TranspileTypes().toType(identifier.getType())};\n`;
78738
- // begin new
78739
79417
  }
78740
79418
  else if (identifier.getMeta().includes("importing" /* abaplint.IdentifierMeta.MethodImporting */)
78741
79419
  && parameterDefault === undefined
@@ -78756,7 +79434,12 @@ class MethodImplementationTranspiler {
78756
79434
  else {
78757
79435
  after += `let ${varName} = ${unique}?.${varName};\n`;
78758
79436
  }
78759
- // end new
79437
+ if (type instanceof abaplint.BasicTypes.NumericGenericType) {
79438
+ after += `if (${varName}.constructor.name === "Character") {
79439
+ ${varName} = ${new transpile_types_1.TranspileTypes().toType(identifier.getType())};
79440
+ ${varName}.set(${unique}?.${varName});
79441
+ }\n`;
79442
+ }
78760
79443
  }
78761
79444
  else if (identifier.getMeta().includes("importing" /* abaplint.IdentifierMeta.MethodImporting */)
78762
79445
  && type.isGeneric() === false) {
@@ -80934,6 +81617,10 @@ class WriteTranspiler {
80934
81617
  if (exponent) {
80935
81618
  extra.push("exponent: " + traversal.traverse(exponent).getCode());
80936
81619
  }
81620
+ const currency = node.findExpressionAfterToken("CURRENCY");
81621
+ if (currency) {
81622
+ extra.push("currency: " + traversal.traverse(currency).getCode());
81623
+ }
80937
81624
  if (concat.includes("NO-GROUPING")) {
80938
81625
  extra.push("noGrouping: true");
80939
81626
  }
@@ -81735,7 +82422,7 @@ class InterfaceTranspiler {
81735
82422
  ret += traversal.registerClassOrInterface(def);
81736
82423
  }
81737
82424
  }
81738
- ret += this.buildConstants(node.findFirstExpression(abaplint.Expressions.InterfaceName), traversal);
82425
+ ret += this.buildConstants(node.findFirstExpression(abaplint.Expressions.InterfaceName), traversal, def);
81739
82426
  ret += this.buildTypes(def);
81740
82427
  return new chunk_1.Chunk(ret);
81741
82428
  }
@@ -81750,7 +82437,7 @@ class InterfaceTranspiler {
81750
82437
  }
81751
82438
  return ret;
81752
82439
  }
81753
- buildConstants(node, traversal) {
82440
+ buildConstants(node, traversal, idef) {
81754
82441
  if (node === undefined) {
81755
82442
  return "";
81756
82443
  }
@@ -81769,6 +82456,11 @@ class InterfaceTranspiler {
81769
82456
  const interfaceName = traversal_1.Traversal.escapeNamespace(node.getFirstToken().getStr().toLowerCase());
81770
82457
  const name = interfaceName + "." + interfaceName + "$" + n.toLowerCase();
81771
82458
  ret += name + " = " + new transpile_types_1.TranspileTypes().toType(identifier.getType()) + ";\n";
82459
+ const alias = idef === null || idef === void 0 ? void 0 : idef.getAliases().getAll().find(a => a.getName().toUpperCase() === n.toUpperCase());
82460
+ if (alias) {
82461
+ // todo: this is an evil workaround, should be fixed in abaplint instead
82462
+ ret += interfaceName + "." + alias.getComponent().split("~")[0].toLowerCase() + "$" + n.toLowerCase() + " = " + name + ";\n";
82463
+ }
81772
82464
  const constantStatement = traversal.findStatementInFile(identifier.getStart());
81773
82465
  const valExpression = constantStatement === null || constantStatement === void 0 ? void 0 : constantStatement.findFirstExpression(abaplint.Expressions.Value);
81774
82466
  if ((valExpression === null || valExpression === void 0 ? void 0 : valExpression.getChildren()[1].get()) instanceof abaplint.Expressions.SimpleFieldChain) {
@@ -82276,7 +82968,7 @@ class TranspileTypes {
82276
82968
  }
82277
82969
  else if (type instanceof abaplint.BasicTypes.NumericGenericType) {
82278
82970
  resolved = "Packed";
82279
- extra = "{length: 8, decimals: 0}";
82971
+ extra = "{length: 8, decimals: 2}";
82280
82972
  }
82281
82973
  else if (type instanceof abaplint.BasicTypes.XStringType) {
82282
82974
  resolved = "XString";