@abaplint/cli 2.102.67 → 2.102.69

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/cli.js +824 -250
  2. package/package.json +3 -3
package/build/cli.js CHANGED
@@ -1165,6 +1165,7 @@ exports.Rename = Rename;
1165
1165
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1166
1166
  exports.Lexer = void 0;
1167
1167
  const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
1168
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
1168
1169
  const tokens_1 = __webpack_require__(/*! ./tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
1169
1170
  class Buffer {
1170
1171
  constructor() {
@@ -1290,7 +1291,7 @@ class Lexer {
1290
1291
  }
1291
1292
  let pos = new position_1.Position(row, col - s.length);
1292
1293
  if (this.virtual) {
1293
- pos = new position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
1294
+ pos = new virtual_position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
1294
1295
  }
1295
1296
  let tok = undefined;
1296
1297
  if (this.m === this.ModeComment) {
@@ -1608,25 +1609,26 @@ exports.Lexer = Lexer;
1608
1609
 
1609
1610
  /***/ }),
1610
1611
 
1611
- /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js":
1612
- /*!*****************************************************************************!*\
1613
- !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js ***!
1614
- \*****************************************************************************/
1612
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js":
1613
+ /*!*************************************************************************************!*\
1614
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js ***!
1615
+ \*************************************************************************************/
1615
1616
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1616
1617
 
1617
1618
  "use strict";
1618
1619
 
1619
1620
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1620
- exports.Token = void 0;
1621
+ exports.AbstractToken = void 0;
1621
1622
  const position_1 = __webpack_require__(/*! ../../../position */ "./node_modules/@abaplint/core/build/src/position.js");
1622
- class Token {
1623
- [Symbol.for("debug.description")]() {
1624
- return `${this.constructor.name} ${this.str}`;
1625
- }
1623
+ class AbstractToken {
1626
1624
  constructor(start, str) {
1627
1625
  this.start = start;
1628
1626
  this.str = str;
1629
1627
  }
1628
+ // special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137
1629
+ [Symbol.for("debug.description")]() {
1630
+ return `${this.constructor.name} ${this.str}`;
1631
+ }
1630
1632
  getStr() {
1631
1633
  return this.str;
1632
1634
  }
@@ -1643,8 +1645,8 @@ class Token {
1643
1645
  return new position_1.Position(this.start.getRow(), this.start.getCol() + this.str.length);
1644
1646
  }
1645
1647
  }
1646
- exports.Token = Token;
1647
- //# sourceMappingURL=_token.js.map
1648
+ exports.AbstractToken = AbstractToken;
1649
+ //# sourceMappingURL=abstract_token.js.map
1648
1650
 
1649
1651
  /***/ }),
1650
1652
 
@@ -1657,33 +1659,36 @@ exports.Token = Token;
1657
1659
  "use strict";
1658
1660
 
1659
1661
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1660
- exports.WAtW = exports.AtW = exports.WAt = exports.At = void 0;
1661
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1662
- class At extends _token_1.Token {
1662
+ exports.At = void 0;
1663
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1664
+ class At extends abstract_token_1.AbstractToken {
1663
1665
  static railroad() {
1664
1666
  return "@";
1665
1667
  }
1666
1668
  }
1667
1669
  exports.At = At;
1668
- class WAt extends _token_1.Token {
1669
- static railroad() {
1670
- return " @";
1671
- }
1672
- }
1673
- exports.WAt = WAt;
1674
- class AtW extends _token_1.Token {
1670
+ //# sourceMappingURL=at.js.map
1671
+
1672
+ /***/ }),
1673
+
1674
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js":
1675
+ /*!**************************************************************************!*\
1676
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js ***!
1677
+ \**************************************************************************/
1678
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1679
+
1680
+ "use strict";
1681
+
1682
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1683
+ exports.AtW = void 0;
1684
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1685
+ class AtW extends abstract_token_1.AbstractToken {
1675
1686
  static railroad() {
1676
1687
  return "@ ";
1677
1688
  }
1678
1689
  }
1679
1690
  exports.AtW = AtW;
1680
- class WAtW extends _token_1.Token {
1681
- static railroad() {
1682
- return " @ ";
1683
- }
1684
- }
1685
- exports.WAtW = WAtW;
1686
- //# sourceMappingURL=at.js.map
1691
+ //# sourceMappingURL=atw.js.map
1687
1692
 
1688
1693
  /***/ }),
1689
1694
 
@@ -1696,33 +1701,36 @@ exports.WAtW = WAtW;
1696
1701
  "use strict";
1697
1702
 
1698
1703
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1699
- exports.WBracketLeftW = exports.BracketLeftW = exports.WBracketLeft = exports.BracketLeft = void 0;
1700
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1701
- class BracketLeft extends _token_1.Token {
1704
+ exports.BracketLeft = void 0;
1705
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1706
+ class BracketLeft extends abstract_token_1.AbstractToken {
1702
1707
  static railroad() {
1703
1708
  return "[";
1704
1709
  }
1705
1710
  }
1706
1711
  exports.BracketLeft = BracketLeft;
1707
- class WBracketLeft extends _token_1.Token {
1708
- static railroad() {
1709
- return " [";
1710
- }
1711
- }
1712
- exports.WBracketLeft = WBracketLeft;
1713
- class BracketLeftW extends _token_1.Token {
1712
+ //# sourceMappingURL=bracket_left.js.map
1713
+
1714
+ /***/ }),
1715
+
1716
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js":
1717
+ /*!************************************************************************************!*\
1718
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js ***!
1719
+ \************************************************************************************/
1720
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1721
+
1722
+ "use strict";
1723
+
1724
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1725
+ exports.BracketLeftW = void 0;
1726
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1727
+ class BracketLeftW extends abstract_token_1.AbstractToken {
1714
1728
  static railroad() {
1715
1729
  return "[ ";
1716
1730
  }
1717
1731
  }
1718
1732
  exports.BracketLeftW = BracketLeftW;
1719
- class WBracketLeftW extends _token_1.Token {
1720
- static railroad() {
1721
- return " [ ";
1722
- }
1723
- }
1724
- exports.WBracketLeftW = WBracketLeftW;
1725
- //# sourceMappingURL=bracket_left.js.map
1733
+ //# sourceMappingURL=bracket_leftw.js.map
1726
1734
 
1727
1735
  /***/ }),
1728
1736
 
@@ -1735,33 +1743,36 @@ exports.WBracketLeftW = WBracketLeftW;
1735
1743
  "use strict";
1736
1744
 
1737
1745
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1738
- exports.WBracketRightW = exports.BracketRightW = exports.WBracketRight = exports.BracketRight = void 0;
1739
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1740
- class BracketRight extends _token_1.Token {
1746
+ exports.BracketRight = void 0;
1747
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1748
+ class BracketRight extends abstract_token_1.AbstractToken {
1741
1749
  static railroad() {
1742
1750
  return "]";
1743
1751
  }
1744
1752
  }
1745
1753
  exports.BracketRight = BracketRight;
1746
- class WBracketRight extends _token_1.Token {
1747
- static railroad() {
1748
- return " ]";
1749
- }
1750
- }
1751
- exports.WBracketRight = WBracketRight;
1752
- class BracketRightW extends _token_1.Token {
1754
+ //# sourceMappingURL=bracket_right.js.map
1755
+
1756
+ /***/ }),
1757
+
1758
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js":
1759
+ /*!*************************************************************************************!*\
1760
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js ***!
1761
+ \*************************************************************************************/
1762
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1763
+
1764
+ "use strict";
1765
+
1766
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1767
+ exports.BracketRightW = void 0;
1768
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1769
+ class BracketRightW extends abstract_token_1.AbstractToken {
1753
1770
  static railroad() {
1754
1771
  return "] ";
1755
1772
  }
1756
1773
  }
1757
1774
  exports.BracketRightW = BracketRightW;
1758
- class WBracketRightW extends _token_1.Token {
1759
- static railroad() {
1760
- return " ] ";
1761
- }
1762
- }
1763
- exports.WBracketRightW = WBracketRightW;
1764
- //# sourceMappingURL=bracket_right.js.map
1775
+ //# sourceMappingURL=bracket_rightw.js.map
1765
1776
 
