@abaplint/cli 2.102.1 → 2.102.3

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 +174 -143
  2. package/package.json +4 -4
package/build/cli.js CHANGED
@@ -19631,7 +19631,7 @@ BuiltIn.methods = [
19631
19631
  {
19632
19632
  name: "BOOLC",
19633
19633
  mandatory: {
19634
- "val": new basic_1.CLikeType(),
19634
+ "val": basic_1.CLikeType.get(),
19635
19635
  },
19636
19636
  return: basic_1.StringType.get(),
19637
19637
  version: version_1.Version.v702,
@@ -19639,7 +19639,7 @@ BuiltIn.methods = [
19639
19639
  {
19640
19640
  name: "BOOLX",
19641
19641
  mandatory: {
19642
- "bool": new basic_1.CLikeType(),
19642
+ "bool": basic_1.CLikeType.get(),
19643
19643
  },
19644
19644
  optional: {
19645
19645
  "bit": basic_1.IntegerType.get(),
@@ -19657,7 +19657,7 @@ BuiltIn.methods = [
19657
19657
  {
19658
19658
  name: "CHAR_OFF",
19659
19659
  mandatory: {
19660
- "val": new basic_1.CLikeType(),
19660
+ "val": basic_1.CLikeType.get(),
19661
19661
  "add": basic_1.IntegerType.get(),
19662
19662
  },
19663
19663
  optional: {
@@ -19669,23 +19669,23 @@ BuiltIn.methods = [
19669
19669
  {
19670
19670
  name: "CHARLEN",
19671
19671
  mandatory: {
19672
- "val": new basic_1.CLikeType(),
19672
+ "val": basic_1.CLikeType.get(),
19673
19673
  },
19674
19674
  return: basic_1.IntegerType.get(),
19675
19675
  },
19676
19676
  {
19677
19677
  name: "CMAX",
19678
19678
  mandatory: {
19679
- "val1": new basic_1.CLikeType(),
19680
- "val2": new basic_1.CLikeType(),
19679
+ "val1": basic_1.CLikeType.get(),
19680
+ "val2": basic_1.CLikeType.get(),
19681
19681
  },
19682
19682
  optional: {
19683
- "val3": new basic_1.CLikeType(),
19684
- "val4": new basic_1.CLikeType(),
19685
- "val5": new basic_1.CLikeType(),
19686
- "val6": new basic_1.CLikeType(),
19687
- "val7": new basic_1.CLikeType(),
19688
- "val9": new basic_1.CLikeType(),
19683
+ "val3": basic_1.CLikeType.get(),
19684
+ "val4": basic_1.CLikeType.get(),
19685
+ "val5": basic_1.CLikeType.get(),
19686
+ "val6": basic_1.CLikeType.get(),
19687
+ "val7": basic_1.CLikeType.get(),
19688
+ "val9": basic_1.CLikeType.get(),
19689
19689
  },
19690
19690
  return: basic_1.StringType.get(),
19691
19691
  version: version_1.Version.v702,
@@ -19693,16 +19693,16 @@ BuiltIn.methods = [
19693
19693
  {
19694
19694
  name: "CMIN",
19695
19695
  mandatory: {
19696
- "val1": new basic_1.CLikeType(),
19697
- "val2": new basic_1.CLikeType(),
19696
+ "val1": basic_1.CLikeType.get(),
19697
+ "val2": basic_1.CLikeType.get(),
19698
19698
  },
19699
19699
  optional: {
19700
- "val3": new basic_1.CLikeType(),
19701
- "val4": new basic_1.CLikeType(),
19702
- "val5": new basic_1.CLikeType(),
19703
- "val6": new basic_1.CLikeType(),
19704
- "val7": new basic_1.CLikeType(),
19705
- "val9": new basic_1.CLikeType(),
19700
+ "val3": basic_1.CLikeType.get(),
19701
+ "val4": basic_1.CLikeType.get(),
19702
+ "val5": basic_1.CLikeType.get(),
19703
+ "val6": basic_1.CLikeType.get(),
19704
+ "val7": basic_1.CLikeType.get(),
19705
+ "val9": basic_1.CLikeType.get(),
19706
19706
  },
19707
19707
  return: basic_1.StringType.get(),
19708
19708
  version: version_1.Version.v702,
@@ -19713,7 +19713,7 @@ BuiltIn.methods = [
19713
19713
  "table": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),
19714
19714
  },
19715
19715
  optional: {
19716
- "sep": new basic_1.CLikeType(),
19716
+ "sep": basic_1.CLikeType.get(),
19717
19717
  },
19718
19718
  return: basic_1.StringType.get(),
19719
19719
  version: version_1.Version.v702,
@@ -19721,12 +19721,12 @@ BuiltIn.methods = [
19721
19721
  {
19722
19722
  name: "CONDENSE",
19723
19723
  mandatory: {
19724
- "val": new basic_1.CLikeType(),
19724
+ "val": basic_1.CLikeType.get(),
19725
19725
  },
19726
19726
  optional: {
19727
- "del": new basic_1.CLikeType(),
19728
- "from": new basic_1.CLikeType(),
19729
- "to": new basic_1.CLikeType(),
19727
+ "del": basic_1.CLikeType.get(),
19728
+ "from": basic_1.CLikeType.get(),
19729
+ "to": basic_1.CLikeType.get(),
19730
19730
  },
19731
19731
  return: basic_1.StringType.get(),
19732
19732
  version: version_1.Version.v702,
@@ -19734,14 +19734,14 @@ BuiltIn.methods = [
19734
19734
  {
19735
19735
  name: "CONTAINS",
19736
19736
  mandatory: {
19737
- "val": new basic_1.CLikeType(),
19737
+ "val": basic_1.CLikeType.get(),
19738
19738
  },
19739
19739
  optional: {
19740
- "sub": new basic_1.CLikeType(),
19741
- "start": new basic_1.CLikeType(),
19742
- "end": new basic_1.CLikeType(),
19743
- "regex": new basic_1.CLikeType(),
19744
- "pcre": new basic_1.CLikeType(),
19740
+ "sub": basic_1.CLikeType.get(),
19741
+ "start": basic_1.CLikeType.get(),
19742
+ "end": basic_1.CLikeType.get(),
19743
+ "regex": basic_1.CLikeType.get(),
19744
+ "pcre": basic_1.CLikeType.get(),
19745
19745
  "case": new basic_1.CharacterType(1),
19746
19746
  "off": basic_1.IntegerType.get(),
19747
19747
  "len": basic_1.IntegerType.get(),
@@ -19754,12 +19754,12 @@ BuiltIn.methods = [
19754
19754
  {
19755
19755
  name: "CONTAINS_ANY_NOT_OF",
19756
19756
  mandatory: {
19757
- "val": new basic_1.CLikeType(),
19757
+ "val": basic_1.CLikeType.get(),
19758
19758
  },
19759
19759
  optional: {
19760
- "sub": new basic_1.CLikeType(),
19761
- "start": new basic_1.CLikeType(),
19762
- "end": new basic_1.CLikeType(),
19760
+ "sub": basic_1.CLikeType.get(),
19761
+ "start": basic_1.CLikeType.get(),
19762
+ "end": basic_1.CLikeType.get(),
19763
19763
  "off": basic_1.IntegerType.get(),
19764
19764
  "len": basic_1.IntegerType.get(),
19765
19765
  "occ": basic_1.IntegerType.get(),
@@ -19770,12 +19770,12 @@ BuiltIn.methods = [
19770
19770
  {
19771
19771
  name: "CONTAINS_ANY_OF",
19772
19772
  mandatory: {
19773
- "val": new basic_1.CLikeType(),
19773
+ "val": basic_1.CLikeType.get(),
19774
19774
  },
19775
19775
  optional: {
19776
- "sub": new basic_1.CLikeType(),
19777
- "start": new basic_1.CLikeType(),
19778
- "end": new basic_1.CLikeType(),
19776
+ "sub": basic_1.CLikeType.get(),
19777
+ "start": basic_1.CLikeType.get(),
19778
+ "end": basic_1.CLikeType.get(),
19779
19779
  "off": basic_1.IntegerType.get(),
19780
19780
  "len": basic_1.IntegerType.get(),
19781
19781
  "occ": basic_1.IntegerType.get(),
@@ -19801,12 +19801,12 @@ BuiltIn.methods = [
19801
19801
  {
19802
19802
  name: "COUNT",
19803
19803
  mandatory: {
19804
- "val": new basic_1.CLikeType(),
19804
+ "val": basic_1.CLikeType.get(),
19805
19805
  },
19806
19806
  optional: {
19807
- "sub": new basic_1.CLikeType(),
19808
- "regex": new basic_1.CLikeType(),
19809
- "pcre": new basic_1.CLikeType(),
19807
+ "sub": basic_1.CLikeType.get(),
19808
+ "regex": basic_1.CLikeType.get(),
19809
+ "pcre": basic_1.CLikeType.get(),
19810
19810
  "case": new basic_1.CharacterType(1),
19811
19811
  "off": basic_1.IntegerType.get(),
19812
19812
  "len": basic_1.IntegerType.get(),
@@ -19817,12 +19817,12 @@ BuiltIn.methods = [
19817
19817
  {
19818
19818
  name: "COUNT_ANY_NOT_OF",
19819
19819
  mandatory: {
19820
- "val": new basic_1.CLikeType(),
19820
+ "val": basic_1.CLikeType.get(),
19821
19821
  },
19822
19822
  optional: {
19823
- "sub": new basic_1.CLikeType(),
19824
- "regex": new basic_1.CLikeType(),
19825
- "pcre": new basic_1.CLikeType(),
19823
+ "sub": basic_1.CLikeType.get(),
19824
+ "regex": basic_1.CLikeType.get(),
19825
+ "pcre": basic_1.CLikeType.get(),
19826
19826
  "case": new basic_1.CharacterType(1),
19827
19827
  "off": basic_1.IntegerType.get(),
19828
19828
  "len": basic_1.IntegerType.get(),
@@ -19833,12 +19833,12 @@ BuiltIn.methods = [
19833
19833
  {
19834
19834
  name: "COUNT_ANY_OF",
19835
19835
  mandatory: {
19836
- "val": new basic_1.CLikeType(),
19836
+ "val": basic_1.CLikeType.get(),
19837
19837
  },
19838
19838
  optional: {
19839
- "sub": new basic_1.CLikeType(),
19840
- "regex": new basic_1.CLikeType(),
19841
- "pcre": new basic_1.CLikeType(),
19839
+ "sub": basic_1.CLikeType.get(),
19840
+ "regex": basic_1.CLikeType.get(),
19841
+ "pcre": basic_1.CLikeType.get(),
19842
19842
  "case": new basic_1.CharacterType(1),
19843
19843
  "off": basic_1.IntegerType.get(),
19844
19844
  "len": basic_1.IntegerType.get(),
@@ -19849,15 +19849,15 @@ BuiltIn.methods = [
19849
19849
  {
19850
19850
  name: "DBMAXLEN",
19851
19851
  mandatory: {
19852
- "val": new basic_1.CLikeType(),
19852
+ "val": basic_1.CLikeType.get(),
19853
19853
  },
19854
19854
  return: basic_1.IntegerType.get(),
19855
19855
  },
19856
19856
  {
19857
19857
  name: "DISTANCE",
19858
19858
  mandatory: {
19859
- "val1": new basic_1.CLikeType(),
19860
- "val2": new basic_1.CLikeType(),
19859
+ "val1": basic_1.CLikeType.get(),
19860
+ "val2": basic_1.CLikeType.get(),
19861
19861
  },
19862
19862
  return: basic_1.IntegerType.get(),
19863
19863
  version: version_1.Version.v702,
@@ -19865,8 +19865,8 @@ BuiltIn.methods = [
19865
19865
  {
19866
19866
  name: "ESCAPE",
19867
19867
  mandatory: {
19868
- "val": new basic_1.CLikeType(),
19869
- "format": new basic_1.CLikeType(),
19868
+ "val": basic_1.CLikeType.get(),
19869
+ "format": basic_1.CLikeType.get(),
19870
19870
  },
19871
19871
  return: basic_1.StringType.get(),
19872
19872
  version: version_1.Version.v702,
@@ -19881,12 +19881,12 @@ BuiltIn.methods = [
19881
19881
  {
19882
19882
  name: "FIND",
19883
19883
  mandatory: {
19884
- "val": new basic_1.CLikeType(),
19884
+ "val": basic_1.CLikeType.get(),
19885
19885
  },
19886
19886
  optional: {
19887
- "sub": new basic_1.CLikeType(),
19888
- "regex": new basic_1.CLikeType(),
19889
- "pcre": new basic_1.CLikeType(),
19887
+ "sub": basic_1.CLikeType.get(),
19888
+ "regex": basic_1.CLikeType.get(),
19889
+ "pcre": basic_1.CLikeType.get(),
19890
19890
  "case": new basic_1.CharacterType(1),
19891
19891
  "off": basic_1.IntegerType.get(),
19892
19892
  "len": basic_1.IntegerType.get(),
@@ -19898,10 +19898,10 @@ BuiltIn.methods = [
19898
19898
  {
19899
19899
  name: "FIND_ANY_NOT_OF",
19900
19900
  mandatory: {
19901
- "val": new basic_1.CLikeType(),
19901
+ "val": basic_1.CLikeType.get(),
19902
19902
  },
19903
19903
  optional: {
19904
- "sub": new basic_1.CLikeType(),
19904
+ "sub": basic_1.CLikeType.get(),
19905
19905
  "off": basic_1.IntegerType.get(),
19906
19906
  "len": basic_1.IntegerType.get(),
19907
19907
  "occ": basic_1.IntegerType.get(),
@@ -19912,10 +19912,10 @@ BuiltIn.methods = [
19912
19912
  {
19913
19913
  name: "FIND_ANY_OF",
19914
19914
  mandatory: {
19915
- "val": new basic_1.CLikeType(),
19915
+ "val": basic_1.CLikeType.get(),
19916
19916
  },
19917
19917
  optional: {
19918
- "sub": new basic_1.CLikeType(),
19918
+ "sub": basic_1.CLikeType.get(),
19919
19919
  "off": basic_1.IntegerType.get(),
19920
19920
  "len": basic_1.IntegerType.get(),
19921
19921
  "occ": basic_1.IntegerType.get(),
@@ -19926,12 +19926,12 @@ BuiltIn.methods = [
19926
19926
  {
19927
19927
  name: "FIND_END",
19928
19928
  mandatory: {
19929
- "val": new basic_1.CLikeType(),
19929
+ "val": basic_1.CLikeType.get(),
19930
19930
  },
19931
19931
  optional: {
19932
- "sub": new basic_1.CLikeType(),
19933
- "regex": new basic_1.CLikeType(),
19934
- "pcre": new basic_1.CLikeType(),
19932
+ "sub": basic_1.CLikeType.get(),
19933
+ "regex": basic_1.CLikeType.get(),
19934
+ "pcre": basic_1.CLikeType.get(),
19935
19935
  "case": new basic_1.CharacterType(1),
19936
19936
  "off": basic_1.IntegerType.get(),
19937
19937
  "len": basic_1.IntegerType.get(),
@@ -19957,7 +19957,7 @@ BuiltIn.methods = [
19957
19957
  {
19958
19958
  name: "FROM_MIXED",
19959
19959
  mandatory: {
19960
- "val": new basic_1.CLikeType()
19960
+ "val": basic_1.CLikeType.get()
19961
19961
  },
19962
19962
  optional: {
19963
19963
  "case": new basic_1.CharacterType(1),
@@ -19970,8 +19970,8 @@ BuiltIn.methods = [
19970
19970
  {
19971
19971
  name: "INSERT",
19972
19972
  mandatory: {
19973
- "val": new basic_1.CLikeType(),
19974
- "sub": new basic_1.CLikeType(),
19973
+ "val": basic_1.CLikeType.get(),
19974
+ "sub": basic_1.CLikeType.get(),
19975
19975
  },
19976
19976
  optional: {
19977
19977
  "off": basic_1.IntegerType.get(),
@@ -20000,7 +20000,7 @@ BuiltIn.methods = [
20000
20000
  {
20001
20001
  name: "LINE_INDEX",
20002
20002
  mandatory: {
20003
- "val": new basic_1.CLikeType(),
20003
+ "val": basic_1.CLikeType.get(),
20004
20004
  },
20005
20005
  return: basic_1.IntegerType.get(),
20006
20006
  version: version_1.Version.v740sp02,
@@ -20029,11 +20029,11 @@ BuiltIn.methods = [
20029
20029
  {
20030
20030
  name: "MATCH",
20031
20031
  mandatory: {
20032
- "val": new basic_1.CLikeType(),
20032
+ "val": basic_1.CLikeType.get(),
20033
20033
  }, optional: {
20034
20034
  "case": new basic_1.CharacterType(1),
20035
- "regex": new basic_1.CLikeType(),
20036
- "pcre": new basic_1.CLikeType(),
20035
+ "regex": basic_1.CLikeType.get(),
20036
+ "pcre": basic_1.CLikeType.get(),
20037
20037
  "occ": basic_1.IntegerType.get(),
20038
20038
  },
20039
20039
  return: basic_1.StringType.get(),
@@ -20042,12 +20042,12 @@ BuiltIn.methods = [
20042
20042
  {
20043
20043
  name: "MATCHES",
20044
20044
  mandatory: {
20045
- "val": new basic_1.CLikeType(),
20045
+ "val": basic_1.CLikeType.get(),
20046
20046
  },
20047
20047
  optional: {
20048
20048
  "case": new basic_1.CharacterType(1),
20049
- "regex": new basic_1.CLikeType(),
20050
- "pcre": new basic_1.CLikeType(),
20049
+ "regex": basic_1.CLikeType.get(),
20050
+ "pcre": basic_1.CLikeType.get(),
20051
20051
  "off": basic_1.IntegerType.get(),
20052
20052
  "len": basic_1.IntegerType.get(),
20053
20053
  },
@@ -20058,17 +20058,17 @@ BuiltIn.methods = [
20058
20058
  {
20059
20059
  name: "NMAX",
20060
20060
  mandatory: {
20061
- "val1": new basic_1.CLikeType(),
20062
- "val2": new basic_1.CLikeType(),
20061
+ "val1": basic_1.CLikeType.get(),
20062
+ "val2": basic_1.CLikeType.get(),
20063
20063
  },
20064
20064
  optional: {
20065
- "val3": new basic_1.CLikeType(),
20066
- "val4": new basic_1.CLikeType(),
20067
- "val5": new basic_1.CLikeType(),
20068
- "val6": new basic_1.CLikeType(),
20069
- "val7": new basic_1.CLikeType(),
20070
- "val8": new basic_1.CLikeType(),
20071
- "val9": new basic_1.CLikeType(),
20065
+ "val3": basic_1.CLikeType.get(),
20066
+ "val4": basic_1.CLikeType.get(),
20067
+ "val5": basic_1.CLikeType.get(),
20068
+ "val6": basic_1.CLikeType.get(),
20069
+ "val7": basic_1.CLikeType.get(),
20070
+ "val8": basic_1.CLikeType.get(),
20071
+ "val9": basic_1.CLikeType.get(),
20072
20072
  },
20073
20073
  return: basic_1.IntegerType.get(),
20074
20074
  version: version_1.Version.v702,
@@ -20076,17 +20076,17 @@ BuiltIn.methods = [
20076
20076
  {
20077
20077
  name: "NMIN",
20078
20078
  mandatory: {
20079
- "val1": new basic_1.CLikeType(),
20080
- "val2": new basic_1.CLikeType(),
20079
+ "val1": basic_1.CLikeType.get(),
20080
+ "val2": basic_1.CLikeType.get(),
20081
20081
  },
20082
20082
  optional: {
20083
- "val3": new basic_1.CLikeType(),
20084
- "val4": new basic_1.CLikeType(),
20085
- "val5": new basic_1.CLikeType(),
20086
- "val6": new basic_1.CLikeType(),
20087
- "val7": new basic_1.CLikeType(),
20088
- "val8": new basic_1.CLikeType(),
20089
- "val9": new basic_1.CLikeType(),
20083
+ "val3": basic_1.CLikeType.get(),
20084
+ "val4": basic_1.CLikeType.get(),
20085
+ "val5": basic_1.CLikeType.get(),
20086
+ "val6": basic_1.CLikeType.get(),
20087
+ "val7": basic_1.CLikeType.get(),
20088
+ "val8": basic_1.CLikeType.get(),
20089
+ "val9": basic_1.CLikeType.get(),
20090
20090
  },
20091
20091
  return: basic_1.IntegerType.get(),
20092
20092
  version: version_1.Version.v702,
@@ -20094,15 +20094,15 @@ BuiltIn.methods = [
20094
20094
  {
20095
20095
  name: "NUMOFCHAR",
20096
20096
  mandatory: {
20097
- "val": new basic_1.CLikeType(),
20097
+ "val": basic_1.CLikeType.get(),
20098
20098
  },
20099
20099
  return: basic_1.IntegerType.get(),
20100
20100
  },
20101
20101
  {
20102
20102
  name: "REPEAT",
20103
20103
  mandatory: {
20104
- "val": new basic_1.CLikeType(),
20105
- "occ": basic_1.IntegerType.get(),
20104
+ "val": basic_1.CLikeType.get(),
20105
+ "occ": basic_1.CLikeType.get(),
20106
20106
  },
20107
20107
  return: basic_1.StringType.get(),
20108
20108
  version: version_1.Version.v702,
@@ -20110,13 +20110,13 @@ BuiltIn.methods = [
20110
20110
  {
20111
20111
  name: "REPLACE",
20112
20112
  mandatory: {
20113
- "val": new basic_1.CLikeType(),
20114
- "with": new basic_1.CLikeType(),
20113
+ "val": basic_1.CLikeType.get(),
20114
+ "with": basic_1.CLikeType.get(),
20115
20115
  },
20116
20116
  optional: {
20117
- "sub": new basic_1.CLikeType(),
20118
- "regex": new basic_1.CLikeType(),
20119
- "pcre": new basic_1.CLikeType(),
20117
+ "sub": basic_1.CLikeType.get(),
20118
+ "regex": basic_1.CLikeType.get(),
20119
+ "pcre": basic_1.CLikeType.get(),
20120
20120
  "case": new basic_1.CharacterType(1),
20121
20121
  "off": basic_1.IntegerType.get(),
20122
20122
  "len": basic_1.IntegerType.get(),
@@ -20141,7 +20141,7 @@ BuiltIn.methods = [
20141
20141
  {
20142
20142
  name: "REVERSE",
20143
20143
  mandatory: {
20144
- "val": new basic_1.CLikeType(),
20144
+ "val": basic_1.CLikeType.get(),
20145
20145
  },
20146
20146
  return: basic_1.StringType.get(),
20147
20147
  version: version_1.Version.v702,
@@ -20162,12 +20162,12 @@ BuiltIn.methods = [
20162
20162
  {
20163
20163
  name: "SEGMENT",
20164
20164
  mandatory: {
20165
- "val": new basic_1.CLikeType(),
20165
+ "val": basic_1.CLikeType.get(),
20166
20166
  "index": basic_1.IntegerType.get(),
20167
20167
  },
20168
20168
  optional: {
20169
- "sep": new basic_1.CLikeType(),
20170
- "space": new basic_1.CLikeType(),
20169
+ "sep": basic_1.CLikeType.get(),
20170
+ "space": basic_1.CLikeType.get(),
20171
20171
  },
20172
20172
  return: basic_1.StringType.get(),
20173
20173
  version: version_1.Version.v702,
@@ -20175,10 +20175,10 @@ BuiltIn.methods = [
20175
20175
  {
20176
20176
  name: "SHIFT_LEFT",
20177
20177
  mandatory: {
20178
- "val": new basic_1.CLikeType(),
20178
+ "val": basic_1.CLikeType.get(),
20179
20179
  },
20180
20180
  optional: {
20181
- "sub": new basic_1.CLikeType(),
20181
+ "sub": basic_1.CLikeType.get(),
20182
20182
  "places": basic_1.IntegerType.get(),
20183
20183
  "circular": basic_1.IntegerType.get(),
20184
20184
  },
@@ -20188,10 +20188,10 @@ BuiltIn.methods = [
20188
20188
  {
20189
20189
  name: "SHIFT_RIGHT",
20190
20190
  mandatory: {
20191
- "val": new basic_1.CLikeType(),
20191
+ "val": basic_1.CLikeType.get(),
20192
20192
  },
20193
20193
  optional: {
20194
- "sub": new basic_1.CLikeType(),
20194
+ "sub": basic_1.CLikeType.get(),
20195
20195
  "places": basic_1.IntegerType.get(),
20196
20196
  "circular": basic_1.IntegerType.get(),
20197
20197
  },
@@ -20229,14 +20229,14 @@ BuiltIn.methods = [
20229
20229
  {
20230
20230
  name: "STRLEN",
20231
20231
  mandatory: {
20232
- "val": new basic_1.CLikeType(),
20232
+ "val": basic_1.CLikeType.get(),
20233
20233
  },
20234
20234
  return: basic_1.IntegerType.get(),
20235
20235
  },
20236
20236
  {
20237
20237
  name: "SUBSTRING",
20238
20238
  mandatory: {
20239
- "val": new basic_1.CLikeType(),
20239
+ "val": basic_1.CLikeType.get(),
20240
20240
  },
20241
20241
  optional: {
20242
20242
  "off": basic_1.IntegerType.get(),
@@ -20248,12 +20248,12 @@ BuiltIn.methods = [
20248
20248
  {
20249
20249
  name: "SUBSTRING_AFTER",
20250
20250
  mandatory: {
20251
- "val": new basic_1.CLikeType(),
20251
+ "val": basic_1.CLikeType.get(),
20252
20252
  },
20253
20253
  optional: {
20254
- "sub": new basic_1.CLikeType(),
20255
- "regex": new basic_1.CLikeType(),
20256
- "pcre": new basic_1.CLikeType(),
20254
+ "sub": basic_1.CLikeType.get(),
20255
+ "regex": basic_1.CLikeType.get(),
20256
+ "pcre": basic_1.CLikeType.get(),
20257
20257
  "case": new basic_1.CharacterType(1),
20258
20258
  "len": basic_1.IntegerType.get(),
20259
20259
  "occ": basic_1.IntegerType.get(),
@@ -20264,12 +20264,12 @@ BuiltIn.methods = [
20264
20264
  {
20265
20265
  name: "SUBSTRING_BEFORE",
20266
20266
  mandatory: {
20267
- "val": new basic_1.CLikeType(),
20267
+ "val": basic_1.CLikeType.get(),
20268
20268
  },
20269
20269
  optional: {
20270
- "sub": new basic_1.CLikeType(),
20271
- "regex": new basic_1.CLikeType(),
20272
- "pcre": new basic_1.CLikeType(),
20270
+ "sub": basic_1.CLikeType.get(),
20271
+ "regex": basic_1.CLikeType.get(),
20272
+ "pcre": basic_1.CLikeType.get(),
20273
20273
  "case": new basic_1.CharacterType(1),
20274
20274
  "len": basic_1.IntegerType.get(),
20275
20275
  "occ": basic_1.IntegerType.get(),
@@ -20280,12 +20280,12 @@ BuiltIn.methods = [
20280
20280
  {
20281
20281
  name: "SUBSTRING_FROM",
20282
20282
  mandatory: {
20283
- "val": new basic_1.CLikeType(),
20283
+ "val": basic_1.CLikeType.get(),
20284
20284
  },
20285
20285
  optional: {
20286
- "sub": new basic_1.CLikeType(),
20287
- "regex": new basic_1.CLikeType(),
20288
- "pcre": new basic_1.CLikeType(),
20286
+ "sub": basic_1.CLikeType.get(),
20287
+ "regex": basic_1.CLikeType.get(),
20288
+ "pcre": basic_1.CLikeType.get(),
20289
20289
  "case": new basic_1.CharacterType(1),
20290
20290
  "len": basic_1.IntegerType.get(),
20291
20291
  "occ": basic_1.IntegerType.get(),
@@ -20296,12 +20296,12 @@ BuiltIn.methods = [
20296
20296
  {
20297
20297
  name: "SUBSTRING_TO",
20298
20298
  mandatory: {
20299
- "val": new basic_1.CLikeType(),
20299
+ "val": basic_1.CLikeType.get(),
20300
20300
  },
20301
20301
  optional: {
20302
- "sub": new basic_1.CLikeType(),
20303
- "regex": new basic_1.CLikeType(),
20304
- "pcre": new basic_1.CLikeType(),
20302
+ "sub": basic_1.CLikeType.get(),
20303
+ "regex": basic_1.CLikeType.get(),
20304
+ "pcre": basic_1.CLikeType.get(),
20305
20305
  "case": new basic_1.CharacterType(1),
20306
20306
  "len": basic_1.IntegerType.get(),
20307
20307
  "occ": basic_1.IntegerType.get(),
@@ -20326,7 +20326,7 @@ BuiltIn.methods = [
20326
20326
  {
20327
20327
  name: "TO_LOWER",
20328
20328
  mandatory: {
20329
- "val": new basic_1.CLikeType(),
20329
+ "val": basic_1.CLikeType.get(),
20330
20330
  },
20331
20331
  return: basic_1.StringType.get(),
20332
20332
  version: version_1.Version.v702,
@@ -20334,11 +20334,11 @@ BuiltIn.methods = [
20334
20334
  {
20335
20335
  name: "TO_MIXED",
20336
20336
  mandatory: {
20337
- "val": new basic_1.CLikeType(),
20337
+ "val": basic_1.CLikeType.get(),
20338
20338
  },
20339
20339
  optional: {
20340
20340
  "case": new basic_1.CharacterType(1),
20341
- "sep": new basic_1.CLikeType(),
20341
+ "sep": basic_1.CLikeType.get(),
20342
20342
  "min": basic_1.IntegerType.get(),
20343
20343
  },
20344
20344
  return: basic_1.StringType.get(),
@@ -20346,16 +20346,16 @@ BuiltIn.methods = [
20346
20346
  },
20347
20347
  {
20348
20348
  name: "TO_UPPER",
20349
- mandatory: { "val": new basic_1.CLikeType() },
20349
+ mandatory: { "val": basic_1.CLikeType.get() },
20350
20350
  return: basic_1.StringType.get(),
20351
20351
  version: version_1.Version.v702,
20352
20352
  },
20353
20353
  {
20354
20354
  name: "TRANSLATE",
20355
20355
  mandatory: {
20356
- "val": new basic_1.CLikeType(),
20357
- "from": new basic_1.CLikeType(),
20358
- "to": new basic_1.CLikeType(),
20356
+ "val": basic_1.CLikeType.get(),
20357
+ "from": basic_1.CLikeType.get(),
20358
+ "to": basic_1.CLikeType.get(),
20359
20359
  },
20360
20360
  return: basic_1.StringType.get(),
20361
20361
  version: version_1.Version.v702,
@@ -20398,7 +20398,7 @@ BuiltIn.methods = [
20398
20398
  {
20399
20399
  name: "XSDBOOL",
20400
20400
  mandatory: {
20401
- "val": new basic_1.CLikeType(),
20401
+ "val": basic_1.CLikeType.get(),
20402
20402
  },
20403
20403
  return: new basic_1.CharacterType(1),
20404
20404
  version: version_1.Version.v740sp08,
@@ -21205,6 +21205,7 @@ const _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier *
21205
21205
  const basic_1 = __webpack_require__(/*! ../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
21206
21206
  const ddic_1 = __webpack_require__(/*! ../../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
21207
21207
  const _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js");
21208
+ const _reference_1 = __webpack_require__(/*! ./_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
21208
21209
  class Procedural {
21209
21210
  constructor(reg, scope) {
21210
21211
  this.scope = scope;
@@ -21278,7 +21279,19 @@ class Procedural {
21278
21279
  if (param.type === undefined || param.type === "") {
21279
21280
  found = new basic_1.AnyType();
21280
21281
  }
21281
- else {
21282
+ else if (param.type.includes("=>")) {
21283
+ // then its a type from global INTF or CLAS
21284
+ const [clas, name] = param.type.split("=>");
21285
+ const def = this.scope.findObjectDefinition(clas);
21286
+ if (def) {
21287
+ const type = def.getTypeDefinitions().getByName(name);
21288
+ if (type) {
21289
+ this.scope.addReference(nameToken, type, _reference_1.ReferenceType.TypeReference, filename);
21290
+ found = type.getType();
21291
+ }
21292
+ }
21293
+ }
21294
+ if (found === undefined) {
21282
21295
  found = ddic.lookup(param.type).type;
21283
21296
  }
21284
21297
  if (param.direction === types_1.FunctionModuleParameterDirection.tables) {
@@ -24889,10 +24902,12 @@ class MethodParameters {
24889
24902
  }
24890
24903
  for (const item of items) {
24891
24904
  const parameter = allImporting.find(p => p.getName().toUpperCase() === item.name);
24905
+ const calculated = item.source.findFirstExpression(Expressions.MethodCallChain) !== undefined
24906
+ || item.source.findFirstExpression(Expressions.ArithOperator) !== undefined;
24892
24907
  if (parameter === undefined) {
24893
24908
  throw new Error("Method importing parameter \"" + item.name + "\" does not exist");
24894
24909
  }
24895
- else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType()) === false) {
24910
+ else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {
24896
24911
  throw new Error("Method parameter type not compatible, " + item.name);
24897
24912
  }
24898
24913
  this.requiredParameters.delete(item.name);
@@ -34391,6 +34406,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
34391
34406
  exports.CLikeType = void 0;
34392
34407
  const _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js");
34393
34408
  class CLikeType extends _abstract_type_1.AbstractType {
34409
+ static get() {
34410
+ return this.singleton;
34411
+ }
34412
+ constructor() {
34413
+ super();
34414
+ }
34394
34415
  toText() {
34395
34416
  return "```clike```";
34396
34417
  }
@@ -34408,6 +34429,7 @@ class CLikeType extends _abstract_type_1.AbstractType {
34408
34429
  }
34409
34430
  }
34410
34431
  exports.CLikeType = CLikeType;
34432
+ CLikeType.singleton = new CLikeType();
34411
34433
  //# sourceMappingURL=clike_type.js.map
34412
34434
 
34413
34435
  /***/ }),
@@ -38408,7 +38430,7 @@ class DDIC {
38408
38430
  case "XSEQUENCE":
38409
38431
  return new Types.XSequenceType({ qualifiedName: qualifiedName });
38410
38432
  case "CLIKE":
38411
- return new Types.CLikeType({ qualifiedName: qualifiedName });
38433
+ return Types.CLikeType.get();
38412
38434
  case "DECFLOAT":
38413
38435
  return new Types.DecFloatType({ qualifiedName: qualifiedName });
38414
38436
  case "ANY":
@@ -48465,7 +48487,7 @@ class Registry {
48465
48487
  }
48466
48488
  static abaplintVersion() {
48467
48489
  // magic, see build script "version.sh"
48468
- return "2.102.1";
48490
+ return "2.102.3";
48469
48491
  }
48470
48492
  getDDICReferences() {
48471
48493
  return this.ddicReferences;
@@ -56682,7 +56704,7 @@ class ForbiddenPseudoAndPragmaConf extends _basic_rule_config_1.BasicRuleConfig
56682
56704
  constructor() {
56683
56705
  super(...arguments);
56684
56706
  /** @uniqueItems true */
56685
- this.pseudo = [];
56707
+ this.pseudo = [`"#EC *`];
56686
56708
  /** @uniqueItems true */
56687
56709
  this.pragmas = [];
56688
56710
  this.ignoreGlobalClassDefinition = false;
@@ -56701,9 +56723,15 @@ class ForbiddenPseudoAndPragma extends _abap_rule_1.ABAPRule {
56701
56723
  title: "Forbidden pseudo comments and pragma",
56702
56724
  shortDescription: `Checks for unwanted pseudo comments and pragma`,
56703
56725
  tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],
56726
+ badExample: `DATA i TYPE i. "#EC *`,
56727
+ goodExample: `DATA i TYPE i.`,
56704
56728
  };
56705
56729
  }
56706
56730
  getConfig() {
56731
+ // @ts-ignore
56732
+ if (this.conf === true) {
56733
+ this.conf = new ForbiddenPseudoAndPragmaConf();
56734
+ }
56707
56735
  if (this.conf.pseudo === undefined) {
56708
56736
  this.conf.pseudo = [];
56709
56737
  }
@@ -63831,6 +63859,8 @@ class PreferPragmas extends _abap_rule_1.ABAPRule {
63831
63859
  shortDescription: `prefer pragmas over pseudo comments `,
63832
63860
  extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-pragmas-to-pseudo-comments`,
63833
63861
  tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],
63862
+ badExample: `DATA foo1 TYPE i. "#EC NEEDED`,
63863
+ goodExample: `DATA foo2 TYPE i ##NEEDED.`,
63834
63864
  };
63835
63865
  }
63836
63866
  getConfig() {
@@ -71769,6 +71799,7 @@ const parseXml = function(xmlData) {
71769
71799
  if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){
71770
71800
  if(tagName[tagName.length - 1] === "/"){ //remove trailing '/'
71771
71801
  tagName = tagName.substr(0, tagName.length - 1);
71802
+ jPath = jPath.substr(0, jPath.length - 1);
71772
71803
  tagExp = tagName;
71773
71804
  }else{
71774
71805
  tagExp = tagExp.substr(0, tagExp.length - 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.1",
3
+ "version": "2.102.3",
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.1",
41
+ "@abaplint/core": "^2.102.3",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",
@@ -47,7 +47,7 @@
47
47
  "@types/progress": "^2.0.5",
48
48
  "chai": "^4.3.7",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^8.44.0",
50
+ "eslint": "^8.45.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.2.0",
@@ -55,7 +55,7 @@
55
55
  "mocha": "^10.2.0",
56
56
  "progress": "^2.0.3",
57
57
  "typescript": "^5.1.6",
58
- "webpack": "^5.88.1",
58
+ "webpack": "^5.88.2",
59
59
  "webpack-cli": "^5.1.4",
60
60
  "xml-js": "^1.6.11"
61
61
  },