@abaplint/cli 2.99.10 → 2.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +334 -150
- package/package.json +4 -3
package/build/cli.js
CHANGED
|
@@ -19569,7 +19569,7 @@ BuiltIn.methods = [
|
|
|
19569
19569
|
{
|
|
19570
19570
|
name: "BOOLC",
|
|
19571
19571
|
mandatory: {
|
|
19572
|
-
"val": new basic_1.
|
|
19572
|
+
"val": new basic_1.CLikeType(),
|
|
19573
19573
|
},
|
|
19574
19574
|
return: new basic_1.StringType(),
|
|
19575
19575
|
version: version_1.Version.v702,
|
|
@@ -19577,7 +19577,7 @@ BuiltIn.methods = [
|
|
|
19577
19577
|
{
|
|
19578
19578
|
name: "BOOLX",
|
|
19579
19579
|
mandatory: {
|
|
19580
|
-
"bool": new basic_1.
|
|
19580
|
+
"bool": new basic_1.CLikeType(),
|
|
19581
19581
|
},
|
|
19582
19582
|
optional: {
|
|
19583
19583
|
"bit": new basic_1.IntegerType(),
|
|
@@ -19595,7 +19595,7 @@ BuiltIn.methods = [
|
|
|
19595
19595
|
{
|
|
19596
19596
|
name: "CHAR_OFF",
|
|
19597
19597
|
mandatory: {
|
|
19598
|
-
"val": new basic_1.
|
|
19598
|
+
"val": new basic_1.CLikeType(),
|
|
19599
19599
|
"add": new basic_1.IntegerType(),
|
|
19600
19600
|
},
|
|
19601
19601
|
optional: {
|
|
@@ -19607,23 +19607,23 @@ BuiltIn.methods = [
|
|
|
19607
19607
|
{
|
|
19608
19608
|
name: "CHARLEN",
|
|
19609
19609
|
mandatory: {
|
|
19610
|
-
"val": new basic_1.
|
|
19610
|
+
"val": new basic_1.CLikeType(),
|
|
19611
19611
|
},
|
|
19612
19612
|
return: new basic_1.IntegerType(),
|
|
19613
19613
|
},
|
|
19614
19614
|
{
|
|
19615
19615
|
name: "CMAX",
|
|
19616
19616
|
mandatory: {
|
|
19617
|
-
"val1": new basic_1.
|
|
19618
|
-
"val2": new basic_1.
|
|
19617
|
+
"val1": new basic_1.CLikeType(),
|
|
19618
|
+
"val2": new basic_1.CLikeType(),
|
|
19619
19619
|
},
|
|
19620
19620
|
optional: {
|
|
19621
|
-
"val3": new basic_1.
|
|
19622
|
-
"val4": new basic_1.
|
|
19623
|
-
"val5": new basic_1.
|
|
19624
|
-
"val6": new basic_1.
|
|
19625
|
-
"val7": new basic_1.
|
|
19626
|
-
"val9": new basic_1.
|
|
19621
|
+
"val3": new basic_1.CLikeType(),
|
|
19622
|
+
"val4": new basic_1.CLikeType(),
|
|
19623
|
+
"val5": new basic_1.CLikeType(),
|
|
19624
|
+
"val6": new basic_1.CLikeType(),
|
|
19625
|
+
"val7": new basic_1.CLikeType(),
|
|
19626
|
+
"val9": new basic_1.CLikeType(),
|
|
19627
19627
|
},
|
|
19628
19628
|
return: new basic_1.StringType(),
|
|
19629
19629
|
version: version_1.Version.v702,
|
|
@@ -19631,16 +19631,16 @@ BuiltIn.methods = [
|
|
|
19631
19631
|
{
|
|
19632
19632
|
name: "CMIN",
|
|
19633
19633
|
mandatory: {
|
|
19634
|
-
"val1": new basic_1.
|
|
19635
|
-
"val2": new basic_1.
|
|
19634
|
+
"val1": new basic_1.CLikeType(),
|
|
19635
|
+
"val2": new basic_1.CLikeType(),
|
|
19636
19636
|
},
|
|
19637
19637
|
optional: {
|
|
19638
|
-
"val3": new basic_1.
|
|
19639
|
-
"val4": new basic_1.
|
|
19640
|
-
"val5": new basic_1.
|
|
19641
|
-
"val6": new basic_1.
|
|
19642
|
-
"val7": new basic_1.
|
|
19643
|
-
"val9": new basic_1.
|
|
19638
|
+
"val3": new basic_1.CLikeType(),
|
|
19639
|
+
"val4": new basic_1.CLikeType(),
|
|
19640
|
+
"val5": new basic_1.CLikeType(),
|
|
19641
|
+
"val6": new basic_1.CLikeType(),
|
|
19642
|
+
"val7": new basic_1.CLikeType(),
|
|
19643
|
+
"val9": new basic_1.CLikeType(),
|
|
19644
19644
|
},
|
|
19645
19645
|
return: new basic_1.StringType(),
|
|
19646
19646
|
version: version_1.Version.v702,
|
|
@@ -19651,7 +19651,7 @@ BuiltIn.methods = [
|
|
|
19651
19651
|
"table": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),
|
|
19652
19652
|
},
|
|
19653
19653
|
optional: {
|
|
19654
|
-
"sep": new basic_1.
|
|
19654
|
+
"sep": new basic_1.CLikeType(),
|
|
19655
19655
|
},
|
|
19656
19656
|
return: new basic_1.StringType(),
|
|
19657
19657
|
version: version_1.Version.v702,
|
|
@@ -19659,12 +19659,12 @@ BuiltIn.methods = [
|
|
|
19659
19659
|
{
|
|
19660
19660
|
name: "CONDENSE",
|
|
19661
19661
|
mandatory: {
|
|
19662
|
-
"val": new basic_1.
|
|
19662
|
+
"val": new basic_1.CLikeType(),
|
|
19663
19663
|
},
|
|
19664
19664
|
optional: {
|
|
19665
|
-
"del": new basic_1.
|
|
19666
|
-
"from": new basic_1.
|
|
19667
|
-
"to": new basic_1.
|
|
19665
|
+
"del": new basic_1.CLikeType(),
|
|
19666
|
+
"from": new basic_1.CLikeType(),
|
|
19667
|
+
"to": new basic_1.CLikeType(),
|
|
19668
19668
|
},
|
|
19669
19669
|
return: new basic_1.StringType(),
|
|
19670
19670
|
version: version_1.Version.v702,
|
|
@@ -19672,14 +19672,14 @@ BuiltIn.methods = [
|
|
|
19672
19672
|
{
|
|
19673
19673
|
name: "CONTAINS",
|
|
19674
19674
|
mandatory: {
|
|
19675
|
-
"val": new basic_1.
|
|
19675
|
+
"val": new basic_1.CLikeType(),
|
|
19676
19676
|
},
|
|
19677
19677
|
optional: {
|
|
19678
|
-
"sub": new basic_1.
|
|
19679
|
-
"start": new basic_1.
|
|
19680
|
-
"end": new basic_1.
|
|
19681
|
-
"regex": new basic_1.
|
|
19682
|
-
"pcre": new basic_1.
|
|
19678
|
+
"sub": new basic_1.CLikeType(),
|
|
19679
|
+
"start": new basic_1.CLikeType(),
|
|
19680
|
+
"end": new basic_1.CLikeType(),
|
|
19681
|
+
"regex": new basic_1.CLikeType(),
|
|
19682
|
+
"pcre": new basic_1.CLikeType(),
|
|
19683
19683
|
"case": new basic_1.CharacterType(1),
|
|
19684
19684
|
"off": new basic_1.IntegerType(),
|
|
19685
19685
|
"len": new basic_1.IntegerType(),
|
|
@@ -19692,12 +19692,12 @@ BuiltIn.methods = [
|
|
|
19692
19692
|
{
|
|
19693
19693
|
name: "CONTAINS_ANY_NOT_OF",
|
|
19694
19694
|
mandatory: {
|
|
19695
|
-
"val": new basic_1.
|
|
19695
|
+
"val": new basic_1.CLikeType(),
|
|
19696
19696
|
},
|
|
19697
19697
|
optional: {
|
|
19698
|
-
"sub": new basic_1.
|
|
19699
|
-
"start": new basic_1.
|
|
19700
|
-
"end": new basic_1.
|
|
19698
|
+
"sub": new basic_1.CLikeType(),
|
|
19699
|
+
"start": new basic_1.CLikeType(),
|
|
19700
|
+
"end": new basic_1.CLikeType(),
|
|
19701
19701
|
"off": new basic_1.IntegerType(),
|
|
19702
19702
|
"len": new basic_1.IntegerType(),
|
|
19703
19703
|
"occ": new basic_1.IntegerType(),
|
|
@@ -19708,12 +19708,12 @@ BuiltIn.methods = [
|
|
|
19708
19708
|
{
|
|
19709
19709
|
name: "CONTAINS_ANY_OF",
|
|
19710
19710
|
mandatory: {
|
|
19711
|
-
"val": new basic_1.
|
|
19711
|
+
"val": new basic_1.CLikeType(),
|
|
19712
19712
|
},
|
|
19713
19713
|
optional: {
|
|
19714
|
-
"sub": new basic_1.
|
|
19715
|
-
"start": new basic_1.
|
|
19716
|
-
"end": new basic_1.
|
|
19714
|
+
"sub": new basic_1.CLikeType(),
|
|
19715
|
+
"start": new basic_1.CLikeType(),
|
|
19716
|
+
"end": new basic_1.CLikeType(),
|
|
19717
19717
|
"off": new basic_1.IntegerType(),
|
|
19718
19718
|
"len": new basic_1.IntegerType(),
|
|
19719
19719
|
"occ": new basic_1.IntegerType(),
|
|
@@ -19739,12 +19739,12 @@ BuiltIn.methods = [
|
|
|
19739
19739
|
{
|
|
19740
19740
|
name: "COUNT",
|
|
19741
19741
|
mandatory: {
|
|
19742
|
-
"val": new basic_1.
|
|
19742
|
+
"val": new basic_1.CLikeType(),
|
|
19743
19743
|
},
|
|
19744
19744
|
optional: {
|
|
19745
|
-
"sub": new basic_1.
|
|
19746
|
-
"regex": new basic_1.
|
|
19747
|
-
"pcre": new basic_1.
|
|
19745
|
+
"sub": new basic_1.CLikeType(),
|
|
19746
|
+
"regex": new basic_1.CLikeType(),
|
|
19747
|
+
"pcre": new basic_1.CLikeType(),
|
|
19748
19748
|
"case": new basic_1.CharacterType(1),
|
|
19749
19749
|
"off": new basic_1.IntegerType(),
|
|
19750
19750
|
"len": new basic_1.IntegerType(),
|
|
@@ -19755,12 +19755,12 @@ BuiltIn.methods = [
|
|
|
19755
19755
|
{
|
|
19756
19756
|
name: "COUNT_ANY_NOT_OF",
|
|
19757
19757
|
mandatory: {
|
|
19758
|
-
"val": new basic_1.
|
|
19758
|
+
"val": new basic_1.CLikeType(),
|
|
19759
19759
|
},
|
|
19760
19760
|
optional: {
|
|
19761
|
-
"sub": new basic_1.
|
|
19762
|
-
"regex": new basic_1.
|
|
19763
|
-
"pcre": new basic_1.
|
|
19761
|
+
"sub": new basic_1.CLikeType(),
|
|
19762
|
+
"regex": new basic_1.CLikeType(),
|
|
19763
|
+
"pcre": new basic_1.CLikeType(),
|
|
19764
19764
|
"case": new basic_1.CharacterType(1),
|
|
19765
19765
|
"off": new basic_1.IntegerType(),
|
|
19766
19766
|
"len": new basic_1.IntegerType(),
|
|
@@ -19771,12 +19771,12 @@ BuiltIn.methods = [
|
|
|
19771
19771
|
{
|
|
19772
19772
|
name: "COUNT_ANY_OF",
|
|
19773
19773
|
mandatory: {
|
|
19774
|
-
"val": new basic_1.
|
|
19774
|
+
"val": new basic_1.CLikeType(),
|
|
19775
19775
|
},
|
|
19776
19776
|
optional: {
|
|
19777
|
-
"sub": new basic_1.
|
|
19778
|
-
"regex": new basic_1.
|
|
19779
|
-
"pcre": new basic_1.
|
|
19777
|
+
"sub": new basic_1.CLikeType(),
|
|
19778
|
+
"regex": new basic_1.CLikeType(),
|
|
19779
|
+
"pcre": new basic_1.CLikeType(),
|
|
19780
19780
|
"case": new basic_1.CharacterType(1),
|
|
19781
19781
|
"off": new basic_1.IntegerType(),
|
|
19782
19782
|
"len": new basic_1.IntegerType(),
|
|
@@ -19787,15 +19787,15 @@ BuiltIn.methods = [
|
|
|
19787
19787
|
{
|
|
19788
19788
|
name: "DBMAXLEN",
|
|
19789
19789
|
mandatory: {
|
|
19790
|
-
"val": new basic_1.
|
|
19790
|
+
"val": new basic_1.CLikeType(),
|
|
19791
19791
|
},
|
|
19792
19792
|
return: new basic_1.IntegerType(),
|
|
19793
19793
|
},
|
|
19794
19794
|
{
|
|
19795
19795
|
name: "DISTANCE",
|
|
19796
19796
|
mandatory: {
|
|
19797
|
-
"val1": new basic_1.
|
|
19798
|
-
"val2": new basic_1.
|
|
19797
|
+
"val1": new basic_1.CLikeType(),
|
|
19798
|
+
"val2": new basic_1.CLikeType(),
|
|
19799
19799
|
},
|
|
19800
19800
|
return: new basic_1.IntegerType(),
|
|
19801
19801
|
version: version_1.Version.v702,
|
|
@@ -19803,8 +19803,8 @@ BuiltIn.methods = [
|
|
|
19803
19803
|
{
|
|
19804
19804
|
name: "ESCAPE",
|
|
19805
19805
|
mandatory: {
|
|
19806
|
-
"val": new basic_1.
|
|
19807
|
-
"format": new basic_1.
|
|
19806
|
+
"val": new basic_1.CLikeType(),
|
|
19807
|
+
"format": new basic_1.CLikeType(),
|
|
19808
19808
|
},
|
|
19809
19809
|
return: new basic_1.StringType(),
|
|
19810
19810
|
version: version_1.Version.v702,
|
|
@@ -19819,12 +19819,12 @@ BuiltIn.methods = [
|
|
|
19819
19819
|
{
|
|
19820
19820
|
name: "FIND",
|
|
19821
19821
|
mandatory: {
|
|
19822
|
-
"val": new basic_1.
|
|
19822
|
+
"val": new basic_1.CLikeType(),
|
|
19823
19823
|
},
|
|
19824
19824
|
optional: {
|
|
19825
|
-
"sub": new basic_1.
|
|
19826
|
-
"regex": new basic_1.
|
|
19827
|
-
"pcre": new basic_1.
|
|
19825
|
+
"sub": new basic_1.CLikeType(),
|
|
19826
|
+
"regex": new basic_1.CLikeType(),
|
|
19827
|
+
"pcre": new basic_1.CLikeType(),
|
|
19828
19828
|
"case": new basic_1.CharacterType(1),
|
|
19829
19829
|
"off": new basic_1.IntegerType(),
|
|
19830
19830
|
"len": new basic_1.IntegerType(),
|
|
@@ -19836,10 +19836,10 @@ BuiltIn.methods = [
|
|
|
19836
19836
|
{
|
|
19837
19837
|
name: "FIND_ANY_NOT_OF",
|
|
19838
19838
|
mandatory: {
|
|
19839
|
-
"val": new basic_1.
|
|
19839
|
+
"val": new basic_1.CLikeType(),
|
|
19840
19840
|
},
|
|
19841
19841
|
optional: {
|
|
19842
|
-
"sub": new basic_1.
|
|
19842
|
+
"sub": new basic_1.CLikeType(),
|
|
19843
19843
|
"off": new basic_1.IntegerType(),
|
|
19844
19844
|
"len": new basic_1.IntegerType(),
|
|
19845
19845
|
"occ": new basic_1.IntegerType(),
|
|
@@ -19850,10 +19850,10 @@ BuiltIn.methods = [
|
|
|
19850
19850
|
{
|
|
19851
19851
|
name: "FIND_ANY_OF",
|
|
19852
19852
|
mandatory: {
|
|
19853
|
-
"val": new basic_1.
|
|
19853
|
+
"val": new basic_1.CLikeType(),
|
|
19854
19854
|
},
|
|
19855
19855
|
optional: {
|
|
19856
|
-
"sub": new basic_1.
|
|
19856
|
+
"sub": new basic_1.CLikeType(),
|
|
19857
19857
|
"off": new basic_1.IntegerType(),
|
|
19858
19858
|
"len": new basic_1.IntegerType(),
|
|
19859
19859
|
"occ": new basic_1.IntegerType(),
|
|
@@ -19864,12 +19864,12 @@ BuiltIn.methods = [
|
|
|
19864
19864
|
{
|
|
19865
19865
|
name: "FIND_END",
|
|
19866
19866
|
mandatory: {
|
|
19867
|
-
"val": new basic_1.
|
|
19867
|
+
"val": new basic_1.CLikeType(),
|
|
19868
19868
|
},
|
|
19869
19869
|
optional: {
|
|
19870
|
-
"sub": new basic_1.
|
|
19871
|
-
"regex": new basic_1.
|
|
19872
|
-
"pcre": new basic_1.
|
|
19870
|
+
"sub": new basic_1.CLikeType(),
|
|
19871
|
+
"regex": new basic_1.CLikeType(),
|
|
19872
|
+
"pcre": new basic_1.CLikeType(),
|
|
19873
19873
|
"case": new basic_1.CharacterType(1),
|
|
19874
19874
|
"off": new basic_1.IntegerType(),
|
|
19875
19875
|
"len": new basic_1.IntegerType(),
|
|
@@ -19894,7 +19894,9 @@ BuiltIn.methods = [
|
|
|
19894
19894
|
},
|
|
19895
19895
|
{
|
|
19896
19896
|
name: "FROM_MIXED",
|
|
19897
|
-
mandatory: {
|
|
19897
|
+
mandatory: {
|
|
19898
|
+
"val": new basic_1.CLikeType()
|
|
19899
|
+
},
|
|
19898
19900
|
optional: {
|
|
19899
19901
|
"case": new basic_1.CharacterType(1),
|
|
19900
19902
|
"sep": new basic_1.IntegerType(),
|
|
@@ -19906,8 +19908,8 @@ BuiltIn.methods = [
|
|
|
19906
19908
|
{
|
|
19907
19909
|
name: "INSERT",
|
|
19908
19910
|
mandatory: {
|
|
19909
|
-
"val": new basic_1.
|
|
19910
|
-
"sub": new basic_1.
|
|
19911
|
+
"val": new basic_1.CLikeType(),
|
|
19912
|
+
"sub": new basic_1.CLikeType(),
|
|
19911
19913
|
},
|
|
19912
19914
|
optional: {
|
|
19913
19915
|
"off": new basic_1.IntegerType(),
|
|
@@ -19936,7 +19938,7 @@ BuiltIn.methods = [
|
|
|
19936
19938
|
{
|
|
19937
19939
|
name: "LINE_INDEX",
|
|
19938
19940
|
mandatory: {
|
|
19939
|
-
"val": new basic_1.
|
|
19941
|
+
"val": new basic_1.CLikeType(),
|
|
19940
19942
|
},
|
|
19941
19943
|
return: new basic_1.IntegerType(),
|
|
19942
19944
|
version: version_1.Version.v740sp02,
|
|
@@ -19965,11 +19967,11 @@ BuiltIn.methods = [
|
|
|
19965
19967
|
{
|
|
19966
19968
|
name: "MATCH",
|
|
19967
19969
|
mandatory: {
|
|
19968
|
-
"val": new basic_1.
|
|
19970
|
+
"val": new basic_1.CLikeType(),
|
|
19969
19971
|
}, optional: {
|
|
19970
19972
|
"case": new basic_1.CharacterType(1),
|
|
19971
|
-
"regex": new basic_1.
|
|
19972
|
-
"pcre": new basic_1.
|
|
19973
|
+
"regex": new basic_1.CLikeType(),
|
|
19974
|
+
"pcre": new basic_1.CLikeType(),
|
|
19973
19975
|
"occ": new basic_1.IntegerType(),
|
|
19974
19976
|
},
|
|
19975
19977
|
return: new basic_1.StringType(),
|
|
@@ -19978,12 +19980,12 @@ BuiltIn.methods = [
|
|
|
19978
19980
|
{
|
|
19979
19981
|
name: "MATCHES",
|
|
19980
19982
|
mandatory: {
|
|
19981
|
-
"val": new basic_1.
|
|
19983
|
+
"val": new basic_1.CLikeType(),
|
|
19982
19984
|
},
|
|
19983
19985
|
optional: {
|
|
19984
19986
|
"case": new basic_1.CharacterType(1),
|
|
19985
|
-
"regex": new basic_1.
|
|
19986
|
-
"pcre": new basic_1.
|
|
19987
|
+
"regex": new basic_1.CLikeType(),
|
|
19988
|
+
"pcre": new basic_1.CLikeType(),
|
|
19987
19989
|
"off": new basic_1.IntegerType(),
|
|
19988
19990
|
"len": new basic_1.IntegerType(),
|
|
19989
19991
|
},
|
|
@@ -19994,17 +19996,17 @@ BuiltIn.methods = [
|
|
|
19994
19996
|
{
|
|
19995
19997
|
name: "NMAX",
|
|
19996
19998
|
mandatory: {
|
|
19997
|
-
"val1": new basic_1.
|
|
19998
|
-
"val2": new basic_1.
|
|
19999
|
+
"val1": new basic_1.CLikeType(),
|
|
20000
|
+
"val2": new basic_1.CLikeType(),
|
|
19999
20001
|
},
|
|
20000
20002
|
optional: {
|
|
20001
|
-
"val3": new basic_1.
|
|
20002
|
-
"val4": new basic_1.
|
|
20003
|
-
"val5": new basic_1.
|
|
20004
|
-
"val6": new basic_1.
|
|
20005
|
-
"val7": new basic_1.
|
|
20006
|
-
"val8": new basic_1.
|
|
20007
|
-
"val9": new basic_1.
|
|
20003
|
+
"val3": new basic_1.CLikeType(),
|
|
20004
|
+
"val4": new basic_1.CLikeType(),
|
|
20005
|
+
"val5": new basic_1.CLikeType(),
|
|
20006
|
+
"val6": new basic_1.CLikeType(),
|
|
20007
|
+
"val7": new basic_1.CLikeType(),
|
|
20008
|
+
"val8": new basic_1.CLikeType(),
|
|
20009
|
+
"val9": new basic_1.CLikeType(),
|
|
20008
20010
|
},
|
|
20009
20011
|
return: new basic_1.IntegerType(),
|
|
20010
20012
|
version: version_1.Version.v702,
|
|
@@ -20012,17 +20014,17 @@ BuiltIn.methods = [
|
|
|
20012
20014
|
{
|
|
20013
20015
|
name: "NMIN",
|
|
20014
20016
|
mandatory: {
|
|
20015
|
-
"val1": new basic_1.
|
|
20016
|
-
"val2": new basic_1.
|
|
20017
|
+
"val1": new basic_1.CLikeType(),
|
|
20018
|
+
"val2": new basic_1.CLikeType(),
|
|
20017
20019
|
},
|
|
20018
20020
|
optional: {
|
|
20019
|
-
"val3": new basic_1.
|
|
20020
|
-
"val4": new basic_1.
|
|
20021
|
-
"val5": new basic_1.
|
|
20022
|
-
"val6": new basic_1.
|
|
20023
|
-
"val7": new basic_1.
|
|
20024
|
-
"val8": new basic_1.
|
|
20025
|
-
"val9": new basic_1.
|
|
20021
|
+
"val3": new basic_1.CLikeType(),
|
|
20022
|
+
"val4": new basic_1.CLikeType(),
|
|
20023
|
+
"val5": new basic_1.CLikeType(),
|
|
20024
|
+
"val6": new basic_1.CLikeType(),
|
|
20025
|
+
"val7": new basic_1.CLikeType(),
|
|
20026
|
+
"val8": new basic_1.CLikeType(),
|
|
20027
|
+
"val9": new basic_1.CLikeType(),
|
|
20026
20028
|
},
|
|
20027
20029
|
return: new basic_1.IntegerType(),
|
|
20028
20030
|
version: version_1.Version.v702,
|
|
@@ -20030,14 +20032,14 @@ BuiltIn.methods = [
|
|
|
20030
20032
|
{
|
|
20031
20033
|
name: "NUMOFCHAR",
|
|
20032
20034
|
mandatory: {
|
|
20033
|
-
"val": new basic_1.
|
|
20035
|
+
"val": new basic_1.CLikeType(),
|
|
20034
20036
|
},
|
|
20035
20037
|
return: new basic_1.IntegerType(),
|
|
20036
20038
|
},
|
|
20037
20039
|
{
|
|
20038
20040
|
name: "REPEAT",
|
|
20039
20041
|
mandatory: {
|
|
20040
|
-
"val": new basic_1.
|
|
20042
|
+
"val": new basic_1.CLikeType(),
|
|
20041
20043
|
"occ": new basic_1.IntegerType(),
|
|
20042
20044
|
},
|
|
20043
20045
|
return: new basic_1.StringType(),
|
|
@@ -20046,13 +20048,13 @@ BuiltIn.methods = [
|
|
|
20046
20048
|
{
|
|
20047
20049
|
name: "REPLACE",
|
|
20048
20050
|
mandatory: {
|
|
20049
|
-
"val": new basic_1.
|
|
20050
|
-
"with": new basic_1.
|
|
20051
|
+
"val": new basic_1.CLikeType(),
|
|
20052
|
+
"with": new basic_1.CLikeType(),
|
|
20051
20053
|
},
|
|
20052
20054
|
optional: {
|
|
20053
|
-
"sub": new basic_1.
|
|
20054
|
-
"regex": new basic_1.
|
|
20055
|
-
"pcre": new basic_1.
|
|
20055
|
+
"sub": new basic_1.CLikeType(),
|
|
20056
|
+
"regex": new basic_1.CLikeType(),
|
|
20057
|
+
"pcre": new basic_1.CLikeType(),
|
|
20056
20058
|
"case": new basic_1.CharacterType(1),
|
|
20057
20059
|
"off": new basic_1.IntegerType(),
|
|
20058
20060
|
"len": new basic_1.IntegerType(),
|
|
@@ -20077,7 +20079,7 @@ BuiltIn.methods = [
|
|
|
20077
20079
|
{
|
|
20078
20080
|
name: "REVERSE",
|
|
20079
20081
|
mandatory: {
|
|
20080
|
-
"val": new basic_1.
|
|
20082
|
+
"val": new basic_1.CLikeType(),
|
|
20081
20083
|
},
|
|
20082
20084
|
return: new basic_1.StringType(),
|
|
20083
20085
|
version: version_1.Version.v702,
|
|
@@ -20098,12 +20100,12 @@ BuiltIn.methods = [
|
|
|
20098
20100
|
{
|
|
20099
20101
|
name: "SEGMENT",
|
|
20100
20102
|
mandatory: {
|
|
20101
|
-
"val": new basic_1.
|
|
20103
|
+
"val": new basic_1.CLikeType(),
|
|
20102
20104
|
"index": new basic_1.IntegerType(),
|
|
20103
20105
|
},
|
|
20104
20106
|
optional: {
|
|
20105
|
-
"sep": new basic_1.
|
|
20106
|
-
"space": new basic_1.
|
|
20107
|
+
"sep": new basic_1.CLikeType(),
|
|
20108
|
+
"space": new basic_1.CLikeType(),
|
|
20107
20109
|
},
|
|
20108
20110
|
return: new basic_1.StringType(),
|
|
20109
20111
|
version: version_1.Version.v702,
|
|
@@ -20111,10 +20113,10 @@ BuiltIn.methods = [
|
|
|
20111
20113
|
{
|
|
20112
20114
|
name: "SHIFT_LEFT",
|
|
20113
20115
|
mandatory: {
|
|
20114
|
-
"val": new basic_1.
|
|
20116
|
+
"val": new basic_1.CLikeType(),
|
|
20115
20117
|
},
|
|
20116
20118
|
optional: {
|
|
20117
|
-
"sub": new basic_1.
|
|
20119
|
+
"sub": new basic_1.CLikeType(),
|
|
20118
20120
|
"places": new basic_1.IntegerType(),
|
|
20119
20121
|
"circular": new basic_1.IntegerType(),
|
|
20120
20122
|
},
|
|
@@ -20124,10 +20126,10 @@ BuiltIn.methods = [
|
|
|
20124
20126
|
{
|
|
20125
20127
|
name: "SHIFT_RIGHT",
|
|
20126
20128
|
mandatory: {
|
|
20127
|
-
"val": new basic_1.
|
|
20129
|
+
"val": new basic_1.CLikeType(),
|
|
20128
20130
|
},
|
|
20129
20131
|
optional: {
|
|
20130
|
-
"sub": new basic_1.
|
|
20132
|
+
"sub": new basic_1.CLikeType(),
|
|
20131
20133
|
"places": new basic_1.IntegerType(),
|
|
20132
20134
|
"circular": new basic_1.IntegerType(),
|
|
20133
20135
|
},
|
|
@@ -20187,9 +20189,9 @@ BuiltIn.methods = [
|
|
|
20187
20189
|
"val": new basic_1.CLikeType(),
|
|
20188
20190
|
},
|
|
20189
20191
|
optional: {
|
|
20190
|
-
"sub": new basic_1.
|
|
20191
|
-
"regex": new basic_1.
|
|
20192
|
-
"pcre": new basic_1.
|
|
20192
|
+
"sub": new basic_1.CLikeType(),
|
|
20193
|
+
"regex": new basic_1.CLikeType(),
|
|
20194
|
+
"pcre": new basic_1.CLikeType(),
|
|
20193
20195
|
"case": new basic_1.CharacterType(1),
|
|
20194
20196
|
"len": new basic_1.IntegerType(),
|
|
20195
20197
|
"occ": new basic_1.IntegerType(),
|
|
@@ -20203,9 +20205,9 @@ BuiltIn.methods = [
|
|
|
20203
20205
|
"val": new basic_1.CLikeType(),
|
|
20204
20206
|
},
|
|
20205
20207
|
optional: {
|
|
20206
|
-
"sub": new basic_1.
|
|
20207
|
-
"regex": new basic_1.
|
|
20208
|
-
"pcre": new basic_1.
|
|
20208
|
+
"sub": new basic_1.CLikeType(),
|
|
20209
|
+
"regex": new basic_1.CLikeType(),
|
|
20210
|
+
"pcre": new basic_1.CLikeType(),
|
|
20209
20211
|
"case": new basic_1.CharacterType(1),
|
|
20210
20212
|
"len": new basic_1.IntegerType(),
|
|
20211
20213
|
"occ": new basic_1.IntegerType(),
|
|
@@ -20219,9 +20221,9 @@ BuiltIn.methods = [
|
|
|
20219
20221
|
"val": new basic_1.CLikeType(),
|
|
20220
20222
|
},
|
|
20221
20223
|
optional: {
|
|
20222
|
-
"sub": new basic_1.
|
|
20223
|
-
"regex": new basic_1.
|
|
20224
|
-
"pcre": new basic_1.
|
|
20224
|
+
"sub": new basic_1.CLikeType(),
|
|
20225
|
+
"regex": new basic_1.CLikeType(),
|
|
20226
|
+
"pcre": new basic_1.CLikeType(),
|
|
20225
20227
|
"case": new basic_1.CharacterType(1),
|
|
20226
20228
|
"len": new basic_1.IntegerType(),
|
|
20227
20229
|
"occ": new basic_1.IntegerType(),
|
|
@@ -20235,9 +20237,9 @@ BuiltIn.methods = [
|
|
|
20235
20237
|
"val": new basic_1.CLikeType(),
|
|
20236
20238
|
},
|
|
20237
20239
|
optional: {
|
|
20238
|
-
"sub": new basic_1.
|
|
20239
|
-
"regex": new basic_1.
|
|
20240
|
-
"pcre": new basic_1.
|
|
20240
|
+
"sub": new basic_1.CLikeType(),
|
|
20241
|
+
"regex": new basic_1.CLikeType(),
|
|
20242
|
+
"pcre": new basic_1.CLikeType(),
|
|
20241
20243
|
"case": new basic_1.CharacterType(1),
|
|
20242
20244
|
"len": new basic_1.IntegerType(),
|
|
20243
20245
|
"occ": new basic_1.IntegerType(),
|
|
@@ -20262,7 +20264,7 @@ BuiltIn.methods = [
|
|
|
20262
20264
|
{
|
|
20263
20265
|
name: "TO_LOWER",
|
|
20264
20266
|
mandatory: {
|
|
20265
|
-
"val": new basic_1.
|
|
20267
|
+
"val": new basic_1.CLikeType(),
|
|
20266
20268
|
},
|
|
20267
20269
|
return: new basic_1.StringType(),
|
|
20268
20270
|
version: version_1.Version.v702,
|
|
@@ -20270,7 +20272,7 @@ BuiltIn.methods = [
|
|
|
20270
20272
|
{
|
|
20271
20273
|
name: "TO_MIXED",
|
|
20272
20274
|
mandatory: {
|
|
20273
|
-
"val": new basic_1.
|
|
20275
|
+
"val": new basic_1.CLikeType(),
|
|
20274
20276
|
},
|
|
20275
20277
|
optional: {
|
|
20276
20278
|
"case": new basic_1.CharacterType(1),
|
|
@@ -20282,16 +20284,16 @@ BuiltIn.methods = [
|
|
|
20282
20284
|
},
|
|
20283
20285
|
{
|
|
20284
20286
|
name: "TO_UPPER",
|
|
20285
|
-
mandatory: { "val": new basic_1.
|
|
20287
|
+
mandatory: { "val": new basic_1.CLikeType() },
|
|
20286
20288
|
return: new basic_1.StringType(),
|
|
20287
20289
|
version: version_1.Version.v702,
|
|
20288
20290
|
},
|
|
20289
20291
|
{
|
|
20290
20292
|
name: "TRANSLATE",
|
|
20291
20293
|
mandatory: {
|
|
20292
|
-
"val": new basic_1.
|
|
20293
|
-
"from": new basic_1.
|
|
20294
|
-
"to": new basic_1.
|
|
20294
|
+
"val": new basic_1.CLikeType(),
|
|
20295
|
+
"from": new basic_1.CLikeType(),
|
|
20296
|
+
"to": new basic_1.CLikeType(),
|
|
20295
20297
|
},
|
|
20296
20298
|
return: new basic_1.StringType(),
|
|
20297
20299
|
version: version_1.Version.v702,
|
|
@@ -20334,7 +20336,7 @@ BuiltIn.methods = [
|
|
|
20334
20336
|
{
|
|
20335
20337
|
name: "XSDBOOL",
|
|
20336
20338
|
mandatory: {
|
|
20337
|
-
"val": new basic_1.
|
|
20339
|
+
"val": new basic_1.CLikeType(),
|
|
20338
20340
|
},
|
|
20339
20341
|
return: new basic_1.CharacterType(1),
|
|
20340
20342
|
version: version_1.Version.v740sp08,
|
|
@@ -20685,6 +20687,9 @@ class CurrentScope {
|
|
|
20685
20687
|
getDDICReferences() {
|
|
20686
20688
|
return this.reg.getDDICReferences();
|
|
20687
20689
|
}
|
|
20690
|
+
getMSAGReferences() {
|
|
20691
|
+
return this.reg.getMSAGReferences();
|
|
20692
|
+
}
|
|
20688
20693
|
getParentObj() {
|
|
20689
20694
|
return this.parentObj;
|
|
20690
20695
|
}
|
|
@@ -21551,7 +21556,7 @@ class TypeUtils {
|
|
|
21551
21556
|
return false;
|
|
21552
21557
|
}
|
|
21553
21558
|
isAssignableStrict(source, target) {
|
|
21554
|
-
var _a, _b, _c, _d;
|
|
21559
|
+
var _a, _b, _c, _d, _e;
|
|
21555
21560
|
/*
|
|
21556
21561
|
console.dir(source);
|
|
21557
21562
|
console.dir(target);
|
|
@@ -21569,16 +21574,22 @@ class TypeUtils {
|
|
|
21569
21574
|
}
|
|
21570
21575
|
return false;
|
|
21571
21576
|
}
|
|
21577
|
+
else if (target instanceof basic_1.StringType) {
|
|
21578
|
+
if (((_c = source.getAbstractTypeData()) === null || _c === void 0 ? void 0 : _c.derivedFromConstant) === true) {
|
|
21579
|
+
return true;
|
|
21580
|
+
}
|
|
21581
|
+
return false;
|
|
21582
|
+
}
|
|
21572
21583
|
}
|
|
21573
21584
|
else if (source instanceof basic_1.HexType) {
|
|
21574
21585
|
if (target instanceof basic_1.HexType) {
|
|
21575
|
-
if (((
|
|
21586
|
+
if (((_d = source.getAbstractTypeData()) === null || _d === void 0 ? void 0 : _d.derivedFromConstant) === true) {
|
|
21576
21587
|
return source.getLength() <= target.getLength();
|
|
21577
21588
|
}
|
|
21578
21589
|
return source.getLength() === target.getLength();
|
|
21579
21590
|
}
|
|
21580
21591
|
else if (target instanceof basic_1.IntegerType) {
|
|
21581
|
-
if (((
|
|
21592
|
+
if (((_e = source.getAbstractTypeData()) === null || _e === void 0 ? void 0 : _e.derivedFromConstant) === true) {
|
|
21582
21593
|
return true;
|
|
21583
21594
|
}
|
|
21584
21595
|
return false;
|
|
@@ -24234,9 +24245,26 @@ const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ ".
|
|
|
24234
24245
|
const source_1 = __webpack_require__(/*! ./source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
|
|
24235
24246
|
class MessageSource {
|
|
24236
24247
|
runSyntax(node, scope, filename) {
|
|
24248
|
+
var _a, _b, _c, _d;
|
|
24237
24249
|
for (const f of node.findDirectExpressions(Expressions.Source)) {
|
|
24238
24250
|
new source_1.Source().runSyntax(f, scope, filename);
|
|
24239
24251
|
}
|
|
24252
|
+
if (node.getFirstToken().getStr().toUpperCase() === "ID") {
|
|
24253
|
+
const id = (_a = node.findExpressionAfterToken("ID")) === null || _a === void 0 ? void 0 : _a.concatTokens();
|
|
24254
|
+
const number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();
|
|
24255
|
+
if ((id === null || id === void 0 ? void 0 : id.startsWith("'")) && number) {
|
|
24256
|
+
const messageClass = id.substring(1, id.length - 1).toUpperCase();
|
|
24257
|
+
scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, number);
|
|
24258
|
+
}
|
|
24259
|
+
}
|
|
24260
|
+
else {
|
|
24261
|
+
const typeAndNumber = (_c = node.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _c === void 0 ? void 0 : _c.concatTokens();
|
|
24262
|
+
const messageNumber = typeAndNumber === null || typeAndNumber === void 0 ? void 0 : typeAndNumber.substring(1);
|
|
24263
|
+
const messageClass = (_d = node.findDirectExpression(Expressions.MessageClass)) === null || _d === void 0 ? void 0 : _d.concatTokens().toUpperCase();
|
|
24264
|
+
if (messageNumber && messageClass) {
|
|
24265
|
+
scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, messageNumber);
|
|
24266
|
+
}
|
|
24267
|
+
}
|
|
24240
24268
|
}
|
|
24241
24269
|
}
|
|
24242
24270
|
exports.MessageSource = MessageSource;
|
|
@@ -31945,6 +31973,7 @@ class SyntaxLogic {
|
|
|
31945
31973
|
}
|
|
31946
31974
|
this.issues = [];
|
|
31947
31975
|
this.reg.getDDICReferences().clear(this.object);
|
|
31976
|
+
this.reg.getMSAGReferences().clear(this.object);
|
|
31948
31977
|
if (this.object instanceof objects_1.Program && this.object.isInclude()) {
|
|
31949
31978
|
// todo, show some kind of error?
|
|
31950
31979
|
return { issues: [], spaghetti: this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)) };
|
|
@@ -35979,21 +36008,21 @@ exports.InterfaceDefinition = InterfaceDefinition;
|
|
|
35979
36008
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
35980
36009
|
exports.Message = void 0;
|
|
35981
36010
|
class Message {
|
|
35982
|
-
constructor(
|
|
35983
|
-
this.
|
|
35984
|
-
if (this.
|
|
35985
|
-
this.
|
|
36011
|
+
constructor(number, message) {
|
|
36012
|
+
this.number = number;
|
|
36013
|
+
if (this.number === undefined) {
|
|
36014
|
+
this.number = "";
|
|
35986
36015
|
}
|
|
35987
|
-
this.
|
|
35988
|
-
if (this.
|
|
35989
|
-
this.
|
|
36016
|
+
this.message = message;
|
|
36017
|
+
if (this.message === undefined) {
|
|
36018
|
+
this.message = "";
|
|
35990
36019
|
}
|
|
35991
36020
|
}
|
|
35992
36021
|
getNumber() {
|
|
35993
|
-
return this.
|
|
36022
|
+
return this.number;
|
|
35994
36023
|
}
|
|
35995
36024
|
getMessage() {
|
|
35996
|
-
return this.
|
|
36025
|
+
return this.message;
|
|
35997
36026
|
}
|
|
35998
36027
|
getPlaceholderCount() {
|
|
35999
36028
|
return (this.getMessage().match(/&/g) || []).length;
|
|
@@ -38308,10 +38337,11 @@ class DDICReferences {
|
|
|
38308
38337
|
}
|
|
38309
38338
|
}
|
|
38310
38339
|
}
|
|
38311
|
-
|
|
38312
|
-
const
|
|
38313
|
-
|
|
38314
|
-
|
|
38340
|
+
// remove from name + type index
|
|
38341
|
+
const name = obj.getName().toUpperCase();
|
|
38342
|
+
const type = obj.getType();
|
|
38343
|
+
if ((_b = this.nameTypeIndex[name]) === null || _b === void 0 ? void 0 : _b[type]) {
|
|
38344
|
+
this.nameTypeIndex[name][type] = [];
|
|
38315
38345
|
}
|
|
38316
38346
|
}
|
|
38317
38347
|
listByFilename(filename, line) {
|
|
@@ -41076,6 +41106,65 @@ exports.Symbols = Symbols;
|
|
|
41076
41106
|
|
|
41077
41107
|
/***/ }),
|
|
41078
41108
|
|
|
41109
|
+
/***/ "./node_modules/@abaplint/core/build/src/msag_references.js":
|
|
41110
|
+
/*!******************************************************************!*\
|
|
41111
|
+
!*** ./node_modules/@abaplint/core/build/src/msag_references.js ***!
|
|
41112
|
+
\******************************************************************/
|
|
41113
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
41114
|
+
|
|
41115
|
+
"use strict";
|
|
41116
|
+
|
|
41117
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
41118
|
+
exports.MSAGReferences = void 0;
|
|
41119
|
+
class MSAGReferences {
|
|
41120
|
+
constructor() {
|
|
41121
|
+
this.nameNumberIndex = {};
|
|
41122
|
+
this.filenameIndex = {};
|
|
41123
|
+
}
|
|
41124
|
+
addUsing(filename, token, messageClass, number) {
|
|
41125
|
+
if (this.filenameIndex[filename] === undefined) {
|
|
41126
|
+
this.filenameIndex[filename] = [];
|
|
41127
|
+
}
|
|
41128
|
+
this.filenameIndex[filename].push({
|
|
41129
|
+
token: token,
|
|
41130
|
+
messageClass: messageClass,
|
|
41131
|
+
number: number,
|
|
41132
|
+
});
|
|
41133
|
+
if (this.nameNumberIndex[messageClass] === undefined) {
|
|
41134
|
+
this.nameNumberIndex[messageClass] = {};
|
|
41135
|
+
}
|
|
41136
|
+
if (this.nameNumberIndex[messageClass][number] === undefined) {
|
|
41137
|
+
this.nameNumberIndex[messageClass][number] = [];
|
|
41138
|
+
}
|
|
41139
|
+
this.nameNumberIndex[messageClass][number].push({
|
|
41140
|
+
filename: filename,
|
|
41141
|
+
token: token,
|
|
41142
|
+
});
|
|
41143
|
+
}
|
|
41144
|
+
clear(obj) {
|
|
41145
|
+
for (const file of obj.getFiles()) {
|
|
41146
|
+
const filename = file.getFilename();
|
|
41147
|
+
for (const fIndex of this.filenameIndex[filename] || []) {
|
|
41148
|
+
// this should be okay for performance, each message should be referenced less than 10 times typically
|
|
41149
|
+
this.nameNumberIndex[fIndex.messageClass][fIndex.number] =
|
|
41150
|
+
this.nameNumberIndex[fIndex.messageClass][fIndex.number].filter(i => i.filename !== filename);
|
|
41151
|
+
}
|
|
41152
|
+
delete this.filenameIndex[filename];
|
|
41153
|
+
}
|
|
41154
|
+
}
|
|
41155
|
+
listByFilename(filename) {
|
|
41156
|
+
return this.filenameIndex[filename] || [];
|
|
41157
|
+
}
|
|
41158
|
+
listByMessage(messageClass, number) {
|
|
41159
|
+
var _a;
|
|
41160
|
+
return ((_a = this.nameNumberIndex[messageClass]) === null || _a === void 0 ? void 0 : _a[number]) || [];
|
|
41161
|
+
}
|
|
41162
|
+
}
|
|
41163
|
+
exports.MSAGReferences = MSAGReferences;
|
|
41164
|
+
//# sourceMappingURL=msag_references.js.map
|
|
41165
|
+
|
|
41166
|
+
/***/ }),
|
|
41167
|
+
|
|
41079
41168
|
/***/ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js":
|
|
41080
41169
|
/*!***********************************************************************!*\
|
|
41081
41170
|
!*** ./node_modules/@abaplint/core/build/src/objects/_abap_object.js ***!
|
|
@@ -44589,6 +44678,7 @@ class MessageClass extends _abstract_object_1.AbstractObject {
|
|
|
44589
44678
|
return msg ? msg : [];
|
|
44590
44679
|
}
|
|
44591
44680
|
getByNumber(num) {
|
|
44681
|
+
// todo, optimize performance,
|
|
44592
44682
|
for (const message of this.getMessages()) {
|
|
44593
44683
|
if (message.getNumber() === num) {
|
|
44594
44684
|
return message;
|
|
@@ -47550,6 +47640,7 @@ const find_global_definitions_1 = __webpack_require__(/*! ./abap/5_syntax/global
|
|
|
47550
47640
|
const excludeHelper_1 = __webpack_require__(/*! ./utils/excludeHelper */ "./node_modules/@abaplint/core/build/src/utils/excludeHelper.js");
|
|
47551
47641
|
const ddic_references_1 = __webpack_require__(/*! ./ddic_references */ "./node_modules/@abaplint/core/build/src/ddic_references.js");
|
|
47552
47642
|
const rules_runner_1 = __webpack_require__(/*! ./rules_runner */ "./node_modules/@abaplint/core/build/src/rules_runner.js");
|
|
47643
|
+
const msag_references_1 = __webpack_require__(/*! ./msag_references */ "./node_modules/@abaplint/core/build/src/msag_references.js");
|
|
47553
47644
|
// todo, this should really be an instance in case there are multiple Registry'ies
|
|
47554
47645
|
class ParsingPerformance {
|
|
47555
47646
|
static clear() {
|
|
@@ -47602,14 +47693,18 @@ class Registry {
|
|
|
47602
47693
|
this.objectsByType = {};
|
|
47603
47694
|
this.dependencies = {};
|
|
47604
47695
|
this.conf = conf ? conf : config_1.Config.getDefault();
|
|
47605
|
-
this.
|
|
47696
|
+
this.ddicReferences = new ddic_references_1.DDICReferences();
|
|
47697
|
+
this.msagReferences = new msag_references_1.MSAGReferences();
|
|
47606
47698
|
}
|
|
47607
47699
|
static abaplintVersion() {
|
|
47608
47700
|
// magic, see build script "version.sh"
|
|
47609
|
-
return "2.
|
|
47701
|
+
return "2.100.0";
|
|
47610
47702
|
}
|
|
47611
47703
|
getDDICReferences() {
|
|
47612
|
-
return this.
|
|
47704
|
+
return this.ddicReferences;
|
|
47705
|
+
}
|
|
47706
|
+
getMSAGReferences() {
|
|
47707
|
+
return this.msagReferences;
|
|
47613
47708
|
}
|
|
47614
47709
|
*getObjects() {
|
|
47615
47710
|
for (const name in this.objects) {
|
|
@@ -47697,7 +47792,8 @@ class Registry {
|
|
|
47697
47792
|
const obj = this.find(file.getObjectName(), file.getObjectType());
|
|
47698
47793
|
obj.removeFile(file);
|
|
47699
47794
|
if (obj.getFiles().length === 0) {
|
|
47700
|
-
this.
|
|
47795
|
+
this.ddicReferences.clear(obj);
|
|
47796
|
+
this.msagReferences.clear(obj);
|
|
47701
47797
|
this.removeObject(obj);
|
|
47702
47798
|
}
|
|
47703
47799
|
return this;
|
|
@@ -54903,6 +54999,88 @@ exports.Downport = Downport;
|
|
|
54903
54999
|
|
|
54904
55000
|
/***/ }),
|
|
54905
55001
|
|
|
55002
|
+
/***/ "./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js":
|
|
55003
|
+
/*!******************************************************************************!*\
|
|
55004
|
+
!*** ./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js ***!
|
|
55005
|
+
\******************************************************************************/
|
|
55006
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
55007
|
+
|
|
55008
|
+
"use strict";
|
|
55009
|
+
|
|
55010
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
55011
|
+
exports.EasyToFindMessages = exports.EasyToFindMessagesConf = void 0;
|
|
55012
|
+
const issue_1 = __webpack_require__(/*! ../issue */ "./node_modules/@abaplint/core/build/src/issue.js");
|
|
55013
|
+
const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/core/build/src/rules/_irule.js");
|
|
55014
|
+
const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js");
|
|
55015
|
+
const position_1 = __webpack_require__(/*! ../position */ "./node_modules/@abaplint/core/build/src/position.js");
|
|
55016
|
+
const syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js");
|
|
55017
|
+
const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js");
|
|
55018
|
+
class EasyToFindMessagesConf extends _basic_rule_config_1.BasicRuleConfig {
|
|
55019
|
+
}
|
|
55020
|
+
exports.EasyToFindMessagesConf = EasyToFindMessagesConf;
|
|
55021
|
+
class EasyToFindMessages {
|
|
55022
|
+
constructor() {
|
|
55023
|
+
this.conf = new EasyToFindMessagesConf();
|
|
55024
|
+
}
|
|
55025
|
+
getMetadata() {
|
|
55026
|
+
return {
|
|
55027
|
+
key: "easy_to_find_messages",
|
|
55028
|
+
title: "Easy to find messages",
|
|
55029
|
+
shortDescription: `Make messages easy to find`,
|
|
55030
|
+
extendedInformation: `All messages must be statically referenced exactly once
|
|
55031
|
+
|
|
55032
|
+
Only MESSAGE and RAISE statments are counted as static references
|
|
55033
|
+
|
|
55034
|
+
Also see rule "message_exists"
|
|
55035
|
+
|
|
55036
|
+
https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#make-messages-easy-to-find`,
|
|
55037
|
+
tags: [_irule_1.RuleTag.Styleguide],
|
|
55038
|
+
};
|
|
55039
|
+
}
|
|
55040
|
+
getConfig() {
|
|
55041
|
+
return this.conf;
|
|
55042
|
+
}
|
|
55043
|
+
setConfig(conf) {
|
|
55044
|
+
this.conf = conf;
|
|
55045
|
+
}
|
|
55046
|
+
initialize(reg) {
|
|
55047
|
+
this.msagReferences = reg.getMSAGReferences();
|
|
55048
|
+
// the SyntaxLogic builds the references
|
|
55049
|
+
for (const obj of reg.getObjects()) {
|
|
55050
|
+
if (obj instanceof _abap_object_1.ABAPObject) {
|
|
55051
|
+
new syntax_1.SyntaxLogic(reg, obj).run();
|
|
55052
|
+
}
|
|
55053
|
+
}
|
|
55054
|
+
return this;
|
|
55055
|
+
}
|
|
55056
|
+
run(object) {
|
|
55057
|
+
const issues = [];
|
|
55058
|
+
if (object.getType() === "MSAG") {
|
|
55059
|
+
const msag = object;
|
|
55060
|
+
for (const message of msag.getMessages()) {
|
|
55061
|
+
const where = this.msagReferences.listByMessage(msag.getName().toUpperCase(), message.getNumber());
|
|
55062
|
+
if (where.length === 0) {
|
|
55063
|
+
const text = `Message ${message.getNumber()} not statically referenced`;
|
|
55064
|
+
const position = new position_1.Position(1, 1);
|
|
55065
|
+
const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
|
|
55066
|
+
issues.push(issue);
|
|
55067
|
+
}
|
|
55068
|
+
else if (where.length >= 2) {
|
|
55069
|
+
const text = `Message ${message.getNumber()} referenced more than once`;
|
|
55070
|
+
const position = new position_1.Position(1, 1);
|
|
55071
|
+
const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
|
|
55072
|
+
issues.push(issue);
|
|
55073
|
+
}
|
|
55074
|
+
}
|
|
55075
|
+
}
|
|
55076
|
+
return issues;
|
|
55077
|
+
}
|
|
55078
|
+
}
|
|
55079
|
+
exports.EasyToFindMessages = EasyToFindMessages;
|
|
55080
|
+
//# sourceMappingURL=easy_to_find_messages.js.map
|
|
55081
|
+
|
|
55082
|
+
/***/ }),
|
|
55083
|
+
|
|
54906
55084
|
/***/ "./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js":
|
|
54907
55085
|
/*!********************************************************************************!*\
|
|
54908
55086
|
!*** ./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js ***!
|
|
@@ -57511,6 +57689,7 @@ __exportStar(__webpack_require__(/*! ./definitions_top */ "./node_modules/@abapl
|
|
|
57511
57689
|
__exportStar(__webpack_require__(/*! ./description_empty */ "./node_modules/@abaplint/core/build/src/rules/description_empty.js"), exports);
|
|
57512
57690
|
__exportStar(__webpack_require__(/*! ./double_space */ "./node_modules/@abaplint/core/build/src/rules/double_space.js"), exports);
|
|
57513
57691
|
__exportStar(__webpack_require__(/*! ./downport */ "./node_modules/@abaplint/core/build/src/rules/downport.js"), exports);
|
|
57692
|
+
__exportStar(__webpack_require__(/*! ./easy_to_find_messages */ "./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js"), exports);
|
|
57514
57693
|
__exportStar(__webpack_require__(/*! ./empty_line_in_statement */ "./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js"), exports);
|
|
57515
57694
|
__exportStar(__webpack_require__(/*! ./empty_statement */ "./node_modules/@abaplint/core/build/src/rules/empty_statement.js"), exports);
|
|
57516
57695
|
__exportStar(__webpack_require__(/*! ./empty_structure */ "./node_modules/@abaplint/core/build/src/rules/empty_structure.js"), exports);
|
|
@@ -59982,6 +60161,7 @@ class MSAGConsistency {
|
|
|
59982
60161
|
key: "msag_consistency",
|
|
59983
60162
|
title: "MSAG consistency check",
|
|
59984
60163
|
shortDescription: `Checks the validity of messages in message classes`,
|
|
60164
|
+
extendedInformation: `Message numbers must be 3 digits, and message text must not be empty`,
|
|
59985
60165
|
};
|
|
59986
60166
|
}
|
|
59987
60167
|
getDescription(reason) {
|
|
@@ -63593,6 +63773,10 @@ If the target is a sorted/hashed table, no issue is reported`,
|
|
|
63593
63773
|
if (this.isTargetSortedOrHashed(s, spaghetti, file)) {
|
|
63594
63774
|
continue;
|
|
63595
63775
|
}
|
|
63776
|
+
else if (s.findFirstExpression(Expressions.SQLJoin) && s.findFirstExpression(Expressions.SQLForAllEntries)) {
|
|
63777
|
+
// see https://github.com/abaplint/abaplint/issues/2957
|
|
63778
|
+
continue;
|
|
63779
|
+
}
|
|
63596
63780
|
issues.push(issue_1.Issue.atStatement(file, s, "Add ORDER BY", this.getMetadata().key, this.conf.severity));
|
|
63597
63781
|
}
|
|
63598
63782
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.100.0",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
|
+
"funding": "https://github.com/sponsors/larshp",
|
|
5
6
|
"bin": {
|
|
6
7
|
"abaplint": "./abaplint"
|
|
7
8
|
},
|
|
@@ -37,12 +38,12 @@
|
|
|
37
38
|
},
|
|
38
39
|
"homepage": "https://abaplint.org",
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@abaplint/core": "^2.
|
|
41
|
+
"@abaplint/core": "^2.100.0",
|
|
41
42
|
"@types/chai": "^4.3.5",
|
|
42
43
|
"@types/glob": "^7.2.0",
|
|
43
44
|
"@types/minimist": "^1.2.2",
|
|
44
45
|
"@types/mocha": "^10.0.1",
|
|
45
|
-
"@types/node": "^20.1.
|
|
46
|
+
"@types/node": "^20.1.3",
|
|
46
47
|
"@types/progress": "^2.0.5",
|
|
47
48
|
"chai": "^4.3.7",
|
|
48
49
|
"chalk": "^5.2.0",
|