1766
1777
  /***/ }),
1767
1778
 
@@ -1775,8 +1786,8 @@ exports.WBracketRightW = WBracketRightW;
1775
1786
 
1776
1787
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1777
1788
  exports.Colon = void 0;
1778
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1779
- class Colon extends _token_1.Token {
1789
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1790
+ class Colon extends abstract_token_1.AbstractToken {
1780
1791
  }
1781
1792
  exports.Colon = Colon;
1782
1793
  //# sourceMappingURL=colon.js.map
@@ -1793,8 +1804,8 @@ exports.Colon = Colon;
1793
1804
 
1794
1805
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1795
1806
  exports.Comment = void 0;
1796
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1797
- class Comment extends _token_1.Token {
1807
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1808
+ class Comment extends abstract_token_1.AbstractToken {
1798
1809
  }
1799
1810
  exports.Comment = Comment;
1800
1811
  //# sourceMappingURL=comment.js.map
@@ -1810,33 +1821,36 @@ exports.Comment = Comment;
1810
1821
  "use strict";
1811
1822
 
1812
1823
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1813
- exports.WDashW = exports.DashW = exports.WDash = exports.Dash = void 0;
1814
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1815
- class Dash extends _token_1.Token {
1824
+ exports.Dash = void 0;
1825
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1826
+ class Dash extends abstract_token_1.AbstractToken {
1816
1827
  static railroad() {
1817
1828
  return "-";
1818
1829
  }
1819
1830
  }
1820
1831
  exports.Dash = Dash;
1821
- class WDash extends _token_1.Token {
1822
- static railroad() {
1823
- return " -";
1824
- }
1825
- }
1826
- exports.WDash = WDash;
1827
- class DashW extends _token_1.Token {
1832
+ //# sourceMappingURL=dash.js.map
1833
+
1834
+ /***/ }),
1835
+
1836
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js":
1837
+ /*!****************************************************************************!*\
1838
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js ***!
1839
+ \****************************************************************************/
1840
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1841
+
1842
+ "use strict";
1843
+
1844
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1845
+ exports.DashW = void 0;
1846
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1847
+ class DashW extends abstract_token_1.AbstractToken {
1828
1848
  static railroad() {
1829
1849
  return "- ";
1830
1850
  }
1831
1851
  }
1832
1852
  exports.DashW = DashW;
1833
- class WDashW extends _token_1.Token {
1834
- static railroad() {
1835
- return " - ";
1836
- }
1837
- }
1838
- exports.WDashW = WDashW;
1839
- //# sourceMappingURL=dash.js.map
1853
+ //# sourceMappingURL=dashw.js.map
1840
1854
 
1841
1855
  /***/ }),
1842
1856
 
@@ -1850,8 +1864,8 @@ exports.WDashW = WDashW;
1850
1864
 
1851
1865
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1852
1866
  exports.Identifier = void 0;
1853
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1854
- class Identifier extends _token_1.Token {
1867
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1868
+ class Identifier extends abstract_token_1.AbstractToken {
1855
1869
  }
1856
1870
  exports.Identifier = Identifier;
1857
1871
  //# sourceMappingURL=identifier.js.map
@@ -1882,20 +1896,51 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1882
1896
  };
