@abaplint/cli 2.102.66 → 2.102.68

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 +250 -137
  2. package/package.json +2 -2
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
 
@@ -1697,26 +1702,26 @@ exports.WAtW = WAtW;
1697
1702
 
1698
1703
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1699
1704
  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 {
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 {
1712
+ class WBracketLeft extends abstract_token_1.AbstractToken {
1708
1713
  static railroad() {
1709
1714
  return " [";
1710
1715
  }
1711
1716
  }
1712
1717
  exports.WBracketLeft = WBracketLeft;
1713
- class BracketLeftW extends _token_1.Token {
1718
+ class BracketLeftW extends abstract_token_1.AbstractToken {
1714
1719
  static railroad() {
1715
1720
  return "[ ";
1716
1721
  }
1717
1722
  }
1718
1723
  exports.BracketLeftW = BracketLeftW;
1719
- class WBracketLeftW extends _token_1.Token {
1724
+ class WBracketLeftW extends abstract_token_1.AbstractToken {
1720
1725
  static railroad() {
1721
1726
  return " [ ";
1722
1727
  }
@@ -1736,26 +1741,26 @@ exports.WBracketLeftW = WBracketLeftW;
1736
1741
 
1737
1742
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1738
1743
  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 {
1744
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1745
+ class BracketRight extends abstract_token_1.AbstractToken {
1741
1746
  static railroad() {
1742
1747
  return "]";
1743
1748
  }
1744
1749
  }
1745
1750
  exports.BracketRight = BracketRight;
1746
- class WBracketRight extends _token_1.Token {
1751
+ class WBracketRight extends abstract_token_1.AbstractToken {
1747
1752
  static railroad() {
1748
1753
  return " ]";
1749
1754
  }
1750
1755
  }
1751
1756
  exports.WBracketRight = WBracketRight;
1752
- class BracketRightW extends _token_1.Token {
1757
+ class BracketRightW extends abstract_token_1.AbstractToken {
1753
1758
  static railroad() {
1754
1759
  return "] ";
1755
1760
  }
1756
1761
  }
1757
1762
  exports.BracketRightW = BracketRightW;
1758
- class WBracketRightW extends _token_1.Token {
1763
+ class WBracketRightW extends abstract_token_1.AbstractToken {
1759
1764
  static railroad() {
1760
1765
  return " ] ";
1761
1766
  }
@@ -1775,8 +1780,8 @@ exports.WBracketRightW = WBracketRightW;
1775
1780
 
1776
1781
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1777
1782
  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 {
1783
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1784
+ class Colon extends abstract_token_1.AbstractToken {
1780
1785
  }
1781
1786
  exports.Colon = Colon;
1782
1787
  //# sourceMappingURL=colon.js.map
@@ -1793,8 +1798,8 @@ exports.Colon = Colon;
1793
1798
 
1794
1799
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1795
1800
  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 {
1801
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1802
+ class Comment extends abstract_token_1.AbstractToken {
1798
1803
  }
1799
1804
  exports.Comment = Comment;
1800
1805
  //# sourceMappingURL=comment.js.map
@@ -1811,26 +1816,26 @@ exports.Comment = Comment;
1811
1816
 
1812
1817
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1813
1818
  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 {
1819
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1820
+ class Dash extends abstract_token_1.AbstractToken {
1816
1821
  static railroad() {
1817
1822
  return "-";
1818
1823
  }
1819
1824
  }
1820
1825
  exports.Dash = Dash;
1821
- class WDash extends _token_1.Token {
1826
+ class WDash extends abstract_token_1.AbstractToken {
1822
1827
  static railroad() {
1823
1828
  return " -";
1824
1829
  }
1825
1830
  }
1826
1831
  exports.WDash = WDash;
1827
- class DashW extends _token_1.Token {
1832
+ class DashW extends abstract_token_1.AbstractToken {
1828
1833
  static railroad() {
1829
1834
  return "- ";
1830
1835
  }
1831
1836
  }
1832
1837
  exports.DashW = DashW;
1833
- class WDashW extends _token_1.Token {
1838
+ class WDashW extends abstract_token_1.AbstractToken {
1834
1839
  static railroad() {
1835
1840
  return " - ";
1836
1841
  }
@@ -1850,8 +1855,8 @@ exports.WDashW = WDashW;
1850
1855
 
1851
1856
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1852
1857
  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 {
1858
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1859
+ class Identifier extends abstract_token_1.AbstractToken {
1855
1860
  }
1856
1861
  exports.Identifier = Identifier;
1857
1862
  //# sourceMappingURL=identifier.js.map
@@ -1882,6 +1887,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1882
1887
  };
1883
1888
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1884
1889
  __exportStar(__webpack_require__(/*! ./at */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js"), exports);
1890
+ __exportStar(__webpack_require__(/*! ./atw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js"), exports);
1891
+ __exportStar(__webpack_require__(/*! ./wat */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js"), exports);
1892
+ __exportStar(__webpack_require__(/*! ./watw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js"), exports);
1885
1893
  __exportStar(__webpack_require__(/*! ./bracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js"), exports);
1886
1894
  __exportStar(__webpack_require__(/*! ./bracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js"), exports);
1887
1895
  __exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
@@ -1910,26 +1918,26 @@ __exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/
1910
1918
 
1911
1919
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1912
1920
  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 {
1921
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1922
+ class InstanceArrow extends abstract_token_1.AbstractToken {
1915
1923
  static railroad() {
1916
1924
  return "->";
1917
1925
  }
1918
1926
  }
1919
1927
  exports.InstanceArrow = InstanceArrow;
1920
- class WInstanceArrow extends _token_1.Token {
1928
+ class WInstanceArrow extends abstract_token_1.AbstractToken {
1921
1929
  static railroad() {
1922
1930
  return " ->";
1923
1931
  }
1924
1932
  }
1925
1933
  exports.WInstanceArrow = WInstanceArrow;
1926
- class InstanceArrowW extends _token_1.Token {
1934
+ class InstanceArrowW extends abstract_token_1.AbstractToken {
1927
1935
  static railroad() {
1928
1936
  return "-> ";
1929
1937
  }
1930
1938
  }
1931
1939
  exports.InstanceArrowW = InstanceArrowW;
1932
- class WInstanceArrowW extends _token_1.Token {
1940
+ class WInstanceArrowW extends abstract_token_1.AbstractToken {
1933
1941
  static railroad() {
1934
1942
  return " -> ";
1935
1943
  }
@@ -1949,26 +1957,26 @@ exports.WInstanceArrowW = WInstanceArrowW;
1949
1957
 
1950
1958
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1951
1959
  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 {
1960
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
1961
+ class ParenLeft extends abstract_token_1.AbstractToken {
1954
1962
  static railroad() {
1955
1963
  return "(";
1956
1964
  }
1957
1965
  }
1958
1966
  exports.ParenLeft = ParenLeft;
1959
- class WParenLeft extends _token_1.Token {
1967
+ class WParenLeft extends abstract_token_1.AbstractToken {
1960
1968
  static railroad() {
1961
1969
  return " (";
1962
1970
  }
1963
1971
  }
1964
1972
  exports.WParenLeft = WParenLeft;
1965
- class ParenLeftW extends _token_1.Token {
1973
+ class ParenLeftW extends abstract_token_1.AbstractToken {
1966
1974
  static railroad() {
1967
1975
  return "( ";
1968
1976
  }
1969
1977
  }
1970
1978
  exports.ParenLeftW = ParenLeftW;
1971
- class WParenLeftW extends _token_1.Token {
1979
+ class WParenLeftW extends abstract_token_1.AbstractToken {
1972
1980
  static railroad() {
1973
1981
  return " ( ";
1974
1982
  }
@@ -1988,26 +1996,26 @@ exports.WParenLeftW = WParenLeftW;
1988
1996
 
1989
1997
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1990
1998
  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 {
1999
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2000
+ class ParenRight extends abstract_token_1.AbstractToken {
1993
2001
  static railroad() {
1994
2002
  return ")";
1995
2003
  }
1996
2004
  }
1997
2005
  exports.ParenRight = ParenRight;
1998
- class WParenRight extends _token_1.Token {
2006
+ class WParenRight extends abstract_token_1.AbstractToken {
1999
2007
  static railroad() {
2000
2008
  return " )";
2001
2009
  }
2002
2010
  }
2003
2011
  exports.WParenRight = WParenRight;
2004
- class ParenRightW extends _token_1.Token {
2012
+ class ParenRightW extends abstract_token_1.AbstractToken {
2005
2013
  static railroad() {
2006
2014
  return ") ";
2007
2015
  }
2008
2016
  }
2009
2017
  exports.ParenRightW = ParenRightW;
2010
- class WParenRightW extends _token_1.Token {
2018
+ class WParenRightW extends abstract_token_1.AbstractToken {
2011
2019
  static railroad() {
2012
2020
  return " ) ";
2013
2021
  }
@@ -2027,26 +2035,26 @@ exports.WParenRightW = WParenRightW;
2027
2035
 
2028
2036
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2029
2037
  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 {
2038
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2039
+ class Plus extends abstract_token_1.AbstractToken {
2032
2040
  static railroad() {
2033
2041
  return "+";
2034
2042
  }
2035
2043
  }
2036
2044
  exports.Plus = Plus;
2037
- class WPlus extends _token_1.Token {
2045
+ class WPlus extends abstract_token_1.AbstractToken {
2038
2046
  static railroad() {
2039
2047
  return " +";
2040
2048
  }
2041
2049
  }
2042
2050
  exports.WPlus = WPlus;
2043
- class PlusW extends _token_1.Token {
2051
+ class PlusW extends abstract_token_1.AbstractToken {
2044
2052
  static railroad() {
2045
2053
  return "+ ";
2046
2054
  }
2047
2055
  }
2048
2056
  exports.PlusW = PlusW;
2049
- class WPlusW extends _token_1.Token {
2057
+ class WPlusW extends abstract_token_1.AbstractToken {
2050
2058
  static railroad() {
2051
2059
  return " + ";
2052
2060
  }
@@ -2066,8 +2074,8 @@ exports.WPlusW = WPlusW;
2066
2074
 
2067
2075
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2068
2076
  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 {
2077
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2078
+ class Pragma extends abstract_token_1.AbstractToken {
2071
2079
  }
2072
2080
  exports.Pragma = Pragma;
2073
2081
  //# sourceMappingURL=pragma.js.map
@@ -2084,8 +2092,8 @@ exports.Pragma = Pragma;
2084
2092
 
2085
2093
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2086
2094
  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 {
2095
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2096
+ class Punctuation extends abstract_token_1.AbstractToken {
2089
2097
  }
2090
2098
  exports.Punctuation = Punctuation;
2091
2099
  //# sourceMappingURL=punctuation.js.map
@@ -2102,26 +2110,26 @@ exports.Punctuation = Punctuation;
2102
2110
 
2103
2111
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2104
2112
  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 {
2113
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2114
+ class StaticArrow extends abstract_token_1.AbstractToken {
2107
2115
  static railroad() {
2108
2116
  return "=>";
2109
2117
  }
2110
2118
  }
2111
2119
  exports.StaticArrow = StaticArrow;
2112
- class WStaticArrow extends _token_1.Token {
2120
+ class WStaticArrow extends abstract_token_1.AbstractToken {
2113
2121
  static railroad() {
2114
2122
  return " =>";
2115
2123
  }
2116
2124
  }
2117
2125
  exports.WStaticArrow = WStaticArrow;
2118
- class StaticArrowW extends _token_1.Token {
2126
+ class StaticArrowW extends abstract_token_1.AbstractToken {
2119
2127
  static railroad() {
2120
2128
  return "=> ";
2121
2129
  }
2122
2130
  }
2123
2131
  exports.StaticArrowW = StaticArrowW;
2124
- class WStaticArrowW extends _token_1.Token {
2132
+ class WStaticArrowW extends abstract_token_1.AbstractToken {
2125
2133
  static railroad() {
2126
2134
  return " => ";
2127
2135
  }
@@ -2141,26 +2149,68 @@ exports.WStaticArrowW = WStaticArrowW;
2141
2149
 
2142
2150
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2143
2151
  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 {
2152
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2153
+ class StringToken extends abstract_token_1.AbstractToken {
2146
2154
  }
2147
2155
  exports.StringToken = StringToken;
2148
- class StringTemplate extends _token_1.Token {
2156
+ class StringTemplate extends abstract_token_1.AbstractToken {
2149
2157
  }
2150
2158
  exports.StringTemplate = StringTemplate;
2151
- class StringTemplateBegin extends _token_1.Token {
2159
+ class StringTemplateBegin extends abstract_token_1.AbstractToken {
2152
2160
  }
2153
2161
  exports.StringTemplateBegin = StringTemplateBegin;
2154
- class StringTemplateEnd extends _token_1.Token {
2162
+ class StringTemplateEnd extends abstract_token_1.AbstractToken {
2155
2163
  }
2156
2164
  exports.StringTemplateEnd = StringTemplateEnd;
2157
- class StringTemplateMiddle extends _token_1.Token {
2165
+ class StringTemplateMiddle extends abstract_token_1.AbstractToken {
2158
2166
  }
2159
2167
  exports.StringTemplateMiddle = StringTemplateMiddle;
2160
2168
  //# sourceMappingURL=string.js.map
2161
2169
 
2162
2170
  /***/ }),
2163
2171
 
2172
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js":
2173
+ /*!**************************************************************************!*\
2174
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js ***!
2175
+ \**************************************************************************/
2176
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2177
+
2178
+ "use strict";
2179
+
2180
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2181
+ exports.WAt = void 0;
2182
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2183
+ class WAt extends abstract_token_1.AbstractToken {
2184
+ static railroad() {
2185
+ return " @";
2186
+ }
2187
+ }
2188
+ exports.WAt = WAt;
2189
+ //# sourceMappingURL=wat.js.map
2190
+
2191
+ /***/ }),
2192
+
2193
+ /***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js":
2194
+ /*!***************************************************************************!*\
2195
+ !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js ***!
2196
+ \***************************************************************************/
2197
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2198
+
2199
+ "use strict";
2200
+
2201
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2202
+ exports.WAtW = void 0;
2203
+ const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
2204
+ class WAtW extends abstract_token_1.AbstractToken {
2205
+ static railroad() {
2206
+ return " @ ";
2207
+ }
2208
+ }
2209
+ exports.WAtW = WAtW;
2210
+ //# sourceMappingURL=watw.js.map
2211
+
2212
+ /***/ }),
2213
+
2164
2214
  /***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js":
2165
2215
  /*!**************************************************************************!*\
2166
2216
  !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js ***!
@@ -3090,7 +3140,7 @@ const token_node_1 = __webpack_require__(/*! ../nodes/token_node */ "./node_modu
3090
3140
  const statement_parser_1 = __webpack_require__(/*! ./statement_parser */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js");
3091
3141
  const memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ "./node_modules/@abaplint/core/build/src/files/memory_file.js");
3092
3142
  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");
3143
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
3094
3144
  class Macros {
3095
3145
  constructor(globalMacros) {
3096
3146
  this.macros = {};
@@ -3229,8 +3279,8 @@ class ExpandMacros {
3229
3279
  }
3230
3280
  // argh, macros is a nightmare
3231
3281
  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);
3282
+ if (end instanceof virtual_position_1.VirtualPosition) {
3283
+ end = new virtual_position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
3234
3284
  }
3235
3285
  else {
3236
3286
  end = now.getEnd();
@@ -25682,7 +25732,12 @@ class ReduceBody {
25682
25732
  scope.push(_scope_type_1.ScopeType.Let, "LET", node.getFirstToken().getStart(), filename);
25683
25733
  scoped = true;
25684
25734
  }
25685
- const found = new inline_field_definition_1.InlineFieldDefinition().runSyntax(i, scope, filename, targetType);
25735
+ let foundType = targetType;
25736
+ const source = i.findDirectExpression(Expressions.Source);
25737
+ if (source) {
25738
+ foundType = new source_1.Source().runSyntax(source, scope, filename, targetType);
25739
+ }
25740
+ const found = new inline_field_definition_1.InlineFieldDefinition().runSyntax(i, scope, filename, foundType);
25686
25741
  if (found && first === undefined) {
25687
25742
  first = found;
25688
25743
  }
@@ -26571,7 +26626,7 @@ class StringTemplate {
26571
26626
  }
26572
26627
  else if ((typeUtils.isCharLike(type) === false && typeUtils.isHexLike(type) === false)
26573
26628
  || type instanceof basic_1.StructureType) {
26574
- throw new Error("Not character like, " + type.constructor.name);
26629
+ throw new Error("String template, not character like, " + type.constructor.name);
26575
26630
  }
26576
26631
  const format = templateSource.findDirectExpression(Expressions.StringTemplateFormatting);
26577
26632
  const formatConcat = format === null || format === void 0 ? void 0 : format.concatTokens();
@@ -36622,6 +36677,8 @@ class ClassDefinition extends _identifier_1.Identifier {
36622
36677
  this.testing = concat.includes(" FOR TESTING");
36623
36678
  this.sharedMemory = concat.includes(" SHARED MEMORY ENABLED");
36624
36679
  this.abstract = (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText("ABSTRACT")) !== undefined;
36680
+ // perform checks after everything has been initialized
36681
+ this.checkMethodsFromSuperClasses(scope);
36625
36682
  }
36626
36683
  getFriends() {
36627
36684
  return this.friends;
@@ -36674,6 +36731,29 @@ class ClassDefinition extends _identifier_1.Identifier {
36674
36731
  const name = token === null || token === void 0 ? void 0 : token.getStr();
36675
36732
  return name;
36676
36733
  }
36734
+ checkMethodsFromSuperClasses(scope) {
36735
+ var _a;
36736
+ let sup = this.getSuperClass();
36737
+ const names = new Set();
36738
+ while (sup !== undefined) {
36739
+ const cdef = scope.findClassDefinition(sup);
36740
+ for (const m of ((_a = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {
36741
+ if (m.getVisibility() === visibility_1.Visibility.Private) {
36742
+ continue;
36743
+ }
36744
+ else if (m.getName().toUpperCase() === "CONSTRUCTOR") {
36745
+ continue;
36746
+ }
36747
+ names.add(m.getName().toUpperCase());
36748
+ }
36749
+ sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();
36750
+ }
36751
+ for (const m of this.getMethodDefinitions().getAll()) {
36752
+ if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
36753
+ throw new Error(`Method ${m.getName().toUpperCase()} already declared in superclass`);
36754
+ }
36755
+ }
36756
+ }
36677
36757
  findFriends(def, filename, scope) {
36678
36758
  var _a;
36679
36759
  const result = [];
@@ -40146,10 +40226,17 @@ class AbstractFile {
40146
40226
  return this.filename;
40147
40227
  }
40148
40228
  baseName() {
40149
- const first = this.getFilename().split("\\");
40150
- const base1 = first[first.length - 1];
40151
- const base2 = base1.split("/");
40152
- return base2[base2.length - 1];
40229
+ let name = this.getFilename();
40230
+ let index = name.lastIndexOf("\\");
40231
+ if (index) {
40232
+ index = index + 1;
40233
+ }
40234
+ name = name.substring(index);
40235
+ index = name.lastIndexOf("/");
40236
+ if (index) {
40237
+ index = index + 1;
40238
+ }
40239
+ return name.substring(index);
40153
40240
  }
40154
40241
  getObjectType() {
40155
40242
  var _a;
@@ -40252,8 +40339,8 @@ const _current_scope_1 = __webpack_require__(/*! ./abap/5_syntax/_current_scope
40252
40339
  Object.defineProperty(exports, "CurrentScope", ({ enumerable: true, get: function () { return _current_scope_1.CurrentScope; } }));
40253
40340
  const Objects = __webpack_require__(/*! ./objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
40254
40341
  exports.Objects = Objects;
40255
- const _token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js");
40256
- Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return _token_1.Token; } }));
40342
+ 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");
40343
+ Object.defineProperty(exports, "Token", ({ enumerable: true, get: function () { return abstract_token_1.AbstractToken; } }));
40257
40344
  const Statements = __webpack_require__(/*! ./abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
40258
40345
  exports.Statements = Statements;
40259
40346
  const Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
@@ -40272,7 +40359,8 @@ const Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ "./node_modules/
40272
40359
  exports.Tokens = Tokens;
40273
40360
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
40274
40361
  Object.defineProperty(exports, "Position", ({ enumerable: true, get: function () { return position_1.Position; } }));
40275
- Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return position_1.VirtualPosition; } }));
40362
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
40363
+ Object.defineProperty(exports, "VirtualPosition", ({ enumerable: true, get: function () { return virtual_position_1.VirtualPosition; } }));
40276
40364
  const _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ "./node_modules/@abaplint/core/build/src/files/_abstract_file.js");
40277
40365
  Object.defineProperty(exports, "AbstractFile", ({ enumerable: true, get: function () { return _abstract_file_1.AbstractFile; } }));
40278
40366
  const pretty_printer_1 = __webpack_require__(/*! ./pretty_printer/pretty_printer */ "./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js");
@@ -40327,6 +40415,7 @@ Object.defineProperty(exports, "CyclomaticComplexityStats", ({ enumerable: true,
40327
40415
  Object.defineProperty(exports, "__esModule", ({ value: true }));
40328
40416
  exports.Issue = void 0;
40329
40417
  const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
40418
+ const virtual_position_1 = __webpack_require__(/*! ./virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
40330
40419
  const severity_1 = __webpack_require__(/*! ./severity */ "./node_modules/@abaplint/core/build/src/severity.js");
40331
40420
  class Issue {
40332
40421
  //////////////////////////
@@ -40412,7 +40501,7 @@ class Issue {
40412
40501
  }
40413
40502
  constructor(data) {
40414
40503
  this.data = data;
40415
- if (this.data.start instanceof position_1.VirtualPosition) {
40504
+ if (this.data.start instanceof virtual_position_1.VirtualPosition) {
40416
40505
  // no quick fixes inside macros
40417
40506
  this.data.fix = undefined;
40418
40507
  }
@@ -42313,6 +42402,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
42313
42402
  exports.SemanticHighlighting = void 0;
42314
42403
  const LServer = __webpack_require__(/*! vscode-languageserver-types */ "./node_modules/vscode-languageserver-types/lib/umd/main.js");
42315
42404
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
42405
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
42316
42406
  const tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
42317
42407
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
42318
42408
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
@@ -42356,7 +42446,7 @@ class SemanticHighlighting {
42356
42446
  const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);
42357
42447
  const tokens = [];
42358
42448
  for (const s of file.getStatements()) {
42359
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
42449
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
42360
42450
  continue;
42361
42451
  }
42362
42452
  else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {
@@ -47347,7 +47437,7 @@ const vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageser
47347
47437
  const __1 = __webpack_require__(/*! ../.. */ "./node_modules/@abaplint/core/build/src/index.js");
47348
47438
  const syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js");
47349
47439
  const _scope_type_1 = __webpack_require__(/*! ../../abap/5_syntax/_scope_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js");
47350
- const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
47440
+ const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
47351
47441
  const _abap_object_1 = __webpack_require__(/*! ../_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
47352
47442
  class RenamerHelper {
47353
47443
  constructor(reg) {
@@ -47491,7 +47581,7 @@ class RenamerHelper {
47491
47581
  for (const r of node.getData().references) {
47492
47582
  if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))
47493
47583
  && r.referenceType !== __1.ReferenceType.InferredType
47494
- && !(r.position.getStart() instanceof position_1.VirtualPosition)) {
47584
+ && !(r.position.getStart() instanceof virtual_position_1.VirtualPosition)) {
47495
47585
  ret.push(r.position);
47496
47586
  }
47497
47587
  }
@@ -49679,7 +49769,7 @@ exports.ZN0122 = ZN0122;
49679
49769
  "use strict";
49680
49770
 
49681
49771
  Object.defineProperty(exports, "__esModule", ({ value: true }));
49682
- exports.VirtualPosition = exports.Position = void 0;
49772
+ exports.Position = void 0;
49683
49773
  // first position is (1,1)
49684
49774
  class Position {
49685
49775
  constructor(row, col) {
@@ -49706,22 +49796,6 @@ class Position {
49706
49796
  }
49707
49797
  }
49708
49798
  exports.Position = Position;
49709
- /** used for macro calls */
49710
- class VirtualPosition extends Position {
49711
- constructor(virtual, row, col) {
49712
- super(virtual.getRow(), virtual.getCol());
49713
- this.vrow = row;
49714
- this.vcol = col;
49715
- }
49716
- equals(p) {
49717
- if (!(p instanceof VirtualPosition)) {
49718
- return false;
49719
- }
49720
- const casted = p;
49721
- return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
49722
- }
49723
- }
49724
- exports.VirtualPosition = VirtualPosition;
49725
49799
  //# sourceMappingURL=position.js.map
49726
49800
 
49727
49801
  /***/ }),
@@ -49807,7 +49881,7 @@ exports.Indent = void 0;
49807
49881
  const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
49808
49882
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
49809
49883
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
49810
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
49884
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
49811
49885
  // todo, will break if there is multiple statements per line?
49812
49886
  class Indent {
49813
49887
  constructor(options) {
@@ -49819,7 +49893,7 @@ class Indent {
49819
49893
  const expected = this.getExpectedIndents(original);
49820
49894
  const lines = modified.split("\n");
49821
49895
  for (const statement of statements) {
49822
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49896
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
49823
49897
  continue; // macro contents
49824
49898
  }
49825
49899
  const exp = expected.shift();
@@ -49843,7 +49917,7 @@ class Indent {
49843
49917
  let parentIsEvent = false;
49844
49918
  let previousStatement = undefined;
49845
49919
  for (const statement of file.getStatements()) {
49846
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
49920
+ if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
49847
49921
  continue; // skip macro contents
49848
49922
  }
49849
49923
  const type = statement.get();
@@ -50045,7 +50119,7 @@ exports.PrettyPrinter = void 0;
50045
50119
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
50046
50120
  const fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ "./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js");
50047
50121
  const indent_1 = __webpack_require__(/*! ./indent */ "./node_modules/@abaplint/core/build/src/pretty_printer/indent.js");
50048
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
50122
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
50049
50123
  const indentation_1 = __webpack_require__(/*! ../rules/indentation */ "./node_modules/@abaplint/core/build/src/rules/indentation.js");
50050
50124
  class PrettyPrinter {
50051
50125
  constructor(file, config) {
@@ -50064,7 +50138,7 @@ class PrettyPrinter {
50064
50138
  if (statement.get() instanceof _statement_1.Unknown
50065
50139
  || statement.get() instanceof _statement_1.MacroContent
50066
50140
  || statement.get() instanceof _statement_1.MacroCall
50067
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
50141
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
50068
50142
  || statement.get() instanceof _statement_1.Comment) {
50069
50143
  continue;
50070
50144
  }
@@ -50156,7 +50230,7 @@ class Registry {
50156
50230
  }
50157
50231
  static abaplintVersion() {
50158
50232
  // magic, see build script "version.sh"
50159
- return "2.102.66";
50233
+ return "2.102.68";
50160
50234
  }
50161
50235
  getDDICReferences() {
50162
50236
  return this.ddicReferences;
@@ -54801,6 +54875,7 @@ const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_st
54801
54875
  const nodes_1 = __webpack_require__(/*! ../abap/nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
54802
54876
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
54803
54877
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
54878
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
54804
54879
  const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
54805
54880
  const version_1 = __webpack_require__(/*! ../version */ "./node_modules/@abaplint/core/build/src/version.js");
54806
54881
  const registry_1 = __webpack_require__(/*! ../registry */ "./node_modules/@abaplint/core/build/src/registry.js");
@@ -55113,7 +55188,7 @@ Make sure to test the downported code, it might not always be completely correct
55113
55188
  }
55114
55189
  /** applies one rule at a time, multiple iterations are required to transform complex statements */
55115
55190
  checkStatement(low, high, lowFile, highSyntax, highFile) {
55116
- if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
55191
+ if (low.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
55117
55192
  return undefined;
55118
55193
  }
55119
55194
  // downport XSDBOOL() early, as it is valid 702 syntax
@@ -58147,7 +58222,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
58147
58222
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
58148
58223
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
58149
58224
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
58150
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
58225
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
58151
58226
  class ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {
58152
58227
  }
58153
58228
  exports.ExpandMacrosConf = ExpandMacrosConf;
@@ -58191,7 +58266,7 @@ _hello.`,
58191
58266
  let replace = "";
58192
58267
  for (let j = i + 1; j < statements.length; j++) {
58193
58268
  const sub = statements[j];
58194
- if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
58269
+ if (sub.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
58195
58270
  if (sub.get() instanceof _statement_1.MacroCall) {
58196
58271
  continue;
58197
58272
  }
@@ -60206,6 +60281,7 @@ const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */
60206
60281
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60207
60282
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
60208
60283
  const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
60284
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60209
60285
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
60210
60286
  class IndentationConf extends _basic_rule_config_1.BasicRuleConfig {
60211
60287
  constructor() {
@@ -60267,7 +60343,7 @@ class Indentation extends _abap_rule_1.ABAPRule {
60267
60343
  const ret = [];
60268
60344
  for (const statement of file.getStatements()) {
60269
60345
  const position = statement.getFirstToken().getStart();
60270
- if (position instanceof position_1.VirtualPosition) {
60346
+ if (position instanceof virtual_position_1.VirtualPosition) {
60271
60347
  continue;
60272
60348
  }
60273
60349
  const indent = expected.shift();
@@ -60852,7 +60928,7 @@ const Statements = __webpack_require__(/*! ../abap/2_statements/statements */ ".
60852
60928
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
60853
60929
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
60854
60930
  const ddic_1 = __webpack_require__(/*! ../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
60855
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
60931
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
60856
60932
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
60857
60933
  var KeywordCaseStyle;
60858
60934
  (function (KeywordCaseStyle) {
@@ -60888,7 +60964,7 @@ class Skip {
60888
60964
  if (get instanceof _statement_1.Unknown
60889
60965
  || get instanceof _statement_1.MacroContent
60890
60966
  || get instanceof _statement_1.MacroCall
60891
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
60967
+ || statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition
60892
60968
  || get instanceof _statement_1.Comment) {
60893
60969
  return true;
60894
60970
  }
@@ -61116,7 +61192,7 @@ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./
61116
61192
  const Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
61117
61193
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
61118
61194
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
61119
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
61195
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
61120
61196
  class LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {
61121
61197
  constructor() {
61122
61198
  super(...arguments);
@@ -61154,7 +61230,7 @@ class LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {
61154
61230
  }
61155
61231
  for (const s of file.getStatements()) {
61156
61232
  for (const e of s.findAllExpressions(Expressions.ParameterListS)) {
61157
- if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
61233
+ if (s.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
61158
61234
  continue; // skip macro content
61159
61235
  }
61160
61236
  const parameters = e.findDirectExpressions(Expressions.ParameterS);
@@ -61919,9 +61995,15 @@ ENDIF.
61919
61995
  }
61920
61996
  if (cond[0].getChildren().length === 1) {
61921
61997
  const message = "Too many parentheses, simple";
61922
- const fixText = sub.getChildren()[1].concatTokens();
61923
- const fix = edit_helper_1.EditHelper.replaceRange(file, sub.getFirstToken().getStart(), sub.getLastToken().getEnd(), fixText);
61924
- const issue = issue_1.Issue.atToken(file, sub.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
61998
+ const children = sub.getChildren();
61999
+ let startToken = sub.getFirstToken();
62000
+ let fixText = sub.getChildren()[1].concatTokens();
62001
+ if (startToken.getStr().toUpperCase() === "NOT") {
62002
+ startToken = children[1].getFirstToken();
62003
+ fixText = sub.getChildren()[2].concatTokens();
62004
+ }
62005
+ const fix = edit_helper_1.EditHelper.replaceRange(file, startToken.getStart(), sub.getLastToken().getEnd(), fixText);
62006
+ const issue = issue_1.Issue.atToken(file, startToken, message, this.getMetadata().key, this.conf.severity, fix);
61925
62007
  issues.push(issue);
61926
62008
  }
61927
62009
  }
@@ -62113,7 +62195,7 @@ const _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ "./node_modules/@ab
62113
62195
  const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
62114
62196
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
62115
62197
  const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
62116
- const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
62198
+ const virtual_position_1 = __webpack_require__(/*! ../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
62117
62199
  class MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {
62118
62200
  }
62119
62201
  exports.MaxOneStatementConf = MaxOneStatementConf;
@@ -62159,7 +62241,7 @@ https://docs.abapopenchecks.org/checks/11/`,
62159
62241
  continue;
62160
62242
  }
62161
62243
  const pos = statement.getStart();
62162
- if (pos instanceof position_1.VirtualPosition) {
62244
+ if (pos instanceof virtual_position_1.VirtualPosition) {
62163
62245
  continue;
62164
62246
  }
62165
62247
  const row = pos.getRow();
@@ -71836,6 +71918,37 @@ exports.getPreviousVersion = getPreviousVersion;
71836
71918
 
71837
71919
  /***/ }),
71838
71920
 
71921
+ /***/ "./node_modules/@abaplint/core/build/src/virtual_position.js":
71922
+ /*!*******************************************************************!*\
71923
+ !*** ./node_modules/@abaplint/core/build/src/virtual_position.js ***!
71924
+ \*******************************************************************/
71925
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
71926
+
71927
+ "use strict";
71928
+
71929
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
71930
+ exports.VirtualPosition = void 0;
71931
+ const position_1 = __webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/position.js");
71932
+ /** used for macro calls */
71933
+ class VirtualPosition extends position_1.Position {
71934
+ constructor(virtual, row, col) {
71935
+ super(virtual.getRow(), virtual.getCol());
71936
+ this.vrow = row;
71937
+ this.vcol = col;
71938
+ }
71939
+ equals(p) {
71940
+ if (!(p instanceof VirtualPosition)) {
71941
+ return false;
71942
+ }
71943
+ const casted = p;
71944
+ return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
71945
+ }
71946
+ }
71947
+ exports.VirtualPosition = VirtualPosition;
71948
+ //# sourceMappingURL=virtual_position.js.map
71949
+
71950
+ /***/ }),
71951
+
71839
71952
  /***/ "./node_modules/@abaplint/core/build/src/xml_utils.js":
71840
71953
  /*!************************************************************!*\
71841
71954
  !*** ./node_modules/@abaplint/core/build/src/xml_utils.js ***!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.66",
3
+ "version": "2.102.68",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.66",
41
+ "@abaplint/core": "^2.102.68",
42
42
  "@types/chai": "^4.3.9",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.4",