@abaplint/core 2.102.1 → 2.102.2

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.
@@ -1049,6 +1049,9 @@ declare class Clear implements IStatement {
1049
1049
  }
1050
1050
 
1051
1051
  declare class CLikeType extends AbstractType {
1052
+ private static readonly singleton;
1053
+ static get(): CLikeType;
1054
+ private constructor();
1052
1055
  toText(): string;
1053
1056
  isGeneric(): boolean;
1054
1057
  toABAP(): string;
@@ -398,7 +398,7 @@ BuiltIn.methods = [
398
398
  {
399
399
  name: "BOOLC",
400
400
  mandatory: {
401
- "val": new basic_1.CLikeType(),
401
+ "val": basic_1.CLikeType.get(),
402
402
  },
403
403
  return: basic_1.StringType.get(),
404
404
  version: version_1.Version.v702,
@@ -406,7 +406,7 @@ BuiltIn.methods = [
406
406
  {
407
407
  name: "BOOLX",
408
408
  mandatory: {
409
- "bool": new basic_1.CLikeType(),
409
+ "bool": basic_1.CLikeType.get(),
410
410
  },
411
411
  optional: {
412
412
  "bit": basic_1.IntegerType.get(),
@@ -424,7 +424,7 @@ BuiltIn.methods = [
424
424
  {
425
425
  name: "CHAR_OFF",
426
426
  mandatory: {
427
- "val": new basic_1.CLikeType(),
427
+ "val": basic_1.CLikeType.get(),
428
428
  "add": basic_1.IntegerType.get(),
429
429
  },
430
430
  optional: {
@@ -436,23 +436,23 @@ BuiltIn.methods = [
436
436
  {
437
437
  name: "CHARLEN",
438
438
  mandatory: {
439
- "val": new basic_1.CLikeType(),
439
+ "val": basic_1.CLikeType.get(),
440
440
  },
441
441
  return: basic_1.IntegerType.get(),
442
442
  },
443
443
  {
444
444
  name: "CMAX",
445
445
  mandatory: {
446
- "val1": new basic_1.CLikeType(),
447
- "val2": new basic_1.CLikeType(),
446
+ "val1": basic_1.CLikeType.get(),
447
+ "val2": basic_1.CLikeType.get(),
448
448
  },
449
449
  optional: {
450
- "val3": new basic_1.CLikeType(),
451
- "val4": new basic_1.CLikeType(),
452
- "val5": new basic_1.CLikeType(),
453
- "val6": new basic_1.CLikeType(),
454
- "val7": new basic_1.CLikeType(),
455
- "val9": new basic_1.CLikeType(),
450
+ "val3": basic_1.CLikeType.get(),
451
+ "val4": basic_1.CLikeType.get(),
452
+ "val5": basic_1.CLikeType.get(),
453
+ "val6": basic_1.CLikeType.get(),
454
+ "val7": basic_1.CLikeType.get(),
455
+ "val9": basic_1.CLikeType.get(),
456
456
  },
457
457
  return: basic_1.StringType.get(),
458
458
  version: version_1.Version.v702,
@@ -460,16 +460,16 @@ BuiltIn.methods = [
460
460
  {
461
461
  name: "CMIN",
462
462
  mandatory: {
463
- "val1": new basic_1.CLikeType(),
464
- "val2": new basic_1.CLikeType(),
463
+ "val1": basic_1.CLikeType.get(),
464
+ "val2": basic_1.CLikeType.get(),
465
465
  },
466
466
  optional: {
467
- "val3": new basic_1.CLikeType(),
468
- "val4": new basic_1.CLikeType(),
469
- "val5": new basic_1.CLikeType(),
470
- "val6": new basic_1.CLikeType(),
471
- "val7": new basic_1.CLikeType(),
472
- "val9": new basic_1.CLikeType(),
467
+ "val3": basic_1.CLikeType.get(),
468
+ "val4": basic_1.CLikeType.get(),
469
+ "val5": basic_1.CLikeType.get(),
470
+ "val6": basic_1.CLikeType.get(),
471
+ "val7": basic_1.CLikeType.get(),
472
+ "val9": basic_1.CLikeType.get(),
473
473
  },
474
474
  return: basic_1.StringType.get(),
475
475
  version: version_1.Version.v702,
@@ -480,7 +480,7 @@ BuiltIn.methods = [
480
480
  "table": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),
481
481
  },
482
482
  optional: {
483
- "sep": new basic_1.CLikeType(),
483
+ "sep": basic_1.CLikeType.get(),
484
484
  },
485
485
  return: basic_1.StringType.get(),
486
486
  version: version_1.Version.v702,
@@ -488,12 +488,12 @@ BuiltIn.methods = [
488
488
  {
489
489
  name: "CONDENSE",
490
490
  mandatory: {
491
- "val": new basic_1.CLikeType(),
491
+ "val": basic_1.CLikeType.get(),
492
492
  },
493
493
  optional: {
494
- "del": new basic_1.CLikeType(),
495
- "from": new basic_1.CLikeType(),
496
- "to": new basic_1.CLikeType(),
494
+ "del": basic_1.CLikeType.get(),
495
+ "from": basic_1.CLikeType.get(),
496
+ "to": basic_1.CLikeType.get(),
497
497
  },
498
498
  return: basic_1.StringType.get(),
499
499
  version: version_1.Version.v702,
@@ -501,14 +501,14 @@ BuiltIn.methods = [
501
501
  {
502
502
  name: "CONTAINS",
503
503
  mandatory: {
504
- "val": new basic_1.CLikeType(),
504
+ "val": basic_1.CLikeType.get(),
505
505
  },
506
506
  optional: {
507
- "sub": new basic_1.CLikeType(),
508
- "start": new basic_1.CLikeType(),
509
- "end": new basic_1.CLikeType(),
510
- "regex": new basic_1.CLikeType(),
511
- "pcre": new basic_1.CLikeType(),
507
+ "sub": basic_1.CLikeType.get(),
508
+ "start": basic_1.CLikeType.get(),
509
+ "end": basic_1.CLikeType.get(),
510
+ "regex": basic_1.CLikeType.get(),
511
+ "pcre": basic_1.CLikeType.get(),
512
512
  "case": new basic_1.CharacterType(1),
513
513
  "off": basic_1.IntegerType.get(),
514
514
  "len": basic_1.IntegerType.get(),
@@ -521,12 +521,12 @@ BuiltIn.methods = [
521
521
  {
522
522
  name: "CONTAINS_ANY_NOT_OF",
523
523
  mandatory: {
524
- "val": new basic_1.CLikeType(),
524
+ "val": basic_1.CLikeType.get(),
525
525
  },
526
526
  optional: {
527
- "sub": new basic_1.CLikeType(),
528
- "start": new basic_1.CLikeType(),
529
- "end": new basic_1.CLikeType(),
527
+ "sub": basic_1.CLikeType.get(),
528
+ "start": basic_1.CLikeType.get(),
529
+ "end": basic_1.CLikeType.get(),
530
530
  "off": basic_1.IntegerType.get(),
531
531
  "len": basic_1.IntegerType.get(),
532
532
  "occ": basic_1.IntegerType.get(),
@@ -537,12 +537,12 @@ BuiltIn.methods = [
537
537
  {
538
538
  name: "CONTAINS_ANY_OF",
539
539
  mandatory: {
540
- "val": new basic_1.CLikeType(),
540
+ "val": basic_1.CLikeType.get(),
541
541
  },
542
542
  optional: {
543
- "sub": new basic_1.CLikeType(),
544
- "start": new basic_1.CLikeType(),
545
- "end": new basic_1.CLikeType(),
543
+ "sub": basic_1.CLikeType.get(),
544
+ "start": basic_1.CLikeType.get(),
545
+ "end": basic_1.CLikeType.get(),
546
546
  "off": basic_1.IntegerType.get(),
547
547
  "len": basic_1.IntegerType.get(),
548
548
  "occ": basic_1.IntegerType.get(),
@@ -568,12 +568,12 @@ BuiltIn.methods = [
568
568
  {
569
569
  name: "COUNT",
570
570
  mandatory: {
571
- "val": new basic_1.CLikeType(),
571
+ "val": basic_1.CLikeType.get(),
572
572
  },
573
573
  optional: {
574
- "sub": new basic_1.CLikeType(),
575
- "regex": new basic_1.CLikeType(),
576
- "pcre": new basic_1.CLikeType(),
574
+ "sub": basic_1.CLikeType.get(),
575
+ "regex": basic_1.CLikeType.get(),
576
+ "pcre": basic_1.CLikeType.get(),
577
577
  "case": new basic_1.CharacterType(1),
578
578
  "off": basic_1.IntegerType.get(),
579
579
  "len": basic_1.IntegerType.get(),
@@ -584,12 +584,12 @@ BuiltIn.methods = [
584
584
  {
585
585
  name: "COUNT_ANY_NOT_OF",
586
586
  mandatory: {
587
- "val": new basic_1.CLikeType(),
587
+ "val": basic_1.CLikeType.get(),
588
588
  },
589
589
  optional: {
590
- "sub": new basic_1.CLikeType(),
591
- "regex": new basic_1.CLikeType(),
592
- "pcre": new basic_1.CLikeType(),
590
+ "sub": basic_1.CLikeType.get(),
591
+ "regex": basic_1.CLikeType.get(),
592
+ "pcre": basic_1.CLikeType.get(),
593
593
  "case": new basic_1.CharacterType(1),
594
594
  "off": basic_1.IntegerType.get(),
595
595
  "len": basic_1.IntegerType.get(),
@@ -600,12 +600,12 @@ BuiltIn.methods = [
600
600
  {
601
601
  name: "COUNT_ANY_OF",
602
602
  mandatory: {
603
- "val": new basic_1.CLikeType(),
603
+ "val": basic_1.CLikeType.get(),
604
604
  },
605
605
  optional: {
606
- "sub": new basic_1.CLikeType(),
607
- "regex": new basic_1.CLikeType(),
608
- "pcre": new basic_1.CLikeType(),
606
+ "sub": basic_1.CLikeType.get(),
607
+ "regex": basic_1.CLikeType.get(),
608
+ "pcre": basic_1.CLikeType.get(),
609
609
  "case": new basic_1.CharacterType(1),
610
610
  "off": basic_1.IntegerType.get(),
611
611
  "len": basic_1.IntegerType.get(),
@@ -616,15 +616,15 @@ BuiltIn.methods = [
616
616
  {
617
617
  name: "DBMAXLEN",
618
618
  mandatory: {
619
- "val": new basic_1.CLikeType(),
619
+ "val": basic_1.CLikeType.get(),
620
620
  },
621
621
  return: basic_1.IntegerType.get(),
622
622
  },
623
623
  {
624
624
  name: "DISTANCE",
625
625
  mandatory: {
626
- "val1": new basic_1.CLikeType(),
627
- "val2": new basic_1.CLikeType(),
626
+ "val1": basic_1.CLikeType.get(),
627
+ "val2": basic_1.CLikeType.get(),
628
628
  },
629
629
  return: basic_1.IntegerType.get(),
630
630
  version: version_1.Version.v702,
@@ -632,8 +632,8 @@ BuiltIn.methods = [
632
632
  {
633
633
  name: "ESCAPE",
634
634
  mandatory: {
635
- "val": new basic_1.CLikeType(),
636
- "format": new basic_1.CLikeType(),
635
+ "val": basic_1.CLikeType.get(),
636
+ "format": basic_1.CLikeType.get(),
637
637
  },
638
638
  return: basic_1.StringType.get(),
639
639
  version: version_1.Version.v702,
@@ -648,12 +648,12 @@ BuiltIn.methods = [
648
648
  {
649
649
  name: "FIND",
650
650
  mandatory: {
651
- "val": new basic_1.CLikeType(),
651
+ "val": basic_1.CLikeType.get(),
652
652
  },
653
653
  optional: {
654
- "sub": new basic_1.CLikeType(),
655
- "regex": new basic_1.CLikeType(),
656
- "pcre": new basic_1.CLikeType(),
654
+ "sub": basic_1.CLikeType.get(),
655
+ "regex": basic_1.CLikeType.get(),
656
+ "pcre": basic_1.CLikeType.get(),
657
657
  "case": new basic_1.CharacterType(1),
658
658
  "off": basic_1.IntegerType.get(),
659
659
  "len": basic_1.IntegerType.get(),
@@ -665,10 +665,10 @@ BuiltIn.methods = [
665
665
  {
666
666
  name: "FIND_ANY_NOT_OF",
667
667
  mandatory: {
668
- "val": new basic_1.CLikeType(),
668
+ "val": basic_1.CLikeType.get(),
669
669
  },
670
670
  optional: {
671
- "sub": new basic_1.CLikeType(),
671
+ "sub": basic_1.CLikeType.get(),
672
672
  "off": basic_1.IntegerType.get(),
673
673
  "len": basic_1.IntegerType.get(),
674
674
  "occ": basic_1.IntegerType.get(),
@@ -679,10 +679,10 @@ BuiltIn.methods = [
679
679
  {
680
680
  name: "FIND_ANY_OF",
681
681
  mandatory: {
682
- "val": new basic_1.CLikeType(),
682
+ "val": basic_1.CLikeType.get(),
683
683
  },
684
684
  optional: {
685
- "sub": new basic_1.CLikeType(),
685
+ "sub": basic_1.CLikeType.get(),
686
686
  "off": basic_1.IntegerType.get(),
687
687
  "len": basic_1.IntegerType.get(),
688
688
  "occ": basic_1.IntegerType.get(),
@@ -693,12 +693,12 @@ BuiltIn.methods = [
693
693
  {
694
694
  name: "FIND_END",
695
695
  mandatory: {
696
- "val": new basic_1.CLikeType(),
696
+ "val": basic_1.CLikeType.get(),
697
697
  },
698
698
  optional: {
699
- "sub": new basic_1.CLikeType(),
700
- "regex": new basic_1.CLikeType(),
701
- "pcre": new basic_1.CLikeType(),
699
+ "sub": basic_1.CLikeType.get(),
700
+ "regex": basic_1.CLikeType.get(),
701
+ "pcre": basic_1.CLikeType.get(),
702
702
  "case": new basic_1.CharacterType(1),
703
703
  "off": basic_1.IntegerType.get(),
704
704
  "len": basic_1.IntegerType.get(),
@@ -724,7 +724,7 @@ BuiltIn.methods = [
724
724
  {
725
725
  name: "FROM_MIXED",
726
726
  mandatory: {
727
- "val": new basic_1.CLikeType()
727
+ "val": basic_1.CLikeType.get()
728
728
  },
729
729
  optional: {
730
730
  "case": new basic_1.CharacterType(1),
@@ -737,8 +737,8 @@ BuiltIn.methods = [
737
737
  {
738
738
  name: "INSERT",
739
739
  mandatory: {
740
- "val": new basic_1.CLikeType(),
741
- "sub": new basic_1.CLikeType(),
740
+ "val": basic_1.CLikeType.get(),
741
+ "sub": basic_1.CLikeType.get(),
742
742
  },
743
743
  optional: {
744
744
  "off": basic_1.IntegerType.get(),
@@ -767,7 +767,7 @@ BuiltIn.methods = [
767
767
  {
768
768
  name: "LINE_INDEX",
769
769
  mandatory: {
770
- "val": new basic_1.CLikeType(),
770
+ "val": basic_1.CLikeType.get(),
771
771
  },
772
772
  return: basic_1.IntegerType.get(),
773
773
  version: version_1.Version.v740sp02,
@@ -796,11 +796,11 @@ BuiltIn.methods = [
796
796
  {
797
797
  name: "MATCH",
798
798
  mandatory: {
799
- "val": new basic_1.CLikeType(),
799
+ "val": basic_1.CLikeType.get(),
800
800
  }, optional: {
801
801
  "case": new basic_1.CharacterType(1),
802
- "regex": new basic_1.CLikeType(),
803
- "pcre": new basic_1.CLikeType(),
802
+ "regex": basic_1.CLikeType.get(),
803
+ "pcre": basic_1.CLikeType.get(),
804
804
  "occ": basic_1.IntegerType.get(),
805
805
  },
806
806
  return: basic_1.StringType.get(),
@@ -809,12 +809,12 @@ BuiltIn.methods = [
809
809
  {
810
810
  name: "MATCHES",
811
811
  mandatory: {
812
- "val": new basic_1.CLikeType(),
812
+ "val": basic_1.CLikeType.get(),
813
813
  },
814
814
  optional: {
815
815
  "case": new basic_1.CharacterType(1),
816
- "regex": new basic_1.CLikeType(),
817
- "pcre": new basic_1.CLikeType(),
816
+ "regex": basic_1.CLikeType.get(),
817
+ "pcre": basic_1.CLikeType.get(),
818
818
  "off": basic_1.IntegerType.get(),
819
819
  "len": basic_1.IntegerType.get(),
820
820
  },
@@ -825,17 +825,17 @@ BuiltIn.methods = [
825
825
  {
826
826
  name: "NMAX",
827
827
  mandatory: {
828
- "val1": new basic_1.CLikeType(),
829
- "val2": new basic_1.CLikeType(),
828
+ "val1": basic_1.CLikeType.get(),
829
+ "val2": basic_1.CLikeType.get(),
830
830
  },
831
831
  optional: {
832
- "val3": new basic_1.CLikeType(),
833
- "val4": new basic_1.CLikeType(),
834
- "val5": new basic_1.CLikeType(),
835
- "val6": new basic_1.CLikeType(),
836
- "val7": new basic_1.CLikeType(),
837
- "val8": new basic_1.CLikeType(),
838
- "val9": new basic_1.CLikeType(),
832
+ "val3": basic_1.CLikeType.get(),
833
+ "val4": basic_1.CLikeType.get(),
834
+ "val5": basic_1.CLikeType.get(),
835
+ "val6": basic_1.CLikeType.get(),
836
+ "val7": basic_1.CLikeType.get(),
837
+ "val8": basic_1.CLikeType.get(),
838
+ "val9": basic_1.CLikeType.get(),
839
839
  },
840
840
  return: basic_1.IntegerType.get(),
841
841
  version: version_1.Version.v702,
@@ -843,17 +843,17 @@ BuiltIn.methods = [
843
843
  {
844
844
  name: "NMIN",
845
845
  mandatory: {
846
- "val1": new basic_1.CLikeType(),
847
- "val2": new basic_1.CLikeType(),
846
+ "val1": basic_1.CLikeType.get(),
847
+ "val2": basic_1.CLikeType.get(),
848
848
  },
849
849
  optional: {
850
- "val3": new basic_1.CLikeType(),
851
- "val4": new basic_1.CLikeType(),
852
- "val5": new basic_1.CLikeType(),
853
- "val6": new basic_1.CLikeType(),
854
- "val7": new basic_1.CLikeType(),
855
- "val8": new basic_1.CLikeType(),
856
- "val9": new basic_1.CLikeType(),
850
+ "val3": basic_1.CLikeType.get(),
851
+ "val4": basic_1.CLikeType.get(),
852
+ "val5": basic_1.CLikeType.get(),
853
+ "val6": basic_1.CLikeType.get(),
854
+ "val7": basic_1.CLikeType.get(),
855
+ "val8": basic_1.CLikeType.get(),
856
+ "val9": basic_1.CLikeType.get(),
857
857
  },
858
858
  return: basic_1.IntegerType.get(),
859
859
  version: version_1.Version.v702,
@@ -861,15 +861,15 @@ BuiltIn.methods = [
861
861
  {
862
862
  name: "NUMOFCHAR",
863
863
  mandatory: {
864
- "val": new basic_1.CLikeType(),
864
+ "val": basic_1.CLikeType.get(),
865
865
  },
866
866
  return: basic_1.IntegerType.get(),
867
867
  },
868
868
  {
869
869
  name: "REPEAT",
870
870
  mandatory: {
871
- "val": new basic_1.CLikeType(),
872
- "occ": basic_1.IntegerType.get(),
871
+ "val": basic_1.CLikeType.get(),
872
+ "occ": basic_1.CLikeType.get(),
873
873
  },
874
874
  return: basic_1.StringType.get(),
875
875
  version: version_1.Version.v702,
@@ -877,13 +877,13 @@ BuiltIn.methods = [
877
877
  {
878
878
  name: "REPLACE",
879
879
  mandatory: {
880
- "val": new basic_1.CLikeType(),
881
- "with": new basic_1.CLikeType(),
880
+ "val": basic_1.CLikeType.get(),
881
+ "with": basic_1.CLikeType.get(),
882
882
  },
883
883
  optional: {
884
- "sub": new basic_1.CLikeType(),
885
- "regex": new basic_1.CLikeType(),
886
- "pcre": new basic_1.CLikeType(),
884
+ "sub": basic_1.CLikeType.get(),
885
+ "regex": basic_1.CLikeType.get(),
886
+ "pcre": basic_1.CLikeType.get(),
887
887
  "case": new basic_1.CharacterType(1),
888
888
  "off": basic_1.IntegerType.get(),
889
889
  "len": basic_1.IntegerType.get(),
@@ -908,7 +908,7 @@ BuiltIn.methods = [
908
908
  {
909
909
  name: "REVERSE",
910
910
  mandatory: {
911
- "val": new basic_1.CLikeType(),
911
+ "val": basic_1.CLikeType.get(),
912
912
  },
913
913
  return: basic_1.StringType.get(),
914
914
  version: version_1.Version.v702,
@@ -929,12 +929,12 @@ BuiltIn.methods = [
929
929
  {
930
930
  name: "SEGMENT",
931
931
  mandatory: {
932
- "val": new basic_1.CLikeType(),
932
+ "val": basic_1.CLikeType.get(),
933
933
  "index": basic_1.IntegerType.get(),
934
934
  },
935
935
  optional: {
936
- "sep": new basic_1.CLikeType(),
937
- "space": new basic_1.CLikeType(),
936
+ "sep": basic_1.CLikeType.get(),
937
+ "space": basic_1.CLikeType.get(),
938
938
  },
939
939
  return: basic_1.StringType.get(),
940
940
  version: version_1.Version.v702,
@@ -942,10 +942,10 @@ BuiltIn.methods = [
942
942
  {
943
943
  name: "SHIFT_LEFT",
944
944
  mandatory: {
945
- "val": new basic_1.CLikeType(),
945
+ "val": basic_1.CLikeType.get(),
946
946
  },
947
947
  optional: {
948
- "sub": new basic_1.CLikeType(),
948
+ "sub": basic_1.CLikeType.get(),
949
949
  "places": basic_1.IntegerType.get(),
950
950
  "circular": basic_1.IntegerType.get(),
951
951
  },
@@ -955,10 +955,10 @@ BuiltIn.methods = [
955
955
  {
956
956
  name: "SHIFT_RIGHT",
957
957
  mandatory: {
958
- "val": new basic_1.CLikeType(),
958
+ "val": basic_1.CLikeType.get(),
959
959
  },
960
960
  optional: {
961
- "sub": new basic_1.CLikeType(),
961
+ "sub": basic_1.CLikeType.get(),
962
962
  "places": basic_1.IntegerType.get(),
963
963
  "circular": basic_1.IntegerType.get(),
964
964
  },
@@ -996,14 +996,14 @@ BuiltIn.methods = [
996
996
  {
997
997
  name: "STRLEN",
998
998
  mandatory: {
999
- "val": new basic_1.CLikeType(),
999
+ "val": basic_1.CLikeType.get(),
1000
1000
  },
1001
1001
  return: basic_1.IntegerType.get(),
1002
1002
  },
1003
1003
  {
1004
1004
  name: "SUBSTRING",
1005
1005
  mandatory: {
1006
- "val": new basic_1.CLikeType(),
1006
+ "val": basic_1.CLikeType.get(),
1007
1007
  },
1008
1008
  optional: {
1009
1009
  "off": basic_1.IntegerType.get(),
@@ -1015,12 +1015,12 @@ BuiltIn.methods = [
1015
1015
  {
1016
1016
  name: "SUBSTRING_AFTER",
1017
1017
  mandatory: {
1018
- "val": new basic_1.CLikeType(),
1018
+ "val": basic_1.CLikeType.get(),
1019
1019
  },
1020
1020
  optional: {
1021
- "sub": new basic_1.CLikeType(),
1022
- "regex": new basic_1.CLikeType(),
1023
- "pcre": new basic_1.CLikeType(),
1021
+ "sub": basic_1.CLikeType.get(),
1022
+ "regex": basic_1.CLikeType.get(),
1023
+ "pcre": basic_1.CLikeType.get(),
1024
1024
  "case": new basic_1.CharacterType(1),
1025
1025
  "len": basic_1.IntegerType.get(),
1026
1026
  "occ": basic_1.IntegerType.get(),
@@ -1031,12 +1031,12 @@ BuiltIn.methods = [
1031
1031
  {
1032
1032
  name: "SUBSTRING_BEFORE",
1033
1033
  mandatory: {
1034
- "val": new basic_1.CLikeType(),
1034
+ "val": basic_1.CLikeType.get(),
1035
1035
  },
1036
1036
  optional: {
1037
- "sub": new basic_1.CLikeType(),
1038
- "regex": new basic_1.CLikeType(),
1039
- "pcre": new basic_1.CLikeType(),
1037
+ "sub": basic_1.CLikeType.get(),
1038
+ "regex": basic_1.CLikeType.get(),
1039
+ "pcre": basic_1.CLikeType.get(),
1040
1040
  "case": new basic_1.CharacterType(1),
1041
1041
  "len": basic_1.IntegerType.get(),
1042
1042
  "occ": basic_1.IntegerType.get(),
@@ -1047,12 +1047,12 @@ BuiltIn.methods = [
1047
1047
  {
1048
1048
  name: "SUBSTRING_FROM",
1049
1049
  mandatory: {
1050
- "val": new basic_1.CLikeType(),
1050
+ "val": basic_1.CLikeType.get(),
1051
1051
  },
1052
1052
  optional: {
1053
- "sub": new basic_1.CLikeType(),
1054
- "regex": new basic_1.CLikeType(),
1055
- "pcre": new basic_1.CLikeType(),
1053
+ "sub": basic_1.CLikeType.get(),
1054
+ "regex": basic_1.CLikeType.get(),
1055
+ "pcre": basic_1.CLikeType.get(),
1056
1056
  "case": new basic_1.CharacterType(1),
1057
1057
  "len": basic_1.IntegerType.get(),
1058
1058
  "occ": basic_1.IntegerType.get(),
@@ -1063,12 +1063,12 @@ BuiltIn.methods = [
1063
1063
  {
1064
1064
  name: "SUBSTRING_TO",
1065
1065
  mandatory: {
1066
- "val": new basic_1.CLikeType(),
1066
+ "val": basic_1.CLikeType.get(),
1067
1067
  },
1068
1068
  optional: {
1069
- "sub": new basic_1.CLikeType(),
1070
- "regex": new basic_1.CLikeType(),
1071
- "pcre": new basic_1.CLikeType(),
1069
+ "sub": basic_1.CLikeType.get(),
1070
+ "regex": basic_1.CLikeType.get(),
1071
+ "pcre": basic_1.CLikeType.get(),
1072
1072
  "case": new basic_1.CharacterType(1),
1073
1073
  "len": basic_1.IntegerType.get(),
1074
1074
  "occ": basic_1.IntegerType.get(),
@@ -1093,7 +1093,7 @@ BuiltIn.methods = [
1093
1093
  {
1094
1094
  name: "TO_LOWER",
1095
1095
  mandatory: {
1096
- "val": new basic_1.CLikeType(),
1096
+ "val": basic_1.CLikeType.get(),
1097
1097
  },
1098
1098
  return: basic_1.StringType.get(),
1099
1099
  version: version_1.Version.v702,
@@ -1101,11 +1101,11 @@ BuiltIn.methods = [
1101
1101
  {
1102
1102
  name: "TO_MIXED",
1103
1103
  mandatory: {
1104
- "val": new basic_1.CLikeType(),
1104
+ "val": basic_1.CLikeType.get(),
1105
1105
  },
1106
1106
  optional: {
1107
1107
  "case": new basic_1.CharacterType(1),
1108
- "sep": new basic_1.CLikeType(),
1108
+ "sep": basic_1.CLikeType.get(),
1109
1109
  "min": basic_1.IntegerType.get(),
1110
1110
  },
1111
1111
  return: basic_1.StringType.get(),
@@ -1113,16 +1113,16 @@ BuiltIn.methods = [
1113
1113
  },
1114
1114
  {
1115
1115
  name: "TO_UPPER",
1116
- mandatory: { "val": new basic_1.CLikeType() },
1116
+ mandatory: { "val": basic_1.CLikeType.get() },
1117
1117
  return: basic_1.StringType.get(),
1118
1118
  version: version_1.Version.v702,
1119
1119
  },
1120
1120
  {
1121
1121
  name: "TRANSLATE",
1122
1122
  mandatory: {
1123
- "val": new basic_1.CLikeType(),
1124
- "from": new basic_1.CLikeType(),
1125
- "to": new basic_1.CLikeType(),
1123
+ "val": basic_1.CLikeType.get(),
1124
+ "from": basic_1.CLikeType.get(),
1125
+ "to": basic_1.CLikeType.get(),
1126
1126
  },
1127
1127
  return: basic_1.StringType.get(),
1128
1128
  version: version_1.Version.v702,
@@ -1165,7 +1165,7 @@ BuiltIn.methods = [
1165
1165
  {
1166
1166
  name: "XSDBOOL",
1167
1167
  mandatory: {
1168
- "val": new basic_1.CLikeType(),
1168
+ "val": basic_1.CLikeType.get(),
1169
1169
  },
1170
1170
  return: new basic_1.CharacterType(1),
1171
1171
  version: version_1.Version.v740sp08,
@@ -3,6 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CLikeType = void 0;
4
4
  const _abstract_type_1 = require("./_abstract_type");
5
5
  class CLikeType extends _abstract_type_1.AbstractType {
6
+ static get() {
7
+ return this.singleton;
8
+ }
9
+ constructor() {
10
+ super();
11
+ }
6
12
  toText() {
7
13
  return "```clike```";
8
14
  }
@@ -20,4 +26,5 @@ class CLikeType extends _abstract_type_1.AbstractType {
20
26
  }
21
27
  }
22
28
  exports.CLikeType = CLikeType;
29
+ CLikeType.singleton = new CLikeType();
23
30
  //# sourceMappingURL=clike_type.js.map
package/build/src/ddic.js CHANGED
@@ -56,7 +56,7 @@ class DDIC {
56
56
  case "XSEQUENCE":
57
57
  return new Types.XSequenceType({ qualifiedName: qualifiedName });
58
58
  case "CLIKE":
59
- return new Types.CLikeType({ qualifiedName: qualifiedName });
59
+ return Types.CLikeType.get();
60
60
  case "DECFLOAT":
61
61
  return new Types.DecFloatType({ qualifiedName: qualifiedName });
62
62
  case "ANY":
@@ -65,7 +65,7 @@ class Registry {
65
65
  }
66
66
  static abaplintVersion() {
67
67
  // magic, see build script "version.sh"
68
- return "2.102.1";
68
+ return "2.102.2";
69
69
  }
70
70
  getDDICReferences() {
71
71
  return this.ddicReferences;
@@ -13,7 +13,7 @@ class ForbiddenPseudoAndPragmaConf extends _basic_rule_config_1.BasicRuleConfig
13
13
  constructor() {
14
14
  super(...arguments);
15
15
  /** @uniqueItems true */
16
- this.pseudo = [];
16
+ this.pseudo = [`"#EC *`];
17
17
  /** @uniqueItems true */
18
18
  this.pragmas = [];
19
19
  this.ignoreGlobalClassDefinition = false;
@@ -32,9 +32,15 @@ class ForbiddenPseudoAndPragma extends _abap_rule_1.ABAPRule {
32
32
  title: "Forbidden pseudo comments and pragma",
33
33
  shortDescription: `Checks for unwanted pseudo comments and pragma`,
34
34
  tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],
35
+ badExample: `DATA i TYPE i. "#EC *`,
36
+ goodExample: `DATA i TYPE i.`,
35
37
  };
36
38
  }
37
39
  getConfig() {
40
+ // @ts-ignore
41
+ if (this.conf === true) {
42
+ this.conf = new ForbiddenPseudoAndPragmaConf();
43
+ }
38
44
  if (this.conf.pseudo === undefined) {
39
45
  this.conf.pseudo = [];
40
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.102.1",
3
+ "version": "2.102.2",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -55,7 +55,7 @@
55
55
  "@types/mocha": "^10.0.1",
56
56
  "@types/node": "^20.4.2",
57
57
  "chai": "^4.3.7",
58
- "eslint": "^8.44.0",
58
+ "eslint": "^8.45.0",
59
59
  "mocha": "^10.2.0",
60
60
  "c8": "^8.0.0",
61
61
  "source-map-support": "^0.5.21",