1883
1897
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1884
1898
  __exportStar(__webpack_require__(/*! ./at */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js"), exports);
1899
+ __exportStar(__webpack_require__(/*! ./atw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js"), exports);
1900
+ __exportStar(__webpack_require__(/*! ./wat */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js"), exports);
1901
+ __exportStar(__webpack_require__(/*! ./watw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js"), exports);
1885
1902
  __exportStar(__webpack_require__(/*! ./bracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js"), exports);
1903
+ __exportStar(__webpack_require__(/*! ./wbracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js"), exports);
1904
+ __exportStar(__webpack_require__(/*! ./bracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js"), exports);
1905
+ __exportStar(__webpack_require__(/*! ./wbracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js"), exports);
1886
1906
  __exportStar(__webpack_require__(/*! ./bracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js"), exports);
1887
- __exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
1888
- __exportStar(__webpack_require__(/*! ./comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js"), exports);
1889
- __exportStar(__webpack_require__(/*! ./dash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js"), exports);
1890
- __exportStar(__webpack_require__(/*! ./identifier */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js"), exports);
1907
+ __exportStar(__webpack_require__(/*! ./wbracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js"), exports);
1908
+ __exportStar(__webpack_require__(/*! ./bracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js"), exports);
1909
+ __exportStar(__webpack_require__(/*! ./wbracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js"), exports);
1891
1910
  __exportStar(__webpack_require__(/*! ./instance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js"), exports);
1911
+ __exportStar(__webpack_require__(/*! ./winstance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js"), exports);
1912
+ __exportStar(__webpack_require__(/*! ./instance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js"), exports);
1913
+ __exportStar(__webpack_require__(/*! ./winstance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js"), exports);
1892
1914
  __exportStar(__webpack_require__(/*! ./paren_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js"), exports);
1915
+ __exportStar(__webpack_require__(/*! ./wparen_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js"), exports);
1916
+ __exportStar(__webpack_require__(/*! ./paren_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js"), exports);
1917
+ __exportStar(__webpack_require__(/*! ./wparen_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js"), exports);
1893
1918
  __exportStar(__webpack_require__(/*! ./paren_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js"), exports);
1919
+ __exportStar(__webpack_require__(/*! ./wparen_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js"), exports);
1920
+ __exportStar(__webpack_require__(/*! ./paren_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js"), exports);
1921
+ __exportStar(__webpack_require__(/*! ./wparen_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js"), exports);
1922
+ __exportStar(__webpack_require__(/*! ./dash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js"), exports);
1923
+ __exportStar(__webpack_require__(/*! ./wdash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js"), exports);
1924
+ __exportStar(__webpack_require__(/*! ./dashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js"), exports);
1925
+ __exportStar(__webpack_require__(/*! ./wdashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js"), exports);
1894
1926
  __exportStar(__webpack_require__(/*! ./plus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js"), exports);
1895
- __exportStar(__webpack_require__(/*! ./pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js"), exports);
1896
- __exportStar(__webpack_require__(/*! ./punctuation */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js"), exports);
1927
+ __exportStar(__webpack_require__(/*! ./wplus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js"), exports);
1928
+ __exportStar(__webpack_require__(/*! ./plusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js"), exports);
1929
+ __exportStar(__webpack_require__(/*! ./wplusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js"), exports);
1897
1930
  __exportStar(__webpack_require__(/*! ./static_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js"), exports);
1931
+ __exportStar(__webpack_require__(/*! ./wstatic_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js"), exports);
1932
+ __exportStar(__webpack_require__(/*! ./static_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js"), exports);
1933
+ __exportStar(__webpack_require__(/*! ./wstatic_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js"), exports);
1898
1934
  __exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js"), exports);
1935
+ __exportStar(__webpack_require__(/*! ./string_template */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js"), exports);
1936
+ __exportStar(__webpack_require__(/*! ./string_template_begin */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js"), exports);
1937
+ __exportStar(__webpack_require__(/*! ./string_template_end */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js"), exports);
1938
+ __exportStar(__webpack_require__(/*! ./string_template_middle */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js"), exports);
1939
+ __exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
1940
+ __exportStar(__webpack_require__(/*! ./comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js"), exports);
1941
+ __exportStar(__webpack_require__(/*! ./identifier */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js"), exports);
1942
+ __exportStar(__webpack_require__(/*! ./pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js"), exports);
1943
+ __exportStar(__webpack_require__(/*! ./punctuation */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js"), exports);
1899
1944
  //# sourceMappingURL=index.js.map
1900
1945
 
1901
1946
  /***/ }),
@@ -1909,33 +1954,36 @@ __exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/
1909
1954
  "use strict";
1910
1955
 
1911
1956
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1912
- exports.WInstanceArrowW = exports.InstanceArrowW = exports.WInstanceArrow = exports.InstanceArrow = void 0;
1913
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1914
- class InstanceArrow extends _token_1.Token {
1957
+ exports.InstanceArrow = void 0;
1958
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1959
+ class InstanceArrow extends abstract_token_1.AbstractToken {
1915
1960
  static railroad() {
1916
1961
  return "->";
1917
1962
  }
1918
1963
  }
1919
1964
  exports.InstanceArrow = InstanceArrow;
1920
- class WInstanceArrow extends _token_1.Token {
1921
- static railroad() {
1922
- return " ->";
1923
- }
1924
- }
1925
- exports.WInstanceArrow = WInstanceArrow;
1926
- class InstanceArrowW extends _token_1.Token {
1965
+ //# sourceMappingURL=instance_arrow.js.map
1966
+
1967
+ /***/ }),
1968
+
1969
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js":
1970
+ /*!**************************************************************************************!*\
1971
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js ***!
1972
+ \**************************************************************************************/
1973
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1974
+
1975
+ "use strict";
1976
+
1977
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1978
+ exports.InstanceArrowW = void 0;
1979
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1980
+ class InstanceArrowW extends abstract_token_1.AbstractToken {
1927
1981
  static railroad() {
1928
1982
  return "-> ";
1929
1983
  }
1930
1984
  }
1931
1985
  exports.InstanceArrowW = InstanceArrowW;
1932
- class WInstanceArrowW extends _token_1.Token {
1933
- static railroad() {
1934
- return " -> ";
1935
- }
1936
- }
1937
- exports.WInstanceArrowW = WInstanceArrowW;
1938
- //# sourceMappingURL=instance_arrow.js.map
1986
+ //# sourceMappingURL=instance_arroww.js.map
1939
1987
 
1940
1988
  /***/ }),
1941
1989
 
@@ -1948,33 +1996,36 @@ exports.WInstanceArrowW = WInstanceArrowW;
1948
1996
  "use strict";
1949
1997
 
1950
1998
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1951
- exports.WParenLeftW = exports.ParenLeftW = exports.WParenLeft = exports.ParenLeft = void 0;
1952
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1953
- class ParenLeft extends _token_1.Token {
1999
+ exports.ParenLeft = void 0;
2000
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2001
+ class ParenLeft extends abstract_token_1.AbstractToken {
1954
2002
  static railroad() {
1955
2003
  return "(";
1956
2004
  }
1957
2005
  }
1958
2006
  exports.ParenLeft = ParenLeft;
1959
- class WParenLeft extends _token_1.Token {
1960
- static railroad() {
1961
- return " (";
1962
- }
1963
- }
1964
- exports.WParenLeft = WParenLeft;
1965
- class ParenLeftW extends _token_1.Token {
2007
+ //# sourceMappingURL=paren_left.js.map
2008
+
2009
+ /***/ }),
2010
+
2011
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js":
2012
+ /*!**********************************************************************************!*\
2013
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js ***!
2014
+ \**********************************************************************************/
2015
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2016
+
2017
+ "use strict";
2018
+
2019
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2020
+ exports.ParenLeftW = void 0;
2021
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2022
+ class ParenLeftW extends abstract_token_1.AbstractToken {
1966
2023
  static railroad() {
1967
2024
  return "( ";
1968
2025
  }
1969
2026
  }
1970
2027
  exports.ParenLeftW = ParenLeftW;
1971
- class WParenLeftW extends _token_1.Token {
1972
- static railroad() {
1973
- return " ( ";
1974
- }
1975
- }
1976
- exports.WParenLeftW = WParenLeftW;
1977
- //# sourceMappingURL=paren_left.js.map
2028
+ //# sourceMappingURL=paren_leftw.js.map
1978
2029
 
1979
2030
  /***/ }),
1980
2031
 
@@ -1987,33 +2038,36 @@ exports.WParenLeftW = WParenLeftW;
1987
2038
  "use strict";
1988
2039
 
1989
2040
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1990
- exports.WParenRightW = exports.ParenRightW = exports.WParenRight = exports.ParenRight = void 0;
1991
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
1992
- class ParenRight extends _token_1.Token {
2041
+ exports.ParenRight = void 0;
2042
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2043
+ class ParenRight extends abstract_token_1.AbstractToken {
1993
2044
  static railroad() {
1994
2045
  return ")";
1995
2046
  }
1996
2047
  }
1997
2048
  exports.ParenRight = ParenRight;
1998
- class WParenRight extends _token_1.Token {
1999
- static railroad() {
2000
- return " )";
2001
- }
2002
- }
2003
- exports.WParenRight = WParenRight;
2004
- class ParenRightW extends _token_1.Token {
2049
+ //# sourceMappingURL=paren_right.js.map
2050
+
2051
+ /***/ }),
2052
+
2053
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js":
2054
+ /*!***********************************************************************************!*\
2055
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js ***!
2056
+ \***********************************************************************************/
2057
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2058
+
2059
+ "use strict";
2060
+
2061
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2062
+ exports.ParenRightW = void 0;
2063
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2064
+ class ParenRightW extends abstract_token_1.AbstractToken {
2005
2065
  static railroad() {
2006
2066
  return ") ";
2007
2067
  }
2008
2068
  }
2009
2069
  exports.ParenRightW = ParenRightW;
2010
- class WParenRightW extends _token_1.Token {
2011
- static railroad() {
2012
- return " ) ";
2013
- }
2014
- }
2015
- exports.WParenRightW = WParenRightW;
2016
- //# sourceMappingURL=paren_right.js.map
2070
+ //# sourceMappingURL=paren_rightw.js.map
2017
2071
 
2018
2072
  /***/ }),
2019
2073
 
@@ -2026,33 +2080,36 @@ exports.WParenRightW = WParenRightW;
2026
2080
  "use strict";
2027
2081
 
2028
2082
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2029
- exports.WPlusW = exports.PlusW = exports.WPlus = exports.Plus = void 0;
2030
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
2031
- class Plus extends _token_1.Token {
2083
+ exports.Plus = void 0;
2084
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2085
+ class Plus extends abstract_token_1.AbstractToken {
2032
2086
  static railroad() {
2033
2087
  return "+";
2034
2088
  }
2035
2089
  }
2036
2090
  exports.Plus = Plus;
2037
- class WPlus extends _token_1.Token {
2038
- static railroad() {
2039
- return " +";
2040
- }
2041
- }
2042
- exports.WPlus = WPlus;
2043
- class PlusW extends _token_1.Token {
2091
+ //# sourceMappingURL=plus.js.map
2092
+
2093
+ /***/ }),
2094
+
2095
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js":
2096
+ /*!****************************************************************************!*\
2097
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js ***!
2098
+ \****************************************************************************/
2099
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2100
+
2101
+ "use strict";
2102
+
2103
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2104
+ exports.PlusW = void 0;
2105
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2106
+ class PlusW extends abstract_token_1.AbstractToken {
2044
2107
  static railroad() {
2045
2108
  return "+ ";
2046
2109
  }
2047
2110
  }
2048
2111
  exports.PlusW = PlusW;
2049
- class WPlusW extends _token_1.Token {
2050
- static railroad() {
2051
- return " + ";
2052
- }
2053
- }
2054
- exports.WPlusW = WPlusW;
2055
- //# sourceMappingURL=plus.js.map
2112
+ //# sourceMappingURL=plusw.js.map
2056
2113
 
2057
2114
  /***/ }),
2058
2115
 
@@ -2066,8 +2123,8 @@ exports.WPlusW = WPlusW;
2066
2123
 
2067
2124
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2068
2125
  exports.Pragma = void 0;
2069
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
2070
- class Pragma extends _token_1.Token {
2126
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2127
+ class Pragma extends abstract_token_1.AbstractToken {
2071
2128
  }
2072
2129
  exports.Pragma = Pragma;
2073
2130
  //# sourceMappingURL=pragma.js.map
@@ -2084,8 +2141,8 @@ exports.Pragma = Pragma;
2084
2141
 
2085
2142
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2086
2143
  exports.Punctuation = void 0;
2087
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
2088
- class Punctuation extends _token_1.Token {
2144
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2145
+ class Punctuation extends abstract_token_1.AbstractToken {
2089
2146
  }
2090
2147
  exports.Punctuation = Punctuation;
2091
2148
  //# sourceMappingURL=punctuation.js.map
@@ -2101,33 +2158,36 @@ exports.Punctuation = Punctuation;
2101
2158
  "use strict";
2102
2159
 
2103
2160
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2104
- exports.WStaticArrowW = exports.StaticArrowW = exports.WStaticArrow = exports.StaticArrow = void 0;
2105
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
2106
- class StaticArrow extends _token_1.Token {
2161
+ exports.StaticArrow = void 0;
2162
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2163
+ class StaticArrow extends abstract_token_1.AbstractToken {
2107
2164
  static railroad() {
2108
2165
  return "=>";
2109
2166
  }
2110
2167
  }
2111
2168
  exports.StaticArrow = StaticArrow;
2112
- class WStaticArrow extends _token_1.Token {
2113
- static railroad() {
2114
- return " =>";
2115
- }
2116
- }
2117
- exports.WStaticArrow = WStaticArrow;
2118
- class StaticArrowW extends _token_1.Token {
2169
+ //# sourceMappingURL=static_arrow.js.map
2170
+
2171
+ /***/ }),
2172
+
2173
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js":
2174
+ /*!************************************************************************************!*\
2175
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js ***!
2176
+ \************************************************************************************/
2177
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2178
+
2179
+ "use strict";
2180
+
2181
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2182
+ exports.StaticArrowW = void 0;
2183
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2184
+ class StaticArrowW extends abstract_token_1.AbstractToken {
2119
2185
  static railroad() {
2120
2186
  return "=> ";
2121
2187
  }
2122
2188
  }
2123
2189
  exports.StaticArrowW = StaticArrowW;
2124
- class WStaticArrowW extends _token_1.Token {
2125
- static railroad() {
2126
- return " => ";
2127
- }
2128
- }
2129
- exports.WStaticArrowW = WStaticArrowW;
2130
- //# sourceMappingURL=static_arrow.js.map
2190
+ //# sourceMappingURL=static_arroww.js.map
2131
2191
 
2132
2192
  /***/ }),
2133
2193
 
@@ -2140,24 +2200,462 @@ exports.WStaticArrowW = WStaticArrowW;
2140
2200
  "use strict";
2141
2201
 
2142
2202
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2143
- exports.StringTemplateMiddle = exports.StringTemplateEnd = exports.StringTemplateBegin = exports.StringTemplate = exports.StringToken = void 0;
2144
- const _token_1 = __webpack_require__(/*! ./_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
2145
- class StringToken extends _token_1.Token {
2203
+ exports.StringToken = void 0;
2204
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2205
+ class StringToken extends abstract_token_1.AbstractToken {
2146
2206
  }
2147
2207
  exports.StringToken = StringToken;
2148
- class StringTemplate extends _token_1.Token {
2208
+ //# sourceMappingURL=string.js.map
2209
+
2210
+ /***/ }),
2211
+
2212
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js":
2213
+ /*!**************************************************************************************!*\
2214
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js ***!
2215
+ \**************************************************************************************/
2216
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2217
+
2218
+ "use strict";
2219
+
2220
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2221
+ exports.StringTemplate = void 0;
2222
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2223
+ class StringTemplate extends abstract_token_1.AbstractToken {
2149
2224
  }
2150
2225
  exports.StringTemplate = StringTemplate;
2151
- class StringTemplateBegin extends _token_1.Token {
2226
+ //# sourceMappingURL=string_template.js.map
2227
+
2228
+ /***/ }),
2229
+
2230
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js":
2231
+ /*!********************************************************************************************!*\
2232
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js ***!
2233
+ \********************************************************************************************/
2234
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2235
+
2236
+ "use strict";
2237
+
2238
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2239
+ exports.StringTemplateBegin = void 0;
2240
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2241
+ class StringTemplateBegin extends abstract_token_1.AbstractToken {
2152
2242
  }
2153
2243
  exports.StringTemplateBegin = StringTemplateBegin;
2154
- class StringTemplateEnd extends _token_1.Token {
2244
+ //# sourceMappingURL=string_template_begin.js.map
2245
+
2246
+ /***/ }),
2247
+
2248
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js":
2249
+ /*!******************************************************************************************!*\
2250
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js ***!
2251
+ \******************************************************************************************/
2252
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2253
+
2254
+ "use strict";
2255
+
2256
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2257
+ exports.StringTemplateEnd = void 0;
2258
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2259
+ class StringTemplateEnd extends abstract_token_1.AbstractToken {
2155
2260
  }
2156
2261
  exports.StringTemplateEnd = StringTemplateEnd;
2157
- class StringTemplateMiddle extends _token_1.Token {
2262
+ //# sourceMappingURL=string_template_end.js.map
2263
+
2264
+ /***/ }),
2265
+
2266
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js":
2267
+ /*!*********************************************************************************************!*\
2268
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js ***!
2269
+ \*********************************************************************************************/
2270
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2271
+
2272
+ "use strict";
2273
+
2274
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2275
+ exports.StringTemplateMiddle = void 0;
2276
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2277
+ class StringTemplateMiddle extends abstract_token_1.AbstractToken {
2158
2278
  }
2159
2279
  exports.StringTemplateMiddle = StringTemplateMiddle;
2160
- //# sourceMappingURL=string.js.map
2280
+ //# sourceMappingURL=string_template_middle.js.map
2281
+
2282
+ /***/ }),
2283
+
2284
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js":
2285
+ /*!**************************************************************************!*\
2286
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js ***!
2287
+ \**************************************************************************/
2288
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2289
+
2290
+ "use strict";
2291
+
2292
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2293
+ exports.WAt = void 0;
2294
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2295
+ class WAt extends abstract_token_1.AbstractToken {
2296
+ static railroad() {
2297
+ return " @";
2298
+ }
2299
+ }
2300
+ exports.WAt = WAt;
2301
+ //# sourceMappingURL=wat.js.map
2302
+
2303
+ /***/ }),
2304
+
2305
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js":
2306
+ /*!***************************************************************************!*\
2307
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js ***!
2308
+ \***************************************************************************/
2309
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2310
+
2311
+ "use strict";
2312
+
2313
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2314
+ exports.WAtW = void 0;
2315
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2316
+ class WAtW extends abstract_token_1.AbstractToken {
2317
+ static railroad() {
2318
+ return " @ ";
2319
+ }
2320
+ }
2321
+ exports.WAtW = WAtW;
2322
+ //# sourceMappingURL=watw.js.map
2323
+
2324
+ /***/ }),
2325
+
2326
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js":
2327
+ /*!************************************************************************************!*\
2328
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js ***!
2329
+ \************************************************************************************/
2330
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2331
+
2332
+ "use strict";
2333
+
2334
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2335
+ exports.WBracketLeft = void 0;
2336
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2337
+ class WBracketLeft extends abstract_token_1.AbstractToken {
2338
+ static railroad() {
2339
+ return " [";
2340
+ }
2341
+ }
2342
+ exports.WBracketLeft = WBracketLeft;
2343
+ //# sourceMappingURL=wbracket_left.js.map
2344
+
2345
+ /***/ }),
2346
+
2347
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js":
2348
+ /*!*************************************************************************************!*\
2349
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js ***!
2350
+ \*************************************************************************************/
2351
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2352
+
2353
+ "use strict";
2354
+
2355
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2356
+ exports.WBracketLeftW = void 0;
2357
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2358
+ class WBracketLeftW extends abstract_token_1.AbstractToken {
2359
+ static railroad() {
2360
+ return " [ ";
2361
+ }
2362
+ }
2363
+ exports.WBracketLeftW = WBracketLeftW;
2364
+ //# sourceMappingURL=wbracket_leftw.js.map
2365
+
2366
+ /***/ }),
2367
+
2368
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js":
2369
+ /*!*************************************************************************************!*\
2370
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js ***!
2371
+ \*************************************************************************************/
2372
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2373
+
2374
+ "use strict";
2375
+
2376
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2377
+ exports.WBracketRight = void 0;
2378
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2379
+ class WBracketRight extends abstract_token_1.AbstractToken {
2380
+ static railroad() {
2381
+ return " ]";
2382
+ }
2383
+ }
2384
+ exports.WBracketRight = WBracketRight;
2385
+ //# sourceMappingURL=wbracket_right.js.map
2386
+
2387
+ /***/ }),
2388
+
2389
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js":
2390
+ /*!**************************************************************************************!*\
2391
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js ***!
2392
+ \**************************************************************************************/
2393
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2394
+
2395
+ "use strict";
2396
+
2397
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2398
+ exports.WBracketRightW = void 0;
2399
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2400
+ class WBracketRightW extends abstract_token_1.AbstractToken {
2401
+ static railroad() {
2402
+ return " ] ";
2403
+ }
2404
+ }
2405
+ exports.WBracketRightW = WBracketRightW;
2406
+ //# sourceMappingURL=wbracket_rightw.js.map
2407
+
2408
+ /***/ }),
2409
+
2410
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js":
2411
+ /*!****************************************************************************!*\
2412
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js ***!
2413
+ \****************************************************************************/
2414
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2415
+
2416
+ "use strict";
2417
+
2418
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2419
+ exports.WDash = void 0;
2420
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2421
+ class WDash extends abstract_token_1.AbstractToken {
2422
+ static railroad() {
2423
+ return " -";
2424
+ }
2425
+ }
2426
+ exports.WDash = WDash;
2427
+ //# sourceMappingURL=wdash.js.map
2428
+
2429
+ /***/ }),
2430
+
2431
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js":
2432
+ /*!*****************************************************************************!*\
2433
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js ***!
2434
+ \*****************************************************************************/
2435
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2436
+
2437
+ "use strict";
2438
+
2439
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2440
+ exports.WDashW = void 0;
2441
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2442
+ class WDashW extends abstract_token_1.AbstractToken {
2443
+ static railroad() {
2444
+ return " - ";
2445
+ }
2446
+ }
2447
+ exports.WDashW = WDashW;
2448
+ //# sourceMappingURL=wdashw.js.map
2449
+
2450
+ /***/ }),
2451
+
2452
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js":
2453
+ /*!**************************************************************************************!*\
2454
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js ***!
2455
+ \**************************************************************************************/
2456
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2457
+
2458
+ "use strict";
2459
+
2460
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2461
+ exports.WInstanceArrow = void 0;
2462
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2463
+ class WInstanceArrow extends abstract_token_1.AbstractToken {
2464
+ static railroad() {
2465
+ return " ->";
2466
+ }
2467
+ }
2468
+ exports.WInstanceArrow = WInstanceArrow;
2469
+ //# sourceMappingURL=winstance_arrow.js.map
2470
+
2471
+ /***/ }),
2472
+
2473
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js":
2474
+ /*!***************************************************************************************!*\
2475
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js ***!
2476
+ \***************************************************************************************/
2477
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2478
+
2479
+ "use strict";
2480
+
2481
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2482
+ exports.WInstanceArrowW = void 0;
2483
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2484
+ class WInstanceArrowW extends abstract_token_1.AbstractToken {
2485
+ static railroad() {
2486
+ return " -> ";
2487
+ }
2488
+ }
2489
+ exports.WInstanceArrowW = WInstanceArrowW;
2490
+ //# sourceMappingURL=winstance_arroww.js.map
2491
+
2492
+ /***/ }),
2493
+
2494
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js":
2495
+ /*!**********************************************************************************!*\
2496
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js ***!
2497
+ \**********************************************************************************/
2498
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2499
+
2500
+ "use strict";
2501
+
2502
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2503
+ exports.WParenLeft = void 0;
2504
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2505
+ class WParenLeft extends abstract_token_1.AbstractToken {
2506
+ static railroad() {
2507
+ return " (";
2508
+ }
2509
+ }
2510
+ exports.WParenLeft = WParenLeft;
2511
+ //# sourceMappingURL=wparen_left.js.map
2512
+
2513
+ /***/ }),
2514
+
2515
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js":
2516
+ /*!***********************************************************************************!*\
2517
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js ***!
2518
+ \***********************************************************************************/
2519
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2520
+
2521
+ "use strict";
2522
+
2523
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2524
+ exports.WParenLeftW = void 0;
2525
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2526
+ class WParenLeftW extends abstract_token_1.AbstractToken {
2527
+ static railroad() {
2528
+ return " ( ";
2529
+ }
2530
+ }
2531
+ exports.WParenLeftW = WParenLeftW;
2532
+ //# sourceMappingURL=wparen_leftw.js.map
2533
+
2534
+ /***/ }),
2535
+
2536
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js":
2537
+ /*!***********************************************************************************!*\
2538
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js ***!
2539
+ \***********************************************************************************/
2540
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2541
+
2542
+ "use strict";
2543
+
2544
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2545
+ exports.WParenRight = void 0;
2546
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2547
+ class WParenRight extends abstract_token_1.AbstractToken {
2548
+ static railroad() {
2549
+ return " )";
2550
+ }
2551
+ }
2552
+ exports.WParenRight = WParenRight;
2553
+ //# sourceMappingURL=wparen_right.js.map
2554
+
2555
+ /***/ }),
2556
+
2557
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js":
2558
+ /*!************************************************************************************!*\
2559
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js ***!
2560
+ \************************************************************************************/
2561
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2562
+
2563
+ "use strict";
2564
+
2565
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2566
+ exports.WParenRightW = void 0;
2567
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2568
+ class WParenRightW extends abstract_token_1.AbstractToken {
2569
+ static railroad() {
2570
+ return " ) ";
2571
+ }
2572
+ }
2573
+ exports.WParenRightW = WParenRightW;
2574
+ //# sourceMappingURL=wparen_rightw.js.map
2575
+
2576
+ /***/ }),
2577
+
2578
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js":
2579
+ /*!****************************************************************************!*\
2580
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js ***!
2581
+ \****************************************************************************/
2582
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2583
+
2584
+ "use strict";
2585
+
2586
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2587
+ exports.WPlus = void 0;
2588
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2589
+ class WPlus extends abstract_token_1.AbstractToken {
2590
+ static railroad() {
2591
+ return " +";
2592
+ }
2593
+ }
2594
+ exports.WPlus = WPlus;
2595
+ //# sourceMappingURL=wplus.js.map
2596
+
2597
+ /***/ }),
2598
+
2599
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js":
2600
+ /*!*****************************************************************************!*\
2601
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js ***!
2602
+ \*****************************************************************************/
2603
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2604
+
2605
+ "use strict";
2606
+
2607
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2608
+ exports.WPlusW = void 0;
2609
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2610
+ class WPlusW extends abstract_token_1.AbstractToken {
2611
+ static railroad() {
2612
+ return " + ";
2613
+ }
2614
+ }
2615
+ exports.WPlusW = WPlusW;
2616
+ //# sourceMappingURL=wplusw.js.map
2617
+
2618
+ /***/ }),
2619
+
2620
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js":
2621
+ /*!************************************************************************************!*\
2622
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js ***!
2623
+ \************************************************************************************/
2624
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2625
+
2626
+ "use strict";
2627
+
2628
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2629
+ exports.WStaticArrow = void 0;
2630
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2631
+ class WStaticArrow extends abstract_token_1.AbstractToken {
2632
+ static railroad() {
2633
+ return " =>";
2634
+ }
2635
+ }
2636
+ exports.WStaticArrow = WStaticArrow;
2637
+ //# sourceMappingURL=wstatic_arrow.js.map
2638
+
2639
+ /***/ }),
2640
+
2641
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js":
2642
+ /*!*************************************************************************************!*\
2643
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js ***!
2644
+ \*************************************************************************************/
2645
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2646
+
2647
+ "use strict";
2648
+
2649
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2650
+ exports.WStaticArrowW = void 0;
2651
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2652
+ class WStaticArrowW extends abstract_token_1.AbstractToken {
2653
+ static railroad() {
2654
+ return " => ";
2655
+ }
2656
+ }
2657
+ exports.WStaticArrowW = WStaticArrowW;
2658
+ //# sourceMappingURL=wstatic_arroww.js.map
2161
2659
 
