@abaplint/core 2.83.6 → 2.83.10

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 (114) hide show
  1. package/README.md +6 -6
  2. package/build/abaplint.d.ts +208 -6
  3. package/build/src/abap/flow/flow_graph.js +7 -7
  4. package/build/src/abap/types/basic/any_type.js +3 -0
  5. package/build/src/abap/types/basic/character_type.js +3 -0
  6. package/build/src/abap/types/basic/clike_type.js +3 -0
  7. package/build/src/abap/types/basic/csequence_type.js +3 -0
  8. package/build/src/abap/types/basic/data_reference_type.js +3 -0
  9. package/build/src/abap/types/basic/date_type.js +3 -0
  10. package/build/src/abap/types/basic/decfloat16_type.js +3 -0
  11. package/build/src/abap/types/basic/decfloat34_type.js +3 -0
  12. package/build/src/abap/types/basic/decfloat_type.js +3 -0
  13. package/build/src/abap/types/basic/enum_type.js +3 -0
  14. package/build/src/abap/types/basic/float_type.js +3 -0
  15. package/build/src/abap/types/basic/floating_point_type.js +3 -0
  16. package/build/src/abap/types/basic/generic_object_reference_type.js +3 -0
  17. package/build/src/abap/types/basic/hex_type.js +3 -0
  18. package/build/src/abap/types/basic/integer_type.js +3 -0
  19. package/build/src/abap/types/basic/numeric_generic_type.js +3 -0
  20. package/build/src/abap/types/basic/numeric_type.js +3 -0
  21. package/build/src/abap/types/basic/object_reference_type.js +3 -0
  22. package/build/src/abap/types/basic/packed_type.js +3 -0
  23. package/build/src/abap/types/basic/simple_type.js +3 -0
  24. package/build/src/abap/types/basic/string_type.js +3 -0
  25. package/build/src/abap/types/basic/structure_type.js +3 -0
  26. package/build/src/abap/types/basic/table_type.js +3 -0
  27. package/build/src/abap/types/basic/time_type.js +3 -0
  28. package/build/src/abap/types/basic/unknown_type.js +3 -0
  29. package/build/src/abap/types/basic/utc_long_type.js +3 -0
  30. package/build/src/abap/types/basic/void_type.js +3 -0
  31. package/build/src/abap/types/basic/xsequence_type.js +3 -0
  32. package/build/src/abap/types/basic/xstring_type.js +3 -0
  33. package/build/src/cds/cds_determine_types.js +23 -0
  34. package/build/src/cds/cds_lexer.js +3 -1
  35. package/build/src/cds/expressions/cds_association.js +1 -1
  36. package/build/src/cds/expressions/cds_composition.js +1 -1
  37. package/build/src/cds/expressions/cds_condition.js +1 -1
  38. package/build/src/cds/expressions/cds_function.js +3 -1
  39. package/build/src/cds/expressions/cds_relation.js +12 -0
  40. package/build/src/cds/expressions/index.js +1 -0
  41. package/build/src/index.js +5 -1
  42. package/build/src/lsp/help.js +17 -12
  43. package/build/src/objects/data_definition.js +70 -42
  44. package/build/src/registry.js +1 -1
  45. package/build/src/rules/7bit_ascii.js +2 -2
  46. package/build/src/rules/abapdoc.js +1 -1
  47. package/build/src/rules/align_parameters.js +33 -33
  48. package/build/src/rules/ambiguous_statement.js +5 -5
  49. package/build/src/rules/avoid_use.js +6 -6
  50. package/build/src/rules/begin_end_names.js +4 -4
  51. package/build/src/rules/begin_single_include.js +12 -12
  52. package/build/src/rules/call_transaction_authority_check.js +3 -3
  53. package/build/src/rules/chain_mainly_declarations.js +4 -4
  54. package/build/src/rules/check_abstract.js +2 -2
  55. package/build/src/rules/check_comments.js +6 -5
  56. package/build/src/rules/check_include.js +3 -3
  57. package/build/src/rules/check_no_handler_pragma.js +8 -8
  58. package/build/src/rules/check_subrc.js +8 -8
  59. package/build/src/rules/commented_code.js +1 -1
  60. package/build/src/rules/constructor_visibility_public.js +4 -4
  61. package/build/src/rules/contains_tab.js +2 -2
  62. package/build/src/rules/dangerous_statement.js +1 -1
  63. package/build/src/rules/downport.js +35 -35
  64. package/build/src/rules/exit_or_check.js +3 -3
  65. package/build/src/rules/exporting.js +1 -1
  66. package/build/src/rules/forbidden_identifier.js +1 -1
  67. package/build/src/rules/forbidden_void_type.js +2 -2
  68. package/build/src/rules/functional_writing.js +17 -17
  69. package/build/src/rules/global_class.js +10 -10
  70. package/build/src/rules/identical_conditions.js +2 -2
  71. package/build/src/rules/identical_contents.js +15 -15
  72. package/build/src/rules/identical_descriptions.js +4 -4
  73. package/build/src/rules/if_in_if.js +7 -7
  74. package/build/src/rules/implement_methods.js +3 -3
  75. package/build/src/rules/in_statement_indentation.js +11 -11
  76. package/build/src/rules/intf_referencing_clas.js +3 -3
  77. package/build/src/rules/line_break_style.js +2 -2
  78. package/build/src/rules/line_length.js +1 -1
  79. package/build/src/rules/line_only_punc.js +1 -1
  80. package/build/src/rules/local_variable_names.js +2 -2
  81. package/build/src/rules/many_parentheses.js +10 -10
  82. package/build/src/rules/max_one_method_parameter_per_line.js +7 -7
  83. package/build/src/rules/max_one_statement.js +3 -3
  84. package/build/src/rules/nesting.js +1 -1
  85. package/build/src/rules/no_chained_assignment.js +1 -1
  86. package/build/src/rules/no_public_attributes.js +1 -1
  87. package/build/src/rules/no_yoda_conditions.js +4 -4
  88. package/build/src/rules/obsolete_statement.js +40 -40
  89. package/build/src/rules/omit_parameter_name.js +3 -3
  90. package/build/src/rules/omit_receiving.js +13 -13
  91. package/build/src/rules/parser_702_chaining.js +2 -2
  92. package/build/src/rules/parser_error.js +2 -2
  93. package/build/src/rules/parser_missing_space.js +1 -1
  94. package/build/src/rules/prefer_inline.js +16 -16
  95. package/build/src/rules/prefer_is_not.js +7 -7
  96. package/build/src/rules/prefer_raise_exception_new.js +3 -3
  97. package/build/src/rules/prefer_returning_to_exporting.js +1 -1
  98. package/build/src/rules/prefer_xsdbool.js +2 -2
  99. package/build/src/rules/remove_descriptions.js +4 -4
  100. package/build/src/rules/rfc_error_handling.js +9 -9
  101. package/build/src/rules/select_add_order_by.js +5 -5
  102. package/build/src/rules/select_performance.js +2 -2
  103. package/build/src/rules/sicf_consistency.js +4 -4
  104. package/build/src/rules/space_before_dot.js +2 -2
  105. package/build/src/rules/start_at_tab.js +1 -1
  106. package/build/src/rules/sy_modification.js +2 -2
  107. package/build/src/rules/tabl_enhancement_category.js +2 -2
  108. package/build/src/rules/unused_methods.js +9 -9
  109. package/build/src/rules/unused_variables.js +6 -6
  110. package/build/src/rules/use_bool_expression.js +8 -8
  111. package/build/src/rules/use_line_exists.js +6 -6
  112. package/build/src/rules/use_new.js +2 -2
  113. package/build/src/rules/when_others_last.js +6 -6
  114. package/package.json +66 -66
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # @abaplint/core
2
-
3
- [abaplint](https://abaplint.org/) core library
4
-
5
- Exposes functionallity like the parser and rules, which can be used in other projects.
6
-
1
+ # @abaplint/core
2
+
3
+ [abaplint](https://abaplint.org/) core library
4
+
5
+ Exposes functionallity like the parser and rules, which can be used in other projects.
6
+
7
7
  For more information see https://github.com/abaplint/abaplint
@@ -101,6 +101,7 @@ export declare abstract class AbstractType {
101
101
  getQualifiedName(): string | undefined;
102
102
  abstract toText(level: number): string;
103
103
  abstract toABAP(): string;
104
+ abstract toCDS(): string;
104
105
  abstract isGeneric(): boolean;
105
106
  abstract containsVoid(): boolean;
106
107
  }
@@ -147,6 +148,7 @@ declare class AnyType extends AbstractType {
147
148
  toABAP(): string;
148
149
  isGeneric(): boolean;
149
150
  containsVoid(): boolean;
151
+ toCDS(): string;
150
152
  }
151
153
 
152
154
  declare class Append implements IStatement {
@@ -549,6 +551,82 @@ declare class CatchSystemExceptions_2 implements IStatement {
549
551
  getMatcher(): IStatementRunnable;
550
552
  }
551
553
 
554
+ declare class CDSAggregate extends Expression {
555
+ getRunnable(): IStatementRunnable;
556
+ }
557
+
558
+ declare class CDSAnnotation extends Expression {
559
+ getRunnable(): IStatementRunnable;
560
+ }
561
+
562
+ declare class CDSAnnotationArray extends Expression {
563
+ getRunnable(): IStatementRunnable;
564
+ }
565
+
566
+ declare class CDSAnnotationObject extends Expression {
567
+ getRunnable(): IStatementRunnable;
568
+ }
569
+
570
+ declare class CDSAnnotationSimple extends Expression {
571
+ getRunnable(): IStatementRunnable;
572
+ }
573
+
574
+ declare class CDSArithmetics extends Expression {
575
+ getRunnable(): IStatementRunnable;
576
+ }
577
+
578
+ declare class CDSAs extends Expression {
579
+ getRunnable(): IStatementRunnable;
580
+ }
581
+
582
+ declare class CDSAssociation extends Expression {
583
+ getRunnable(): IStatementRunnable;
584
+ }
585
+
586
+ declare class CDSCardinality extends Expression {
587
+ getRunnable(): IStatementRunnable;
588
+ }
589
+
590
+ declare class CDSCase extends Expression {
591
+ getRunnable(): IStatementRunnable;
592
+ }
593
+
594
+ declare class CDSCast extends Expression {
595
+ getRunnable(): IStatementRunnable;
596
+ }
597
+
598
+ declare class CDSComposition extends Expression {
599
+ getRunnable(): IStatementRunnable;
600
+ }
601
+
602
+ declare class CDSCondition extends Expression {
603
+ getRunnable(): IStatementRunnable;
604
+ }
605
+
606
+ declare class CDSDefineAbstract extends Expression {
607
+ getRunnable(): IStatementRunnable;
608
+ }
609
+
610
+ declare class CDSDefineView extends Expression {
611
+ getRunnable(): IStatementRunnable;
612
+ }
613
+
614
+ declare class CDSElement extends Expression {
615
+ getRunnable(): IStatementRunnable;
616
+ }
617
+
618
+ declare class CDSFunction extends Expression {
619
+ getRunnable(): IStatementRunnable;
620
+ }
621
+
622
+ declare class CDSGroupBy extends Expression {
623
+ getRunnable(): IStatementRunnable;
624
+ }
625
+
626
+ declare class CDSJoin extends Expression {
627
+ getRunnable(): IStatementRunnable;
628
+ }
629
+
552
630
  declare class CDSMetadataExtension extends AbstractObject {
553
631
  getType(): string;
554
632
  getAllowedNaming(): {
@@ -558,6 +636,46 @@ declare class CDSMetadataExtension extends AbstractObject {
558
636
  getDescription(): string | undefined;
559
637
  }
560
638
 
639
+ declare class CDSName extends Expression {
640
+ getRunnable(): IStatementRunnable;
641
+ }
642
+
643
+ declare class CDSParameters extends Expression {
644
+ getRunnable(): IStatementRunnable;
645
+ }
646
+
647
+ export declare class CDSParser {
648
+ parse(file: IFile | undefined): ExpressionNode | undefined;
649
+ }
650
+
651
+ declare class CDSRelation extends Expression {
652
+ getRunnable(): IStatementRunnable;
653
+ }
654
+
655
+ declare class CDSSelect extends Expression {
656
+ getRunnable(): IStatementRunnable;
657
+ }
658
+
659
+ declare class CDSSource extends Expression {
660
+ getRunnable(): IStatementRunnable;
661
+ }
662
+
663
+ declare class CDSString extends Expression {
664
+ getRunnable(): IStatementRunnable;
665
+ }
666
+
667
+ declare class CDSType extends Expression {
668
+ getRunnable(): IStatementRunnable;
669
+ }
670
+
671
+ declare class CDSWhere extends Expression {
672
+ getRunnable(): IStatementRunnable;
673
+ }
674
+
675
+ declare class CDSWithParameters extends Expression {
676
+ getRunnable(): IStatementRunnable;
677
+ }
678
+
561
679
  declare class ChangeDocument extends AbstractObject {
562
680
  getType(): string;
563
681
  getAllowedNaming(): {
@@ -585,6 +703,7 @@ declare class CharacterType extends AbstractType {
585
703
  isGeneric(): boolean;
586
704
  containsVoid(): boolean;
587
705
  getIdentifier(): undefined;
706
+ toCDS(): string;
588
707
  }
589
708
 
590
709
  declare class Check implements IStatement {
@@ -775,6 +894,7 @@ declare class CLikeType extends AbstractType {
775
894
  isGeneric(): boolean;
776
895
  toABAP(): string;
777
896
  containsVoid(): boolean;
897
+ toCDS(): string;
778
898
  }
779
899
 
780
900
  declare class CloseCursor implements IStatement {
@@ -986,6 +1106,7 @@ declare class CSequenceType extends AbstractType {
986
1106
  isGeneric(): boolean;
987
1107
  toABAP(): string;
988
1108
  containsVoid(): boolean;
1109
+ toCDS(): string;
989
1110
  }
990
1111
 
991
1112
  export declare class CurrentScope {
@@ -1113,10 +1234,8 @@ declare class DataControl extends AbstractObject {
1113
1234
  }
1114
1235
 
1115
1236
  declare class DataDefinition extends AbstractObject {
1116
- private sqlViewName;
1117
1237
  private parserError;
1118
- private fieldNames;
1119
- private sources;
1238
+ private parsedData;
1120
1239
  getType(): string;
1121
1240
  getAllowedNaming(): {
1122
1241
  maxLength: number;
@@ -1124,17 +1243,19 @@ declare class DataDefinition extends AbstractObject {
1124
1243
  };
1125
1244
  getSQLViewName(): string | undefined;
1126
1245
  getDescription(): string | undefined;
1127
- parseType(_reg: IRegistry): AbstractType;
1246
+ parseType(reg: IRegistry): AbstractType;
1247
+ getParsedData(): ParsedDataDefinition | undefined;
1128
1248
  listSources(): {
1129
1249
  name: string;
1130
1250
  as: string | undefined;
1131
- }[];
1251
+ }[] | undefined;
1132
1252
  setDirty(): void;
1133
1253
  findSourceFile(): IFile | undefined;
1134
1254
  hasParserError(): boolean | undefined;
1135
1255
  parse(): IParseResult;
1256
+ private findSQLViewName;
1136
1257
  private findFieldNames;
1137
- private findSources;
1258
+ private findSourcesAndRelations;
1138
1259
  }
1139
1260
 
1140
1261
  declare class DataDefinition_2 extends Expression {
@@ -1170,6 +1291,7 @@ declare class DataReference extends AbstractType {
1170
1291
  toABAP(): string;
1171
1292
  isGeneric(): boolean;
1172
1293
  containsVoid(): boolean;
1294
+ toCDS(): string;
1173
1295
  }
1174
1296
 
1175
1297
  declare class DateType extends AbstractType {
@@ -1177,6 +1299,7 @@ declare class DateType extends AbstractType {
1177
1299
  isGeneric(): boolean;
1178
1300
  toABAP(): string;
1179
1301
  containsVoid(): boolean;
1302
+ toCDS(): string;
1180
1303
  }
1181
1304
 
1182
1305
  declare class DDIC {
@@ -1214,6 +1337,7 @@ declare class DecFloat16Type extends AbstractType {
1214
1337
  isGeneric(): boolean;
1215
1338
  toABAP(): string;
1216
1339
  containsVoid(): boolean;
1340
+ toCDS(): string;
1217
1341
  }
1218
1342
 
1219
1343
  declare class DecFloat34Type extends AbstractType {
@@ -1221,6 +1345,7 @@ declare class DecFloat34Type extends AbstractType {
1221
1345
  isGeneric(): boolean;
1222
1346
  toABAP(): string;
1223
1347
  containsVoid(): boolean;
1348
+ toCDS(): string;
1224
1349
  }
1225
1350
 
1226
1351
  declare class DecFloatType extends AbstractType {
@@ -1228,6 +1353,7 @@ declare class DecFloatType extends AbstractType {
1228
1353
  isGeneric(): boolean;
1229
1354
  toABAP(): string;
1230
1355
  containsVoid(): boolean;
1356
+ toCDS(): string;
1231
1357
  }
1232
1358
 
1233
1359
  declare class Decimals extends Expression {
@@ -1825,6 +1951,40 @@ declare namespace Expressions {
1825
1951
  }
1826
1952
  export { Expressions }
1827
1953
 
1954
+ declare namespace ExpressionsCDS {
1955
+ export {
1956
+ CDSAggregate,
1957
+ CDSAnnotationArray,
1958
+ CDSAnnotationObject,
1959
+ CDSAnnotationSimple,
1960
+ CDSAnnotation,
1961
+ CDSArithmetics,
1962
+ CDSAs,
1963
+ CDSAssociation,
1964
+ CDSCardinality,
1965
+ CDSCase,
1966
+ CDSCast,
1967
+ CDSComposition,
1968
+ CDSCondition,
1969
+ CDSDefineAbstract,
1970
+ CDSDefineView,
1971
+ CDSElement,
1972
+ CDSFunction,
1973
+ CDSGroupBy,
1974
+ CDSJoin,
1975
+ CDSName,
1976
+ CDSParameters,
1977
+ CDSRelation,
1978
+ CDSSelect,
1979
+ CDSSource,
1980
+ CDSString,
1981
+ CDSType,
1982
+ CDSWhere,
1983
+ CDSWithParameters
1984
+ }
1985
+ }
1986
+ export { ExpressionsCDS }
1987
+
1828
1988
  declare class ExtensionIndex extends AbstractObject {
1829
1989
  getType(): string;
1830
1990
  getAllowedNaming(): {
@@ -1919,6 +2079,7 @@ declare class FloatingPointType extends AbstractType {
1919
2079
  toABAP(): string;
1920
2080
  isGeneric(): boolean;
1921
2081
  containsVoid(): boolean;
2082
+ toCDS(): string;
1922
2083
  }
1923
2084
 
1924
2085
  declare class FloatType extends AbstractType {
@@ -1926,6 +2087,7 @@ declare class FloatType extends AbstractType {
1926
2087
  isGeneric(): boolean;
1927
2088
  toABAP(): string;
1928
2089
  containsVoid(): boolean;
2090
+ toCDS(): string;
1929
2091
  }
1930
2092
 
1931
2093
  declare class For extends Expression {
@@ -2202,6 +2364,7 @@ declare class GenericObjectReferenceType extends AbstractType {
2202
2364
  isGeneric(): boolean;
2203
2365
  toABAP(): string;
2204
2366
  containsVoid(): boolean;
2367
+ toCDS(): string;
2205
2368
  }
2206
2369
 
2207
2370
  declare class Get implements IStatement {
@@ -2260,6 +2423,7 @@ declare class HexType extends AbstractType {
2260
2423
  toABAP(): string;
2261
2424
  isGeneric(): boolean;
2262
2425
  containsVoid(): boolean;
2426
+ toCDS(): string;
2263
2427
  }
2264
2428
 
2265
2429
  declare class Hide implements IStatement {
@@ -2845,6 +3009,7 @@ declare class IntegerType extends AbstractType {
2845
3009
  isGeneric(): boolean;
2846
3010
  toABAP(): string;
2847
3011
  containsVoid(): boolean;
3012
+ toCDS(): string;
2848
3013
  }
2849
3014
 
2850
3015
  declare class Interface extends ABAPObject {
@@ -3642,6 +3807,7 @@ declare class NumericGenericType extends AbstractType {
3642
3807
  isGeneric(): boolean;
3643
3808
  toABAP(): string;
3644
3809
  containsVoid(): boolean;
3810
+ toCDS(): string;
3645
3811
  }
3646
3812
 
3647
3813
  declare class NumericType extends AbstractType {
@@ -3652,6 +3818,7 @@ declare class NumericType extends AbstractType {
3652
3818
  toABAP(): string;
3653
3819
  isGeneric(): boolean;
3654
3820
  containsVoid(): boolean;
3821
+ toCDS(): string;
3655
3822
  }
3656
3823
 
3657
3824
  declare class ObjectCharacteristic extends AbstractObject {
@@ -3672,6 +3839,7 @@ declare class ObjectReferenceType extends AbstractType {
3672
3839
  isGeneric(): boolean;
3673
3840
  containsVoid(): boolean;
3674
3841
  getIdentifier(): Identifier;
3842
+ toCDS(): string;
3675
3843
  }
3676
3844
 
3677
3845
  declare namespace Objects {
@@ -3704,6 +3872,7 @@ declare namespace Objects {
3704
3872
  CustomizingImgActivity,
3705
3873
  CustomizingTransaction,
3706
3874
  DataControl,
3875
+ ParsedDataDefinition,
3707
3876
  DataDefinition,
3708
3877
  DataElement,
3709
3878
  DialogModule,
@@ -3848,6 +4017,7 @@ declare class PackedType extends AbstractType {
3848
4017
  toABAP(): string;
3849
4018
  isGeneric(): boolean;
3850
4019
  containsVoid(): boolean;
4020
+ toCDS(): string;
3851
4021
  }
3852
4022
 
3853
4023
  declare class Parameter extends AbstractObject {
@@ -3907,6 +4077,28 @@ declare class ParenRightW extends Token {
3907
4077
  static railroad(): string;
3908
4078
  }
3909
4079
 
4080
+ declare type ParsedDataDefinition = {
4081
+ sqlViewName: string | undefined;
4082
+ fields: {
4083
+ key: boolean;
4084
+ name: string;
4085
+ annotations: string[];
4086
+ }[];
4087
+ sources: {
4088
+ name: string;
4089
+ as: string | undefined;
4090
+ }[];
4091
+ associations: {
4092
+ name: string;
4093
+ as: string | undefined;
4094
+ }[];
4095
+ relations: {
4096
+ name: string;
4097
+ as: string | undefined;
4098
+ }[];
4099
+ tree: ExpressionNode | undefined;
4100
+ };
4101
+
3910
4102
  declare class PassByValue extends Expression {
3911
4103
  getRunnable(): IStatementRunnable;
3912
4104
  }
@@ -4523,6 +4715,7 @@ declare class SimpleType extends AbstractType {
4523
4715
  toABAP(): string;
4524
4716
  isGeneric(): boolean;
4525
4717
  containsVoid(): boolean;
4718
+ toCDS(): string;
4526
4719
  }
4527
4720
 
4528
4721
  declare class Skip implements IStatement {
@@ -5124,6 +5317,7 @@ declare class StringType extends AbstractType {
5124
5317
  isGeneric(): boolean;
5125
5318
  toABAP(): string;
5126
5319
  containsVoid(): boolean;
5320
+ toCDS(): string;
5127
5321
  }
5128
5322
 
5129
5323
  declare class StructureNode extends AbstractNode<StructureNode | StatementNode> {
@@ -5215,6 +5409,7 @@ declare class StructureType extends AbstractType {
5215
5409
  isGeneric(): boolean;
5216
5410
  toABAP(): string;
5217
5411
  containsVoid(): boolean;
5412
+ toCDS(): string;
5218
5413
  }
5219
5414
 
5220
5415
  declare class Submit implements IStatement {
@@ -5365,6 +5560,7 @@ declare class TableType_2 extends AbstractType {
5365
5560
  toText(level: number): string;
5366
5561
  isGeneric(): boolean;
5367
5562
  containsVoid(): boolean;
5563
+ toCDS(): string;
5368
5564
  }
5369
5565
 
5370
5566
  declare class Target extends Expression {
@@ -5425,6 +5621,7 @@ declare class TimeType extends AbstractType {
5425
5621
  isGeneric(): boolean;
5426
5622
  toABAP(): string;
5427
5623
  containsVoid(): boolean;
5624
+ toCDS(): string;
5428
5625
  }
5429
5626
 
5430
5627
  export declare abstract class Token {
@@ -5717,6 +5914,7 @@ declare class UnknownType extends AbstractType {
5717
5914
  toABAP(): string;
5718
5915
  isGeneric(): boolean;
5719
5916
  containsVoid(): boolean;
5917
+ toCDS(): string;
5720
5918
  }
5721
5919
 
5722
5920
  declare class Unpack implements IStatement {
@@ -5732,6 +5930,7 @@ declare class UTCLongType extends AbstractType {
5732
5930
  isGeneric(): boolean;
5733
5931
  toABAP(): string;
5734
5932
  containsVoid(): boolean;
5933
+ toCDS(): string;
5735
5934
  }
5736
5935
 
5737
5936
  declare class Value extends Expression {
@@ -5813,6 +6012,7 @@ declare class VoidType extends AbstractType {
5813
6012
  toText(): string;
5814
6013
  isGeneric(): boolean;
5815
6014
  containsVoid(): boolean;
6015
+ toCDS(): string;
5816
6016
  }
5817
6017
 
5818
6018
  declare class Wait implements IStatement {
@@ -5994,6 +6194,7 @@ declare class XSequenceType extends AbstractType {
5994
6194
  isGeneric(): boolean;
5995
6195
  toABAP(): string;
5996
6196
  containsVoid(): boolean;
6197
+ toCDS(): string;
5997
6198
  }
5998
6199
 
5999
6200
  declare class XStringType extends AbstractType {
@@ -6001,6 +6202,7 @@ declare class XStringType extends AbstractType {
6001
6202
  isGeneric(): boolean;
6002
6203
  toABAP(): string;
6003
6204
  containsVoid(): boolean;
6205
+ toCDS(): string;
6004
6206
  }
6005
6207
 
6006
6208
  export { }
@@ -72,13 +72,13 @@ class FlowGraph {
72
72
  this.label = label;
73
73
  }
74
74
  toDigraph() {
75
- return `digraph G {
76
- labelloc="t";
77
- label="${this.label}";
78
- graph [fontname = "helvetica"];
79
- node [fontname = "helvetica", shape="box"];
80
- edge [fontname = "helvetica"];
81
- ${this.toTextEdges()}
75
+ return `digraph G {
76
+ labelloc="t";
77
+ label="${this.label}";
78
+ graph [fontname = "helvetica"];
79
+ node [fontname = "helvetica", shape="box"];
80
+ edge [fontname = "helvetica"];
81
+ ${this.toTextEdges()}
82
82
  }`;
83
83
  }
84
84
  listSources(node) {
@@ -15,6 +15,9 @@ class AnyType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_ANY";
20
+ }
18
21
  }
19
22
  exports.AnyType = AnyType;
20
23
  //# sourceMappingURL=any_type.js.map
@@ -28,6 +28,9 @@ class CharacterType extends _abstract_type_1.AbstractType {
28
28
  getIdentifier() {
29
29
  return undefined;
30
30
  }
31
+ toCDS() {
32
+ return "abap.char( " + this.getLength() + " )";
33
+ }
31
34
  }
32
35
  exports.CharacterType = CharacterType;
33
36
  //# sourceMappingURL=character_type.js.map
@@ -15,6 +15,9 @@ class CLikeType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_CLIKE";
20
+ }
18
21
  }
19
22
  exports.CLikeType = CLikeType;
20
23
  //# sourceMappingURL=clike_type.js.map
@@ -15,6 +15,9 @@ class CSequenceType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_CSEQUENCE";
20
+ }
18
21
  }
19
22
  exports.CSequenceType = CSequenceType;
20
23
  //# sourceMappingURL=csequence_type.js.map
@@ -22,6 +22,9 @@ class DataReference extends _abstract_type_1.AbstractType {
22
22
  containsVoid() {
23
23
  return this.type.containsVoid();
24
24
  }
25
+ toCDS() {
26
+ return "abap.TODO_REFERENCE";
27
+ }
25
28
  }
26
29
  exports.DataReference = DataReference;
27
30
  //# sourceMappingURL=data_reference_type.js.map
@@ -15,6 +15,9 @@ class DateType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.dats";
20
+ }
18
21
  }
19
22
  exports.DateType = DateType;
20
23
  //# sourceMappingURL=date_type.js.map
@@ -15,6 +15,9 @@ class DecFloat16Type extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_DECFLOAT16";
20
+ }
18
21
  }
19
22
  exports.DecFloat16Type = DecFloat16Type;
20
23
  //# sourceMappingURL=decfloat16_type.js.map
@@ -15,6 +15,9 @@ class DecFloat34Type extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_DECFLOAT34";
20
+ }
18
21
  }
19
22
  exports.DecFloat34Type = DecFloat34Type;
20
23
  //# sourceMappingURL=decfloat34_type.js.map
@@ -15,6 +15,9 @@ class DecFloatType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.fltp";
20
+ }
18
21
  }
19
22
  exports.DecFloatType = DecFloatType;
20
23
  //# sourceMappingURL=decfloat_type.js.map
@@ -15,6 +15,9 @@ class EnumType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_ENUM";
20
+ }
18
21
  }
19
22
  exports.EnumType = EnumType;
20
23
  //# sourceMappingURL=enum_type.js.map
@@ -17,6 +17,9 @@ class FloatType extends _abstract_type_1.AbstractType {
17
17
  containsVoid() {
18
18
  return false;
19
19
  }
20
+ toCDS() {
21
+ return "abap.fltp";
22
+ }
20
23
  }
21
24
  exports.FloatType = FloatType;
22
25
  //# sourceMappingURL=float_type.js.map
@@ -26,6 +26,9 @@ class FloatingPointType extends _abstract_type_1.AbstractType {
26
26
  containsVoid() {
27
27
  return false;
28
28
  }
29
+ toCDS() {
30
+ return "abap.fltp";
31
+ }
29
32
  }
30
33
  exports.FloatingPointType = FloatingPointType;
31
34
  //# sourceMappingURL=floating_point_type.js.map
@@ -15,6 +15,9 @@ class GenericObjectReferenceType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_GENERICOBJECTREF";
20
+ }
18
21
  }
19
22
  exports.GenericObjectReferenceType = GenericObjectReferenceType;
20
23
  //# sourceMappingURL=generic_object_reference_type.js.map
@@ -25,6 +25,9 @@ class HexType extends _abstract_type_1.AbstractType {
25
25
  containsVoid() {
26
26
  return false;
27
27
  }
28
+ toCDS() {
29
+ return "abap.raw( " + this.getLength() + " )";
30
+ }
28
31
  }
29
32
  exports.HexType = HexType;
30
33
  //# sourceMappingURL=hex_type.js.map
@@ -15,6 +15,9 @@ class IntegerType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.int4";
20
+ }
18
21
  }
19
22
  exports.IntegerType = IntegerType;
20
23
  //# sourceMappingURL=integer_type.js.map
@@ -15,6 +15,9 @@ class NumericGenericType extends _abstract_type_1.AbstractType {
15
15
  containsVoid() {
16
16
  return false;
17
17
  }
18
+ toCDS() {
19
+ return "abap.TODO_NUMERICGENERIC";
20
+ }
18
21
  }
19
22
  exports.NumericGenericType = NumericGenericType;
20
23
  //# sourceMappingURL=numeric_generic_type.js.map
@@ -25,6 +25,9 @@ class NumericType extends _abstract_type_1.AbstractType {
25
25
  containsVoid() {
26
26
  return false;
27
27
  }
28
+ toCDS() {
29
+ return "abap.numc( " + this.getLength() + " )";
30
+ }
28
31
  }
29
32
  exports.NumericType = NumericType;
30
33
  //# sourceMappingURL=numeric_type.js.map
@@ -26,6 +26,9 @@ class ObjectReferenceType extends _abstract_type_1.AbstractType {
26
26
  getIdentifier() {
27
27
  return this.identifier;
28
28
  }
29
+ toCDS() {
30
+ return "abap.TODO_OBJECTREF";
31
+ }
29
32
  }
30
33
  exports.ObjectReferenceType = ObjectReferenceType;
31
34
  //# sourceMappingURL=object_reference_type.js.map