2162
2660
  /***/ }),
2163
2661
 
@@ -3090,7 +3588,7 @@ const token_node_1 = __webpack_require__(/*! ../nodes/token_node */ "./node_modu
3090
3588
  const statement_parser_1 = __webpack_require__(/*! ./statement_parser */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js");
3091
3589
  const memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ "./node_modules/@abaplint/core/build/src/files/memory_file.js");
3092
3590
  const lexer_1 = __webpack_require__(/*! ../1_lexer/lexer */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js");
3093
- const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
3591
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
3094
3592
  class Macros {
3095
3593
  constructor(globalMacros) {
3096
3594
  this.macros = {};
@@ -3229,8 +3727,8 @@ class ExpandMacros {
3229
3727
  }
3230
3728
  // argh, macros is a nightmare
3231
3729
  let end = now.getStart();
3232
- if (end instanceof position_1.VirtualPosition) {
3233
- end = new position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
3730
+ if (end instanceof virtual_position_1.VirtualPosition) {
3731
+ end = new virtual_position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
3234
3732
  }
3235
3733
  else {
3236
3734
  end = now.getEnd();
@@ -7875,10 +8373,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
7875
8373
  exports.SQLIntoList = void 0;
7876
8374
  const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
7877
8375
  const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
7878
- const paren_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/paren_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js");
8376
+ const wparen_leftw_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js");
8377
+ const wparen_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js");
7879
8378
  class SQLIntoList extends combi_1.Expression {
7880
8379
  getRunnable() {
7881
- 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, ")");
8380
+ 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, ")");
7882
8381
  return (0, combi_1.seq)("INTO", intoList);
7883
8382
  }
7884
8383
  }
@@ -34121,6 +34620,10 @@ const expression_node_1 = __webpack_require__(/*! ./expression_node */ "./node_m
34121
34620
  const comment_1 = __webpack_require__(/*! ../1_lexer/tokens/comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js");
34122
34621
  const pragma_1 = __webpack_require__(/*! ../1_lexer/tokens/pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js");
34123
34622
  const string_1 = __webpack_require__(/*! ../1_lexer/tokens/string */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js");
34623
+ 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");
34624
+ 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");
34625
+ 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");
34626
+ const string_template_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js");
34124
34627
  class StatementNode extends _abstract_node_1.AbstractNode {
34125
34628
  constructor(statement, colon, pragmas) {
34126
34629
  super();
@@ -34229,10 +34732,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
34229
34732
  for (const token of this.getTokens()) {
34230
34733
  if (token instanceof comment_1.Comment
34231
34734
  || token instanceof string_1.StringToken
34232
- || token instanceof string_1.StringTemplate
34233
- || token instanceof string_1.StringTemplateBegin
34234
- || token instanceof string_1.StringTemplateMiddle
34235
- || token instanceof string_1.StringTemplateEnd) {
34735
+ || token instanceof string_template_1.StringTemplate
34736
+ || token instanceof string_template_begin_1.StringTemplateBegin
34737
+ || token instanceof string_template_middle_1.StringTemplateMiddle
34738
+ || token instanceof string_template_end_1.StringTemplateEnd) {
34236
34739
  continue;
34237
34740
  }
34238
34741
  if (str === "") {
@@ -34365,10 +34868,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
34365
34868
  for (const token of this.getTokens()) {
34366
34869
  if (token instanceof comment_1.Comment
34367
34870
  || token instanceof string_1.StringToken
34368
- || token instanceof string_1.StringTemplate
34369
- || token instanceof string_1.StringTemplateBegin
34370
- || token instanceof string_1.StringTemplateMiddle
34371
- || token instanceof string_1.StringTemplateEnd) {
34871
+ || token instanceof string_template_1.StringTemplate
34872
+ || token instanceof string_template_begin_1.StringTemplateBegin
34873
+ || token instanceof string_template_middle_1.StringTemplateMiddle
34874
+ || token instanceof string_template_end_1.StringTemplateEnd) {
34372
34875
  continue;
34373
34876
  }
34374
34877
  if (prev && token.getStr().toUpperCase() === second && (prev === null || prev === void 0 ? void 0 : prev.getStr().toUpperCase()) === first.toUpperCase()) {
@@ -36627,6 +37130,8 @@ class ClassDefinition extends _identifier_1.Identifier {
36627
37130
  this.testing = concat.includes(" FOR TESTING");
36628
37131
  this.sharedMemory = concat.includes(" SHARED MEMORY ENABLED");
36629
37132
  this.abstract = (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText("ABSTRACT")) !== undefined;
37133
+ // perform checks after everything has been initialized
37134
+ this.checkMethodsFromSuperClasses(scope);
36630
37135
  }
36631
37136
  getFriends() {
36632
37137
  return this.friends;
@@ -36679,6 +37184,29 @@ class ClassDefinition extends _identifier_1.Identifier {
36679
37184
  const name = token === null || token === void 0 ? void 0 : token.getStr();
36680
37185
  return name;
36681
37186
  }
37187
+ checkMethodsFromSuperClasses(scope) {
37188
+ var _a;
37189
+ let sup = this.getSuperClass();
37190
+ const names = new Set();
37191
+ while (sup !== undefined) {
37192
+ const cdef = scope.findClassDefinition(sup);
37193
+ for (const m of ((_a = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {
37194
+ if (m.getVisibility() === visibility_1.Visibility.Private) {
37195
+ continue;
37196
+ }
37197
+ else if (m.getName().toUpperCase() === "CONSTRUCTOR") {
37198
+ continue;
37199
+ }
37200
+ names.add(m.getName().toUpperCase());
37201
+ }
37202
+ sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();
37203
+ }
37204
+ for (const m of this.getMethodDefinitions().getAll()) {
37205
+ if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
37206
+ throw new Error(`Method ${m.getName().toUpperCase()} already declared in superclass`);
37207
+ }
37208
+ }
37209
+ }
36682
37210
  findFriends(def, filename, scope) {
36683
37211
  var _a;
36684
37212
  const result = [];
@@ -37075,6 +37603,9 @@ const event_definition_1 = __webpack_require__(/*! ./event_definition */ "./node
37075
37603
  const method_definitions_1 = __webpack_require__(/*! ./method_definitions */ "./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js");
37076
37604
  const aliases_1 = __webpack_require__(/*! ./aliases */ "./node_modules/@abaplint/core/build/src/abap/types/aliases.js");
37077
37605
  const _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
37606
+ const class_constant_1 = __webpack_require__(/*! ./class_constant */ "./node_modules/@abaplint/core/build/src/abap/types/class_constant.js");
37607
+ const _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ "./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js");
37608
+ const tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
37078
37609
  class InterfaceDefinition extends _identifier_1.Identifier {
37079
37610
  constructor(node, filename, scope) {
37080
37611
  if (!(node.get() instanceof Structures.Interface)) {
@@ -37087,7 +37618,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
37087
37618
  this.events = [];
37088
37619
  this.implementing = [];
37089
37620
  scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);
37090
- this.parse(scope);
37621
+ this.parse(scope, filename);
37091
37622
  scope.pop(node.getLastToken().getEnd());
37092
37623
  }
37093
37624
  getSuperClass() {
@@ -37118,7 +37649,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
37118
37649
  return this.methodDefinitions;
37119
37650
  }
37120
37651
  /////////////////
37121
- parse(scope) {
37652
+ parse(scope, filename) {
37122
37653
  var _a;
37123
37654
  // todo, proper sequencing, the statements should be processed line by line
37124
37655
  this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);
@@ -37129,9 +37660,18 @@ class InterfaceDefinition extends _identifier_1.Identifier {
37129
37660
  const [objName, fieldName] = a.getComponent().split("~");
37130
37661
  const idef = scope.findInterfaceDefinition(objName);
37131
37662
  if (idef) {
37132
- const found = idef.getTypeDefinitions().getByName(fieldName);
37133
- if (found) {
37134
- scope.addTypeNamed(a.getName(), found);
37663
+ const foundType = idef.getTypeDefinitions().getByName(fieldName);
37664
+ if (foundType) {
37665
+ scope.addTypeNamed(a.getName(), foundType);
37666
+ }
37667
+ else {
37668
+ const foundField = idef.getAttributes().findByName(fieldName);
37669
+ if (foundField && foundField instanceof class_constant_1.ClassConstant) {
37670
+ const token = new tokens_1.Identifier(a.getStart(), a.getName());
37671
+ const id = new _typed_identifier_1.TypedIdentifier(token, filename, foundField.getType());
37672
+ const constant = new class_constant_1.ClassConstant(id, visibility_1.Visibility.Public, foundField.getValue());
37673
+ scope.addIdentifier(constant);
37674
+ }
37135
37675
  }
37136
37676
  }
37137
37677
  }
@@ -40264,8 +40804,8 @@ const _current_scope_1 = __webpack_require__(/*! ./abap/5_syntax/_current_scope
40264
40804
  Object.defineProperty(exports, "CurrentScope", ({ enumerable: true, get: function () { return _current_scope_1.CurrentScope; } }));
40265
40805
  const Objects = __webpack_require__(/*! ./objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
40266
40806
  exports.Objects = Objects;
40267
- const _token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
40268
- Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return _token_1.Token; } }));
40807
+ 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");
40808
+ Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return abstract_token_1.AbstractToken; } }));
40269
40809
  const Statements = __webpack_require__(/*! ./abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
40270
40810
  exports.Statements = Statements;
40271
40811
  const Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
@@ -40284,7 +40824,8 @@ const Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ "./node_modules/
40284
40824
  exports.Tokens = Tokens;
40285
40825
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
40286
40826
  Object.defineProperty(exports, "Position", ({ enumerable: true, get: function () { return position_1.Position; } }));
40287
- Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return position_1.VirtualPosition; } }));
40827
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
40828
+ Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return virtual_position_1.VirtualPosition; } }));
40288
40829
  const _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ "./node_modules/@abaplint/core/build/src/files/_abstract_file.js");
40289
40830
  Object.defineProperty(exports, "AbstractFile", ({ enumerable: true, get: function () { return _abstract_file_1.AbstractFile; } }));
40290
40831
  const pretty_printer_1 = __webpack_require__(/*! ./pretty_printer/pretty_printer */ "./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js");
@@ -40339,6 +40880,7 @@ Object.defineProperty(exports, "CyclomaticComplexityStats", ({ enumerable: true,
40339
40880
  Object.defineProperty(exports, "__esModule", ({ value: true }));
40340
40881
  exports.Issue = void 0;
40341
40882
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
40883
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
40342
40884
  const severity_1 = __webpack_require__(/*! ./severity */ "./node_modules/@abaplint/core/build/src/severity.js");
40343
40885
  class Issue {
40344
40886
  //////////////////////////
@@ -40424,7 +40966,7 @@ class Issue {
40424
40966
  }
40425
40967
  constructor(data) {
40426
40968
  this.data = data;
40427
- if (this.data.start instanceof position_1.VirtualPosition) {
40969
+ if (this.data.start instanceof virtual_position_1.VirtualPosition) {
40428
40970
  // no quick fixes inside macros
40429
40971
  this.data.fix = undefined;
40430
40972
  }
@@ -42325,6 +42867,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
42325
42867
  exports.SemanticHighlighting = void 0;
42326
42868
  const LServer = __webpack_require__(/*! vscode-languageserver-types */ "./node_modules/vscode-languageserver-types/lib/umd/main.js");
42327
42869
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
42870
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
42328
42871
  const tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
42329
42872
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
42330
42873
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
@@ -42368,7 +42911,7 @@ class SemanticHighlighting {
42368
42911
  const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);
42369
42912
  const tokens = [];
42370
42913
  for (const s of file.getStatements()) {
42371
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
42914
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
42372
42915
  continue;
42373
42916
  }
42374
42917
  else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {
@@ -47359,7 +47902,7 @@ const vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageser
47359
47902
  const __1 = __webpack_require__(/*! ../.. */ "./node_modules/@abaplint/core/build/src/index.js");
47360
47903
  const syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js");
47361
47904
  const _scope_type_1 = __webpack_require__(/*! ../../abap/5_syntax/_scope_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js");
47362
- const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
47905
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
47363
47906
  const _abap_object_1 = __webpack_require__(/*! ../_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
47364
47907
  class RenamerHelper {
47365
47908
  constructor(reg) {
@@ -47503,7 +48046,7 @@ class RenamerHelper {
47503
48046
  for (const r of node.getData().references) {
47504
48047
  if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))
47505
48048
  && r.referenceType !== __1.ReferenceType.InferredType
47506
- && !(r.position.getStart() instanceof position_1.VirtualPosition)) {
48049
+ && !(r.position.getStart() instanceof virtual_position_1.VirtualPosition)) {
47507
48050
  ret.push(r.position);
47508
48051
  }
47509
48052
  }
@@ -49691,7 +50234,7 @@ exports.ZN0122 = ZN0122;
49691
50234
  "use strict";
49692
50235
 
49693
50236
  Object.defineProperty(exports, "__esModule", ({ value: true }));
49694
- exports.VirtualPosition = exports.Position = void 0;
50237
+ exports.Position = void 0;
49695
50238
  // first position is (1,1)
49696
50239
  class Position {
49697
50240
  constructor(row, col) {
@@ -49718,22 +50261,6 @@ class Position {
49718
50261
  }
49719
50262
  }
49720
50263
  exports.Position = Position;
49721
- /** used for macro calls */
49722
- class VirtualPosition extends Position {
49723
- constructor(virtual, row, col) {
49724
- super(virtual.getRow(), virtual.getCol());
49725
- this.vrow = row;
49726
- this.vcol = col;
49727
- }
49728
- equals(p) {
49729
- if (!(p instanceof VirtualPosition)) {
49730
- return false;
49731
- }
49732
- const casted = p;
49733
- return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
49734
- }
49735
- }
49736
- exports.VirtualPosition = VirtualPosition;
49737
50264
  //# sourceMappingURL=position.js.map
49738
50265
 
49739
50266
  /***/ }),
@@ -49819,7 +50346,7 @@ exports.Indent = void 0;
49819
50346
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
49820
50347
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
49821
50348
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
49822
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
50349
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
49823
50350
  // todo, will break if there is multiple statements per line?
49824
50351
  class Indent {
49825
50352
  constructor(options) {
@@ -49831,7 +50358,7 @@ class Indent {
49831
50358
  const expected = this.getExpectedIndents(original);
49832
50359
  const lines = modified.split("\n");
49833
50360
  for (const statement of statements) {
49834
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
50361
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
49835
50362
  continue; // macro contents
49836
50363
  }
49837
50364
  const exp = expected.shift();
@@ -49855,7 +50382,7 @@ class Indent {
49855
50382
  let parentIsEvent = false;
49856
50383
  let previousStatement = undefined;
49857
50384
  for (const statement of file.getStatements()) {
49858
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
50385
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
49859
50386
  continue; // skip macro contents
49860
50387
  }
49861
50388
  const type = statement.get();
@@ -50057,7 +50584,7 @@ exports.PrettyPrinter = void 0;
50057
50584
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
50058
50585
  const fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ "./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js");
50059
50586
  const indent_1 = __webpack_require__(/*! ./indent */ "./node_modules/@abaplint/core/build/src/pretty_printer/indent.js");
50060
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
50587
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
50061
50588
  const indentation_1 = __webpack_require__(/*! ../rules/indentation */ "./node_modules/@abaplint/core/build/src/rules/indentation.js");
50062
50589
  class PrettyPrinter {
50063
50590
  constructor(file, config) {
@@ -50076,7 +50603,7 @@ class PrettyPrinter {
50076
50603
  if (statement.get() instanceof _statement_1.Unknown
50077
50604
  || statement.get() instanceof _statement_1.MacroContent
50078
50605
  || statement.get() instanceof _statement_1.MacroCall
50079
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
50606
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
50080
50607
  || statement.get() instanceof _statement_1.Comment) {
50081
50608
  continue;
50082
50609
  }
@@ -50168,7 +50695,7 @@ class Registry {
50168
50695
  }
50169
50696
  static abaplintVersion() {
50170
50697
  // magic, see build script "version.sh"
50171
- return "2.102.67";
50698
+ return "2.102.69";
50172
50699
  }
50173
50700
  getDDICReferences() {
50174
50701
  return this.ddicReferences;
@@ -54813,6 +55340,7 @@ const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_st
54813
55340
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
54814
55341
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
54815
55342
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
55343
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
54816
55344
  const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
54817
55345
  const version_1 = __webpack_require__(/*! ../version */ "./node_modules/@abaplint/core/build/src/version.js");
54818
55346
  const registry_1 = __webpack_require__(/*! ../registry */ "./node_modules/@abaplint/core/build/src/registry.js");
@@ -55125,7 +55653,7 @@ Make sure to test the downported code, it might not always be completely correct
55125
55653
  }
55126
55654
  /** applies one rule at a time, multiple iterations are required to transform complex statements */
55127
55655
  checkStatement(low, high, lowFile, highSyntax, highFile) {
55128
- if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
55656
+ if (low.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
55129
55657
  return undefined;
55130
55658
  }
55131
55659
  // downport XSDBOOL() early, as it is valid 702 syntax
@@ -58159,7 +58687,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
58159
58687
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
58160
58688
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
58161
58689
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
58162
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
58690
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
58163
58691
  class ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {
58164
58692
  }
58165
58693
  exports.ExpandMacrosConf = ExpandMacrosConf;
@@ -58203,7 +58731,7 @@ _hello.`,
58203
58731
  let replace = "";
58204
58732
  for (let j = i + 1; j < statements.length; j++) {
58205
58733
  const sub = statements[j];
58206
- if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
58734
+ if (sub.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
58207
58735
  if (sub.get() instanceof _statement_1.MacroCall) {
58208
58736
  continue;
58209
58737
  }
@@ -60218,6 +60746,7 @@ const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */
60218
60746
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60219
60747
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
60220
60748
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
60749
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60221
60750
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
60222
60751
  class IndentationConf extends _basic_rule_config_1.BasicRuleConfig {
60223
60752
  constructor() {
@@ -60279,7 +60808,7 @@ class Indentation extends _abap_rule_1.ABAPRule {
60279
60808
  const ret = [];
60280
60809
  for (const statement of file.getStatements()) {
60281
60810
  const position = statement.getFirstToken().getStart();
60282
- if (position instanceof position_1.VirtualPosition) {
60811
+ if (position instanceof virtual_position_1.VirtualPosition) {
60283
60812
  continue;
60284
60813
  }
60285
60814
  const indent = expected.shift();
@@ -60864,7 +61393,7 @@ const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ ".
60864
61393
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
60865
61394
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60866
61395
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
60867
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
61396
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60868
61397
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
60869
61398
  var KeywordCaseStyle;
60870
61399
  (function (KeywordCaseStyle) {
@@ -60900,7 +61429,7 @@ class Skip {
60900
61429
  if (get instanceof _statement_1.Unknown
60901
61430
  || get instanceof _statement_1.MacroContent
60902
61431
  || get instanceof _statement_1.MacroCall
60903
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
61432
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
60904
61433
  || get instanceof _statement_1.Comment) {
60905
61434
  return true;
60906
61435
  }
@@ -61128,7 +61657,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
61128
61657
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
61129
61658
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
61130
61659
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
61131
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
61660
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
61132
61661
  class LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {
61133
61662
  constructor() {
61134
61663
  super(...arguments);
@@ -61166,7 +61695,7 @@ class LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {
61166
61695
  }
61167
61696
  for (const s of file.getStatements()) {
61168
61697
  for (const e of s.findAllExpressions(Expressions.ParameterListS)) {
61169
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
61698
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
61170
61699
  continue; // skip macro content
61171
61700
  }
61172
61701
  const parameters = e.findDirectExpressions(Expressions.ParameterS);
@@ -61931,9 +62460,15 @@ ENDIF.
61931
62460
  }
61932
62461
  if (cond[0].getChildren().length === 1) {
61933
62462
  const message = "Too many parentheses, simple";
61934
- const fixText = sub.getChildren()[1].concatTokens();
61935
- const fix = edit_helper_1.EditHelper.replaceRange(file, sub.getFirstToken().getStart(), sub.getLastToken().getEnd(), fixText);
61936
- const issue = issue_1.Issue.atToken(file, sub.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
62463
+ const children = sub.getChildren();
62464
+ let startToken = sub.getFirstToken();
62465
+ let fixText = sub.getChildren()[1].concatTokens();
62466
+ if (startToken.getStr().toUpperCase() === "NOT") {
62467
+ startToken = children[1].getFirstToken();
62468
+ fixText = sub.getChildren()[2].concatTokens();
62469
+ }
62470
+ const fix = edit_helper_1.EditHelper.replaceRange(file, startToken.getStart(), sub.getLastToken().getEnd(), fixText);
62471
+ const issue = issue_1.Issue.atToken(file, startToken, message, this.getMetadata().key, this.conf.severity, fix);
61937
62472
  issues.push(issue);
61938
62473
  }
61939
62474
  }
@@ -62125,7 +62660,7 @@ const _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ "./node_modules/@ab
62125
62660
  const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
62126
62661
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
62127
62662
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
62128
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
62663
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
62129
62664
  class MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {
62130
62665
  }
62131
62666
  exports.MaxOneStatementConf = MaxOneStatementConf;
@@ -62171,7 +62706,7 @@ https://docs.abapopenchecks.org/checks/11/`,
62171
62706
  continue;
62172
62707
  }
62173
62708
  const pos = statement.getStart();
62174
- if (pos instanceof position_1.VirtualPosition) {
62709
+ if (pos instanceof virtual_position_1.VirtualPosition) {
62175
62710
  continue;
62176
62711
  }
62177
62712
  const row = pos.getRow();
@@ -70219,6 +70754,14 @@ Errors found in INCLUDES are reported for the main program.`,
70219
70754
  tags: [_irule_1.RuleTag.Quickfix],
70220
70755
  pragma: "##NEEDED",
70221
70756
  pseudoComment: "EC NEEDED",
70757
+ badExample: `DATA: BEGIN OF blah1,
70758
+ test TYPE string,
70759
+ test2 TYPE string,
70760
+ END OF blah1.`,
70761
+ goodExample: `DATA: BEGIN OF blah2 ##NEEDED,
70762
+ test TYPE string,
70763
+ test2 TYPE string,
70764
+ END OF blah2.`,
70222
70765
  };
70223
70766
  }
70224
70767
  getConfig() {
@@ -71848,6 +72391,37 @@ exports.getPreviousVersion = getPreviousVersion;
71848
72391
 
71849
72392
  /***/ }),
71850
72393
 
72394
+ /***/ "./node_modules/@abaplint/core/build/src/virtual_position.js":
72395
+ /*!*******************************************************************!*\
72396
+ !*** ./node_modules/@abaplint/core/build/src/virtual_position.js ***!
72397
+ \*******************************************************************/
72398
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
72399
+
72400
+ "use strict";
72401
+
72402
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72403
+ exports.VirtualPosition = void 0;
72404
+ const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
72405
+ /** used for macro calls */
72406
+ class VirtualPosition extends position_1.Position {
72407
+ constructor(virtual, row, col) {
72408
+ super(virtual.getRow(), virtual.getCol());
72409
+ this.vrow = row;
72410
+ this.vcol = col;
72411
+ }
72412
+ equals(p) {
72413
+ if (!(p instanceof VirtualPosition)) {
72414
+ return false;
72415
+ }
72416
+ const casted = p;
72417
+ return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
72418
+ }
72419
+ }
72420
+ exports.VirtualPosition = VirtualPosition;
72421
+ //# sourceMappingURL=virtual_position.js.map
72422
+
72423
+ /***/ }),
72424
+
71851
72425
  /***/ "./node_modules/@abaplint/core/build/src/xml_utils.js":
71852
72426
  /*!************************************************************!*\
71853
72427
  !*** ./node_modules/@abaplint/core/build/src/xml_utils.js ***!