@abaplint/core 2.105.3 → 2.105.5

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 (115) hide show
  1. package/README.md +6 -6
  2. package/build/abaplint.d.ts +71 -35
  3. package/build/src/abap/2_statements/statements/delete_memory.js +2 -1
  4. package/build/src/abap/5_syntax/_builtin.js +202 -193
  5. package/build/src/abap/5_syntax/_current_scope.js +15 -11
  6. package/build/src/abap/5_syntax/_type_utils.js +2 -0
  7. package/build/src/abap/5_syntax/basic_types.js +2 -2
  8. package/build/src/abap/5_syntax/expressions/field_chain.js +2 -2
  9. package/build/src/abap/5_syntax/expressions/method_call_param.js +7 -2
  10. package/build/src/abap/5_syntax/expressions/target.js +11 -0
  11. package/build/src/abap/5_syntax/spaghetti_scope.js +8 -21
  12. package/build/src/abap/5_syntax/statements/catch.js +3 -3
  13. package/build/src/abap/5_syntax/statements/class_local_friends.js +1 -1
  14. package/build/src/abap/5_syntax/statements/raise.js +2 -2
  15. package/build/src/abap/flow/flow_graph.js +7 -7
  16. package/build/src/abap/types/basic/void_type.js +2 -2
  17. package/build/src/lsp/help.js +7 -7
  18. package/build/src/objects/index.js +24 -23
  19. package/build/src/objects/neptune_api.js +1 -1
  20. package/build/src/objects/standard_task.js +21 -0
  21. package/build/src/registry.js +1 -1
  22. package/build/src/rules/7bit_ascii.js +4 -4
  23. package/build/src/rules/abapdoc.js +4 -4
  24. package/build/src/rules/align_parameters.js +40 -40
  25. package/build/src/rules/ambiguous_statement.js +6 -6
  26. package/build/src/rules/avoid_use.js +10 -10
  27. package/build/src/rules/begin_end_names.js +4 -4
  28. package/build/src/rules/begin_single_include.js +12 -12
  29. package/build/src/rules/call_transaction_authority_check.js +3 -3
  30. package/build/src/rules/cds_comment_style.js +4 -4
  31. package/build/src/rules/cds_legacy_view.js +4 -4
  32. package/build/src/rules/chain_mainly_declarations.js +4 -4
  33. package/build/src/rules/change_if_to_case.js +8 -8
  34. package/build/src/rules/check_abstract.js +2 -2
  35. package/build/src/rules/check_comments.js +4 -4
  36. package/build/src/rules/check_include.js +3 -3
  37. package/build/src/rules/check_subrc.js +8 -8
  38. package/build/src/rules/classic_exceptions_overlap.js +10 -10
  39. package/build/src/rules/commented_code.js +1 -1
  40. package/build/src/rules/constructor_visibility_public.js +4 -4
  41. package/build/src/rules/contains_tab.js +2 -2
  42. package/build/src/rules/cyclic_oo.js +4 -4
  43. package/build/src/rules/dangerous_statement.js +1 -1
  44. package/build/src/rules/definitions_top.js +6 -6
  45. package/build/src/rules/downport.js +82 -82
  46. package/build/src/rules/easy_to_find_messages.js +6 -6
  47. package/build/src/rules/empty_line_in_statement.js +2 -2
  48. package/build/src/rules/exit_or_check.js +3 -3
  49. package/build/src/rules/expand_macros.js +5 -5
  50. package/build/src/rules/exporting.js +1 -1
  51. package/build/src/rules/forbidden_identifier.js +1 -1
  52. package/build/src/rules/forbidden_void_type.js +2 -2
  53. package/build/src/rules/fully_type_itabs.js +1 -1
  54. package/build/src/rules/functional_writing.js +17 -17
  55. package/build/src/rules/global_class.js +8 -8
  56. package/build/src/rules/identical_conditions.js +2 -2
  57. package/build/src/rules/identical_contents.js +14 -14
  58. package/build/src/rules/identical_descriptions.js +6 -6
  59. package/build/src/rules/if_in_if.js +35 -35
  60. package/build/src/rules/implement_methods.js +3 -3
  61. package/build/src/rules/in_statement_indentation.js +11 -11
  62. package/build/src/rules/intf_referencing_clas.js +3 -3
  63. package/build/src/rules/line_break_style.js +2 -2
  64. package/build/src/rules/line_length.js +1 -1
  65. package/build/src/rules/line_only_punc.js +1 -1
  66. package/build/src/rules/local_variable_names.js +2 -2
  67. package/build/src/rules/main_file_contents.js +4 -4
  68. package/build/src/rules/many_parentheses.js +10 -10
  69. package/build/src/rules/max_one_method_parameter_per_line.js +7 -7
  70. package/build/src/rules/max_one_statement.js +5 -5
  71. package/build/src/rules/method_length.js +2 -2
  72. package/build/src/rules/method_overwrites_builtin.js +4 -4
  73. package/build/src/rules/nesting.js +1 -1
  74. package/build/src/rules/no_chained_assignment.js +1 -1
  75. package/build/src/rules/no_external_form_calls.js +2 -2
  76. package/build/src/rules/no_inline_in_optional_branches.js +11 -11
  77. package/build/src/rules/no_prefixes.js +6 -6
  78. package/build/src/rules/no_public_attributes.js +1 -1
  79. package/build/src/rules/no_yoda_conditions.js +4 -4
  80. package/build/src/rules/nrob_consistency.js +2 -2
  81. package/build/src/rules/obsolete_statement.js +51 -51
  82. package/build/src/rules/omit_parameter_name.js +3 -3
  83. package/build/src/rules/omit_receiving.js +13 -13
  84. package/build/src/rules/parser_702_chaining.js +2 -2
  85. package/build/src/rules/parser_error.js +2 -2
  86. package/build/src/rules/parser_missing_space.js +1 -1
  87. package/build/src/rules/prefer_inline.js +16 -16
  88. package/build/src/rules/prefer_is_not.js +9 -9
  89. package/build/src/rules/prefer_raise_exception_new.js +5 -5
  90. package/build/src/rules/prefer_returning_to_exporting.js +1 -1
  91. package/build/src/rules/prefer_xsdbool.js +2 -2
  92. package/build/src/rules/reduce_procedural_code.js +17 -17
  93. package/build/src/rules/remove_descriptions.js +4 -4
  94. package/build/src/rules/rfc_error_handling.js +9 -9
  95. package/build/src/rules/select_add_order_by.js +5 -5
  96. package/build/src/rules/select_performance.js +5 -5
  97. package/build/src/rules/select_single_full_key.js +2 -2
  98. package/build/src/rules/sicf_consistency.js +2 -2
  99. package/build/src/rules/space_before_dot.js +2 -2
  100. package/build/src/rules/sql_value_conversion.js +6 -6
  101. package/build/src/rules/start_at_tab.js +1 -1
  102. package/build/src/rules/strict_sql.js +6 -6
  103. package/build/src/rules/sy_modification.js +3 -3
  104. package/build/src/rules/tabl_enhancement_category.js +2 -2
  105. package/build/src/rules/type_form_parameters.js +2 -2
  106. package/build/src/rules/unknown_types.js +2 -1
  107. package/build/src/rules/unnecessary_pragma.js +29 -29
  108. package/build/src/rules/unnecessary_return.js +11 -11
  109. package/build/src/rules/unused_methods.js +11 -11
  110. package/build/src/rules/unused_variables.js +12 -12
  111. package/build/src/rules/use_bool_expression.js +8 -8
  112. package/build/src/rules/use_line_exists.js +6 -6
  113. package/build/src/rules/use_new.js +4 -4
  114. package/build/src/rules/when_others_last.js +6 -6
  115. package/package.json +70 -70
@@ -94,31 +94,34 @@ class BuiltIn {
94
94
  constructor() {
95
95
  this.row = 1;
96
96
  }
97
- buildDefinition(method, row) {
98
- const token = new tokens_1.Identifier(new position_1.Position(row, 1), method.name);
99
- return new BuiltInMethod(token, BuiltIn.filename, method, row);
97
+ buildDefinition(method, name) {
98
+ if (method.cache) {
99
+ return method.cache;
100
+ }
101
+ const token = new tokens_1.Identifier(new position_1.Position(1, 1), name);
102
+ const result = new BuiltInMethod(token, BuiltIn.filename, method, method.counter);
103
+ method.cache = result;
104
+ return result;
100
105
  }
101
106
  searchBuiltin(name) {
102
107
  if (name === undefined) {
103
108
  return undefined;
104
109
  }
105
- // todo, optimize, use hash map
106
- const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());
107
- if (index < 0) {
110
+ const def = BuiltIn.methods[name.toUpperCase()];
111
+ if (def === undefined) {
108
112
  return undefined;
109
113
  }
110
- return this.buildDefinition(BuiltIn.methods[index], index);
114
+ return this.buildDefinition(def, name);
111
115
  }
112
116
  isPredicate(name) {
113
117
  if (name === undefined) {
114
118
  return undefined;
115
119
  }
116
- // todo, optimize, use hash map
117
- const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());
118
- if (index < 0) {
120
+ const def = BuiltIn.methods[name.toUpperCase()];
121
+ if (def === undefined) {
119
122
  return undefined;
120
123
  }
121
- return BuiltIn.methods[index].predicate;
124
+ return def.predicate;
122
125
  }
123
126
  getTypes() {
124
127
  const ret = this.buildSY();
@@ -133,32 +136,36 @@ class BuiltIn {
133
136
  return ret;
134
137
  }
135
138
  get(extras) {
136
- const ret = this.buildSY();
137
- ret.push(this.buildVariable("screen")); // todo, add structure, or alternatively make native Statements
138
- ret.push(this.buildConstant("%_ENDIAN"));
139
- ret.push(this.buildConstant("%_CHARSIZE"));
140
- ret.push(this.buildConstant("%_BACKSPACE", new basic_1.CharacterType(1), "\b"));
141
- ret.push(this.buildConstant("%_CR_LF", new basic_1.CharacterType(2), "\r\n"));
142
- ret.push(this.buildConstant("%_FORMFEED", new basic_1.CharacterType(1), "\f"));
143
- ret.push(this.buildConstant("%_HORIZONTAL_TAB", new basic_1.CharacterType(1), "\t"));
144
- ret.push(this.buildConstant("%_MAXCHAR", new basic_1.CharacterType(1), Buffer.from("FDFF", "hex").toString()));
145
- ret.push(this.buildConstant("%_MINCHAR", new basic_1.CharacterType(1), Buffer.from("0000", "hex").toString()));
146
- ret.push(this.buildConstant("%_NEWLINE", new basic_1.CharacterType(1), "\n"));
147
- ret.push(this.buildConstant("%_VERTICAL_TAB", new basic_1.CharacterType(1), "\v"));
148
- ret.push(this.buildConstant("abap_false", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "' '"));
149
- ret.push(this.buildConstant("abap_true", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'X'"));
150
- ret.push(this.buildConstant("abap_undefined", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'-'"));
151
- ret.push(this.buildConstant("abap_off", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "' '"));
152
- ret.push(this.buildConstant("abap_on", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'X'"));
153
- ret.push(this.buildConstant("col_background", basic_1.IntegerType.get(), "0"));
154
- ret.push(this.buildConstant("col_heading", basic_1.IntegerType.get(), "1"));
155
- ret.push(this.buildConstant("col_key", basic_1.IntegerType.get(), "4"));
156
- ret.push(this.buildConstant("col_negative", basic_1.IntegerType.get(), "6"));
157
- ret.push(this.buildConstant("col_group", basic_1.IntegerType.get(), "7"));
158
- ret.push(this.buildConstant("col_normal", basic_1.IntegerType.get(), "2"));
159
- ret.push(this.buildConstant("col_positive", basic_1.IntegerType.get(), "5"));
160
- ret.push(this.buildConstant("col_total", basic_1.IntegerType.get(), "3"));
161
- ret.push(this.buildConstant("space", new basic_1.CharacterType(1, { derivedFromConstant: true }), "' '"));
139
+ const ret = [];
140
+ if (BuiltIn.getCache.length === 0) {
141
+ BuiltIn.getCache.push(...this.buildSY());
142
+ BuiltIn.getCache.push(this.buildVariable("screen"));
143
+ BuiltIn.getCache.push(this.buildConstant("%_ENDIAN"));
144
+ BuiltIn.getCache.push(this.buildConstant("%_CHARSIZE"));
145
+ BuiltIn.getCache.push(this.buildConstant("%_BACKSPACE", new basic_1.CharacterType(1), "\b"));
146
+ BuiltIn.getCache.push(this.buildConstant("%_CR_LF", new basic_1.CharacterType(2), "\r\n"));
147
+ BuiltIn.getCache.push(this.buildConstant("%_FORMFEED", new basic_1.CharacterType(1), "\f"));
148
+ BuiltIn.getCache.push(this.buildConstant("%_HORIZONTAL_TAB", new basic_1.CharacterType(1), "\t"));
149
+ BuiltIn.getCache.push(this.buildConstant("%_MAXCHAR", new basic_1.CharacterType(1), Buffer.from("FDFF", "hex").toString()));
150
+ BuiltIn.getCache.push(this.buildConstant("%_MINCHAR", new basic_1.CharacterType(1), Buffer.from("0000", "hex").toString()));
151
+ BuiltIn.getCache.push(this.buildConstant("%_NEWLINE", new basic_1.CharacterType(1), "\n"));
152
+ BuiltIn.getCache.push(this.buildConstant("%_VERTICAL_TAB", new basic_1.CharacterType(1), "\v"));
153
+ BuiltIn.getCache.push(this.buildConstant("abap_false", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "' '"));
154
+ BuiltIn.getCache.push(this.buildConstant("abap_true", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'X'"));
155
+ BuiltIn.getCache.push(this.buildConstant("abap_undefined", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'-'"));
156
+ BuiltIn.getCache.push(this.buildConstant("abap_off", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "' '"));
157
+ BuiltIn.getCache.push(this.buildConstant("abap_on", new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" }), "'X'"));
158
+ BuiltIn.getCache.push(this.buildConstant("col_background", basic_1.IntegerType.get(), "0"));
159
+ BuiltIn.getCache.push(this.buildConstant("col_heading", basic_1.IntegerType.get(), "1"));
160
+ BuiltIn.getCache.push(this.buildConstant("col_key", basic_1.IntegerType.get(), "4"));
161
+ BuiltIn.getCache.push(this.buildConstant("col_negative", basic_1.IntegerType.get(), "6"));
162
+ BuiltIn.getCache.push(this.buildConstant("col_group", basic_1.IntegerType.get(), "7"));
163
+ BuiltIn.getCache.push(this.buildConstant("col_normal", basic_1.IntegerType.get(), "2"));
164
+ BuiltIn.getCache.push(this.buildConstant("col_positive", basic_1.IntegerType.get(), "5"));
165
+ BuiltIn.getCache.push(this.buildConstant("col_total", basic_1.IntegerType.get(), "3"));
166
+ BuiltIn.getCache.push(this.buildConstant("space", new basic_1.CharacterType(1, { derivedFromConstant: true }), "' '"));
167
+ }
168
+ ret.push(...BuiltIn.getCache);
162
169
  for (const e of extras) {
163
170
  const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), e);
164
171
  ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.VoidType(e), ["read_only" /* IdentifierMeta.ReadOnly */, "built-in" /* IdentifierMeta.BuiltIn */], "'?'"));
@@ -166,6 +173,10 @@ class BuiltIn {
166
173
  return ret;
167
174
  }
168
175
  /////////////////////////////
176
+ buildVariable(name) {
177
+ const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), name);
178
+ return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.VoidType(name), ["built-in" /* IdentifierMeta.BuiltIn */]);
179
+ }
169
180
  buildSY() {
170
181
  const components = [];
171
182
  // NOTE: fields must be in correct sequence for the syntax check
@@ -360,62 +371,60 @@ class BuiltIn {
360
371
  }
361
372
  return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, type, ["read_only" /* IdentifierMeta.ReadOnly */, "built-in" /* IdentifierMeta.BuiltIn */], value);
362
373
  }
363
- buildVariable(name) {
364
- const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), name);
365
- return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.VoidType(name), ["built-in" /* IdentifierMeta.BuiltIn */]);
366
- }
367
374
  }
368
375
  exports.BuiltIn = BuiltIn;
369
376
  BuiltIn.filename = "_builtin.prog.abap";
377
+ BuiltIn.counter = 1;
378
+ BuiltIn.getCache = [];
370
379
  // todo: "pcre" vs "regex", only one of these parameters are allowed
371
380
  // todo: "pcre", only possible from 755
372
- BuiltIn.methods = [
373
- {
374
- name: "ABS",
381
+ BuiltIn.methods = {
382
+ "ABS": {
383
+ counter: BuiltIn.counter++,
375
384
  mandatory: {
376
385
  "val": new basic_1.FloatType(),
377
386
  },
378
387
  return: basic_1.IntegerType.get(),
379
388
  },
380
- {
381
- name: "ACOS",
389
+ "ACOS": {
390
+ counter: BuiltIn.counter++,
382
391
  mandatory: {
383
392
  "val": new basic_1.FloatType(),
384
393
  },
385
394
  return: new basic_1.FloatType(),
386
395
  },
387
- {
388
- name: "ASIN",
396
+ "ASIN": {
397
+ counter: BuiltIn.counter++,
389
398
  mandatory: {
390
399
  "val": new basic_1.FloatType(),
391
400
  },
392
401
  return: new basic_1.FloatType(),
393
402
  },
394
- {
395
- name: "ATAN",
403
+ "ATAN": {
404
+ counter: BuiltIn.counter++,
396
405
  mandatory: {
397
406
  "val": new basic_1.FloatType(),
398
407
  },
399
408
  return: new basic_1.FloatType(),
400
409
  },
401
- {
402
- name: "BIT-SET",
410
+ "BIT-SET": {
411
+ counter: BuiltIn.counter++,
403
412
  mandatory: {
404
413
  "val": basic_1.IntegerType.get(),
405
414
  },
406
415
  return: new basic_1.XStringType(),
407
416
  version: version_1.Version.v702,
408
417
  },
409
- {
410
- name: "BOOLC",
418
+ "BOOLC": {
419
+ counter: BuiltIn.counter++,
411
420
  mandatory: {
412
421
  "val": basic_1.CLikeType.get(),
413
422
  },
414
423
  return: basic_1.StringType.get(),
415
424
  version: version_1.Version.v702,
416
425
  },
417
- {
418
- name: "BOOLX",
426
+ "BOOLX": {
427
+ counter: BuiltIn.counter++,
419
428
  mandatory: {
420
429
  "bool": basic_1.CLikeType.get(),
421
430
  },
@@ -425,15 +434,15 @@ BuiltIn.methods = [
425
434
  return: new basic_1.XStringType(),
426
435
  version: version_1.Version.v702,
427
436
  },
428
- {
429
- name: "CEIL",
437
+ "CEIL": {
438
+ counter: BuiltIn.counter++,
430
439
  mandatory: {
431
440
  "val": new basic_1.FloatType(),
432
441
  },
433
442
  return: basic_1.IntegerType.get(),
434
443
  },
435
- {
436
- name: "CHAR_OFF",
444
+ "CHAR_OFF": {
445
+ counter: BuiltIn.counter++,
437
446
  mandatory: {
438
447
  "val": basic_1.CLikeType.get(),
439
448
  "add": basic_1.IntegerType.get(),
@@ -444,15 +453,15 @@ BuiltIn.methods = [
444
453
  return: basic_1.IntegerType.get(),
445
454
  version: version_1.Version.v702,
446
455
  },
447
- {
448
- name: "CHARLEN",
456
+ "CHARLEN": {
457
+ counter: BuiltIn.counter++,
449
458
  mandatory: {
450
459
  "val": basic_1.CLikeType.get(),
451
460
  },
452
461
  return: basic_1.IntegerType.get(),
453
462
  },
454
- {
455
- name: "CMAX",
463
+ "CMAX": {
464
+ counter: BuiltIn.counter++,
456
465
  mandatory: {
457
466
  "val1": basic_1.CLikeType.get(),
458
467
  "val2": basic_1.CLikeType.get(),
@@ -468,8 +477,8 @@ BuiltIn.methods = [
468
477
  return: basic_1.StringType.get(),
469
478
  version: version_1.Version.v702,
470
479
  },
471
- {
472
- name: "CMIN",
480
+ "CMIN": {
481
+ counter: BuiltIn.counter++,
473
482
  mandatory: {
474
483
  "val1": basic_1.CLikeType.get(),
475
484
  "val2": basic_1.CLikeType.get(),
@@ -485,8 +494,8 @@ BuiltIn.methods = [
485
494
  return: basic_1.StringType.get(),
486
495
  version: version_1.Version.v702,
487
496
  },
488
- {
489
- name: "CONCAT_LINES_OF",
497
+ "CONCAT_LINES_OF": {
498
+ counter: BuiltIn.counter++,
490
499
  mandatory: {
491
500
  "table": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),
492
501
  },
@@ -496,8 +505,8 @@ BuiltIn.methods = [
496
505
  return: basic_1.StringType.get(),
497
506
  version: version_1.Version.v702,
498
507
  },
499
- {
500
- name: "CONDENSE",
508
+ "CONDENSE": {
509
+ counter: BuiltIn.counter++,
501
510
  mandatory: {
502
511
  "val": basic_1.CLikeType.get(),
503
512
  },
@@ -509,8 +518,8 @@ BuiltIn.methods = [
509
518
  return: basic_1.StringType.get(),
510
519
  version: version_1.Version.v702,
511
520
  },
512
- {
513
- name: "CONTAINS",
521
+ "CONTAINS": {
522
+ counter: BuiltIn.counter++,
514
523
  mandatory: {
515
524
  "val": basic_1.CLikeType.get(),
516
525
  },
@@ -529,8 +538,8 @@ BuiltIn.methods = [
529
538
  predicate: true,
530
539
  version: version_1.Version.v702,
531
540
  },
532
- {
533
- name: "CONTAINS_ANY_NOT_OF",
541
+ "CONTAINS_ANY_NOT_OF": {
542
+ counter: BuiltIn.counter++,
534
543
  mandatory: {
535
544
  "val": basic_1.CLikeType.get(),
536
545
  },
@@ -545,8 +554,8 @@ BuiltIn.methods = [
545
554
  predicate: true,
546
555
  return: new basic_1.CharacterType(1), version: version_1.Version.v702,
547
556
  },
548
- {
549
- name: "CONTAINS_ANY_OF",
557
+ "CONTAINS_ANY_OF": {
558
+ counter: BuiltIn.counter++,
550
559
  mandatory: {
551
560
  "val": basic_1.CLikeType.get(),
552
561
  },
@@ -562,22 +571,22 @@ BuiltIn.methods = [
562
571
  predicate: true,
563
572
  version: version_1.Version.v702,
564
573
  },
565
- {
566
- name: "COS",
574
+ "COS": {
575
+ counter: BuiltIn.counter++,
567
576
  mandatory: {
568
577
  "val": new basic_1.FloatType(),
569
578
  },
570
579
  return: new basic_1.FloatType(),
571
580
  },
572
- {
573
- name: "COSH",
581
+ "COSH": {
582
+ counter: BuiltIn.counter++,
574
583
  mandatory: {
575
584
  "val": new basic_1.FloatType(),
576
585
  },
577
586
  return: new basic_1.FloatType(),
578
587
  },
579
- {
580
- name: "COUNT",
588
+ "COUNT": {
589
+ counter: BuiltIn.counter++,
581
590
  mandatory: {
582
591
  "val": basic_1.CLikeType.get(),
583
592
  },
@@ -592,8 +601,8 @@ BuiltIn.methods = [
592
601
  return: basic_1.IntegerType.get(),
593
602
  version: version_1.Version.v702,
594
603
  },
595
- {
596
- name: "COUNT_ANY_NOT_OF",
604
+ "COUNT_ANY_NOT_OF": {
605
+ counter: BuiltIn.counter++,
597
606
  mandatory: {
598
607
  "val": basic_1.CLikeType.get(),
599
608
  },
@@ -608,8 +617,8 @@ BuiltIn.methods = [
608
617
  return: basic_1.IntegerType.get(),
609
618
  version: version_1.Version.v702,
610
619
  },
611
- {
612
- name: "COUNT_ANY_OF",
620
+ "COUNT_ANY_OF": {
621
+ counter: BuiltIn.counter++,
613
622
  mandatory: {
614
623
  "val": basic_1.CLikeType.get(),
615
624
  },
@@ -624,15 +633,15 @@ BuiltIn.methods = [
624
633
  return: basic_1.IntegerType.get(),
625
634
  version: version_1.Version.v702,
626
635
  },
627
- {
628
- name: "DBMAXLEN",
636
+ "DBMAXLEN": {
637
+ counter: BuiltIn.counter++,
629
638
  mandatory: {
630
639
  "val": basic_1.CLikeType.get(),
631
640
  },
632
641
  return: basic_1.IntegerType.get(),
633
642
  },
634
- {
635
- name: "DISTANCE",
643
+ "DISTANCE": {
644
+ counter: BuiltIn.counter++,
636
645
  mandatory: {
637
646
  "val1": basic_1.CLikeType.get(),
638
647
  "val2": basic_1.CLikeType.get(),
@@ -640,8 +649,8 @@ BuiltIn.methods = [
640
649
  return: basic_1.IntegerType.get(),
641
650
  version: version_1.Version.v702,
642
651
  },
643
- {
644
- name: "ESCAPE",
652
+ "ESCAPE": {
653
+ counter: BuiltIn.counter++,
645
654
  mandatory: {
646
655
  "val": basic_1.CLikeType.get(),
647
656
  "format": basic_1.CLikeType.get(),
@@ -649,15 +658,15 @@ BuiltIn.methods = [
649
658
  return: basic_1.StringType.get(),
650
659
  version: version_1.Version.v702,
651
660
  },
652
- {
653
- name: "EXP",
661
+ "EXP": {
662
+ counter: BuiltIn.counter++,
654
663
  mandatory: {
655
664
  "val": new basic_1.FloatType(),
656
665
  },
657
666
  return: new basic_1.FloatType(),
658
667
  },
659
- {
660
- name: "FIND",
668
+ "FIND": {
669
+ counter: BuiltIn.counter++,
661
670
  mandatory: {
662
671
  "val": basic_1.CLikeType.get(),
663
672
  },
@@ -673,8 +682,8 @@ BuiltIn.methods = [
673
682
  return: basic_1.IntegerType.get(),
674
683
  version: version_1.Version.v702,
675
684
  },
676
- {
677
- name: "FIND_ANY_NOT_OF",
685
+ "FIND_ANY_NOT_OF": {
686
+ counter: BuiltIn.counter++,
678
687
  mandatory: {
679
688
  "val": basic_1.CLikeType.get(),
680
689
  },
@@ -687,8 +696,8 @@ BuiltIn.methods = [
687
696
  return: basic_1.IntegerType.get(),
688
697
  version: version_1.Version.v702,
689
698
  },
690
- {
691
- name: "FIND_ANY_OF",
699
+ "FIND_ANY_OF": {
700
+ counter: BuiltIn.counter++,
692
701
  mandatory: {
693
702
  "val": basic_1.CLikeType.get(),
694
703
  },
@@ -701,8 +710,8 @@ BuiltIn.methods = [
701
710
  return: basic_1.IntegerType.get(),
702
711
  version: version_1.Version.v702,
703
712
  },
704
- {
705
- name: "FIND_END",
713
+ "FIND_END": {
714
+ counter: BuiltIn.counter++,
706
715
  mandatory: {
707
716
  "val": basic_1.CLikeType.get(),
708
717
  },
@@ -718,22 +727,22 @@ BuiltIn.methods = [
718
727
  return: basic_1.IntegerType.get(),
719
728
  version: version_1.Version.v702,
720
729
  },
721
- {
722
- name: "FLOOR",
730
+ "FLOOR": {
731
+ counter: BuiltIn.counter++,
723
732
  mandatory: {
724
733
  "val": new basic_1.FloatType(),
725
734
  },
726
735
  return: basic_1.IntegerType.get(),
727
736
  },
728
- {
729
- name: "FRAC",
737
+ "FRAC": {
738
+ counter: BuiltIn.counter++,
730
739
  mandatory: {
731
740
  "val": new basic_1.FloatType(),
732
741
  },
733
742
  return: basic_1.IntegerType.get(),
734
743
  },
735
- {
736
- name: "FROM_MIXED",
744
+ "FROM_MIXED": {
745
+ counter: BuiltIn.counter++,
737
746
  mandatory: {
738
747
  "val": basic_1.CLikeType.get()
739
748
  },
@@ -745,8 +754,8 @@ BuiltIn.methods = [
745
754
  return: basic_1.StringType.get(),
746
755
  version: version_1.Version.v702,
747
756
  },
748
- {
749
- name: "INSERT",
757
+ "INSERT": {
758
+ counter: BuiltIn.counter++,
750
759
  mandatory: {
751
760
  "val": basic_1.CLikeType.get(),
752
761
  "sub": basic_1.CLikeType.get(),
@@ -757,8 +766,8 @@ BuiltIn.methods = [
757
766
  return: basic_1.StringType.get(),
758
767
  version: version_1.Version.v702,
759
768
  },
760
- {
761
- name: "IPOW",
769
+ "IPOW": {
770
+ counter: BuiltIn.counter++,
762
771
  mandatory: {
763
772
  "base": new basic_1.FloatType(),
764
773
  "exp": new basic_1.FloatType(),
@@ -766,8 +775,8 @@ BuiltIn.methods = [
766
775
  return: basic_1.IntegerType.get(),
767
776
  version: version_1.Version.v740sp02,
768
777
  },
769
- {
770
- name: "LINE_EXISTS",
778
+ "LINE_EXISTS": {
779
+ counter: BuiltIn.counter++,
771
780
  mandatory: {
772
781
  "val": new basic_1.AnyType(),
773
782
  },
@@ -775,37 +784,37 @@ BuiltIn.methods = [
775
784
  predicate: true,
776
785
  version: version_1.Version.v740sp02,
777
786
  },
778
- {
779
- name: "LINE_INDEX",
787
+ "LINE_INDEX": {
788
+ counter: BuiltIn.counter++,
780
789
  mandatory: {
781
790
  "val": new basic_1.AnyType(),
782
791
  },
783
792
  return: basic_1.IntegerType.get(),
784
793
  version: version_1.Version.v740sp02,
785
794
  },
786
- {
787
- name: "LINES",
795
+ "LINES": {
796
+ counter: BuiltIn.counter++,
788
797
  mandatory: {
789
798
  "val": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),
790
799
  },
791
800
  return: basic_1.IntegerType.get(),
792
801
  },
793
- {
794
- name: "LOG",
802
+ "LOG": {
803
+ counter: BuiltIn.counter++,
795
804
  mandatory: {
796
805
  "val": new basic_1.FloatType(),
797
806
  },
798
807
  return: new basic_1.FloatType(),
799
808
  },
800
- {
801
- name: "LOG10",
809
+ "LOG10": {
810
+ counter: BuiltIn.counter++,
802
811
  mandatory: {
803
812
  "val": new basic_1.FloatType(),
804
813
  },
805
814
  return: new basic_1.FloatType(),
806
815
  },
807
- {
808
- name: "MATCH",
816
+ "MATCH": {
817
+ counter: BuiltIn.counter++,
809
818
  mandatory: {
810
819
  "val": basic_1.CLikeType.get(),
811
820
  }, optional: {
@@ -817,8 +826,8 @@ BuiltIn.methods = [
817
826
  return: basic_1.StringType.get(),
818
827
  version: version_1.Version.v702,
819
828
  },
820
- {
821
- name: "MATCHES",
829
+ "MATCHES": {
830
+ counter: BuiltIn.counter++,
822
831
  mandatory: {
823
832
  "val": basic_1.CLikeType.get(),
824
833
  },
@@ -833,8 +842,8 @@ BuiltIn.methods = [
833
842
  predicate: true,
834
843
  version: version_1.Version.v702,
835
844
  },
836
- {
837
- name: "NMAX",
845
+ "NMAX": {
846
+ counter: BuiltIn.counter++,
838
847
  mandatory: {
839
848
  "val1": basic_1.CLikeType.get(),
840
849
  "val2": basic_1.CLikeType.get(),
@@ -851,8 +860,8 @@ BuiltIn.methods = [
851
860
  return: basic_1.IntegerType.get(),
852
861
  version: version_1.Version.v702,
853
862
  },
854
- {
855
- name: "NMIN",
863
+ "NMIN": {
864
+ counter: BuiltIn.counter++,
856
865
  mandatory: {
857
866
  "val1": basic_1.CLikeType.get(),
858
867
  "val2": basic_1.CLikeType.get(),
@@ -869,15 +878,15 @@ BuiltIn.methods = [
869
878
  return: basic_1.IntegerType.get(),
870
879
  version: version_1.Version.v702,
871
880
  },
872
- {
873
- name: "NUMOFCHAR",
881
+ "NUMOFCHAR": {
882
+ counter: BuiltIn.counter++,
874
883
  mandatory: {
875
884
  "val": basic_1.CLikeType.get(),
876
885
  },
877
886
  return: basic_1.IntegerType.get(),
878
887
  },
879
- {
880
- name: "REPEAT",
888
+ "REPEAT": {
889
+ counter: BuiltIn.counter++,
881
890
  mandatory: {
882
891
  "val": basic_1.CLikeType.get(),
883
892
  "occ": basic_1.CLikeType.get(),
@@ -885,8 +894,8 @@ BuiltIn.methods = [
885
894
  return: basic_1.StringType.get(),
886
895
  version: version_1.Version.v702,
887
896
  },
888
- {
889
- name: "REPLACE",
897
+ "REPLACE": {
898
+ counter: BuiltIn.counter++,
890
899
  mandatory: {
891
900
  "val": basic_1.CLikeType.get(),
892
901
  "with": basic_1.CLikeType.get(),
@@ -903,8 +912,8 @@ BuiltIn.methods = [
903
912
  return: basic_1.StringType.get(),
904
913
  version: version_1.Version.v702,
905
914
  },
906
- {
907
- name: "RESCALE",
915
+ "RESCALE": {
916
+ counter: BuiltIn.counter++,
908
917
  mandatory: {
909
918
  "val": new basic_1.FloatType(),
910
919
  },
@@ -916,16 +925,16 @@ BuiltIn.methods = [
916
925
  return: new basic_1.FloatType(),
917
926
  version: version_1.Version.v702,
918
927
  },
919
- {
920
- name: "REVERSE",
928
+ "REVERSE": {
929
+ counter: BuiltIn.counter++,
921
930
  mandatory: {
922
931
  "val": basic_1.CLikeType.get(),
923
932
  },
924
933
  return: basic_1.StringType.get(),
925
934
  version: version_1.Version.v702,
926
935
  },
927
- {
928
- name: "ROUND",
936
+ "ROUND": {
937
+ counter: BuiltIn.counter++,
929
938
  mandatory: {
930
939
  "val": new basic_1.FloatType(),
931
940
  },
@@ -937,8 +946,8 @@ BuiltIn.methods = [
937
946
  return: basic_1.IntegerType.get(),
938
947
  version: version_1.Version.v702,
939
948
  },
940
- {
941
- name: "SEGMENT",
949
+ "SEGMENT": {
950
+ counter: BuiltIn.counter++,
942
951
  mandatory: {
943
952
  "val": basic_1.CLikeType.get(),
944
953
  "index": basic_1.IntegerType.get(),
@@ -950,8 +959,8 @@ BuiltIn.methods = [
950
959
  return: basic_1.StringType.get(),
951
960
  version: version_1.Version.v702,
952
961
  },
953
- {
954
- name: "SHIFT_LEFT",
962
+ "SHIFT_LEFT": {
963
+ counter: BuiltIn.counter++,
955
964
  mandatory: {
956
965
  "val": basic_1.CLikeType.get(),
957
966
  },
@@ -963,8 +972,8 @@ BuiltIn.methods = [
963
972
  return: basic_1.StringType.get(),
964
973
  version: version_1.Version.v702,
965
974
  },
966
- {
967
- name: "SHIFT_RIGHT",
975
+ "SHIFT_RIGHT": {
976
+ counter: BuiltIn.counter++,
968
977
  mandatory: {
969
978
  "val": basic_1.CLikeType.get(),
970
979
  },
@@ -976,43 +985,43 @@ BuiltIn.methods = [
976
985
  return: basic_1.StringType.get(),
977
986
  version: version_1.Version.v702,
978
987
  },
979
- {
980
- name: "SIGN",
988
+ "SIGN": {
989
+ counter: BuiltIn.counter++,
981
990
  mandatory: {
982
991
  "val": new basic_1.FloatType(),
983
992
  },
984
993
  return: basic_1.IntegerType.get(),
985
994
  },
986
- {
987
- name: "SIN",
995
+ "SIN": {
996
+ counter: BuiltIn.counter++,
988
997
  mandatory: {
989
998
  "val": new basic_1.FloatType(),
990
999
  },
991
1000
  return: new basic_1.FloatType(),
992
1001
  },
993
- {
994
- name: "SINH",
1002
+ "SINH": {
1003
+ counter: BuiltIn.counter++,
995
1004
  mandatory: {
996
1005
  "val": new basic_1.FloatType(),
997
1006
  },
998
1007
  return: new basic_1.FloatType(),
999
1008
  },
1000
- {
1001
- name: "SQRT",
1009
+ "SQRT": {
1010
+ counter: BuiltIn.counter++,
1002
1011
  mandatory: {
1003
1012
  "val": new basic_1.FloatType(),
1004
1013
  },
1005
1014
  return: new basic_1.FloatType(),
1006
1015
  },
1007
- {
1008
- name: "STRLEN",
1016
+ "STRLEN": {
1017
+ counter: BuiltIn.counter++,
1009
1018
  mandatory: {
1010
1019
  "val": basic_1.CLikeType.get(),
1011
1020
  },
1012
1021
  return: basic_1.IntegerType.get(),
1013
1022
  },
1014
- {
1015
- name: "SUBSTRING",
1023
+ "SUBSTRING": {
1024
+ counter: BuiltIn.counter++,
1016
1025
  mandatory: {
1017
1026
  "val": basic_1.CLikeType.get(),
1018
1027
  },
@@ -1023,8 +1032,8 @@ BuiltIn.methods = [
1023
1032
  return: basic_1.StringType.get(),
1024
1033
  version: version_1.Version.v702,
1025
1034
  },
1026
- {
1027
- name: "SUBSTRING_AFTER",
1035
+ "SUBSTRING_AFTER": {
1036
+ counter: BuiltIn.counter++,
1028
1037
  mandatory: {
1029
1038
  "val": basic_1.CLikeType.get(),
1030
1039
  },
@@ -1039,8 +1048,8 @@ BuiltIn.methods = [
1039
1048
  return: basic_1.StringType.get(),
1040
1049
  version: version_1.Version.v702,
1041
1050
  },
1042
- {
1043
- name: "SUBSTRING_BEFORE",
1051
+ "SUBSTRING_BEFORE": {
1052
+ counter: BuiltIn.counter++,
1044
1053
  mandatory: {
1045
1054
  "val": basic_1.CLikeType.get(),
1046
1055
  },
@@ -1055,8 +1064,8 @@ BuiltIn.methods = [
1055
1064
  return: basic_1.StringType.get(),
1056
1065
  version: version_1.Version.v702,
1057
1066
  },
1058
- {
1059
- name: "SUBSTRING_FROM",
1067
+ "SUBSTRING_FROM": {
1068
+ counter: BuiltIn.counter++,
1060
1069
  mandatory: {
1061
1070
  "val": basic_1.CLikeType.get(),
1062
1071
  },
@@ -1071,8 +1080,8 @@ BuiltIn.methods = [
1071
1080
  return: basic_1.StringType.get(),
1072
1081
  version: version_1.Version.v702,
1073
1082
  },
1074
- {
1075
- name: "SUBSTRING_TO",
1083
+ "SUBSTRING_TO": {
1084
+ counter: BuiltIn.counter++,
1076
1085
  mandatory: {
1077
1086
  "val": basic_1.CLikeType.get(),
1078
1087
  },
@@ -1087,30 +1096,30 @@ BuiltIn.methods = [
1087
1096
  return: basic_1.StringType.get(),
1088
1097
  version: version_1.Version.v702,
1089
1098
  },
1090
- {
1091
- name: "TAN",
1099
+ "TAN": {
1100
+ counter: BuiltIn.counter++,
1092
1101
  mandatory: {
1093
1102
  "val": new basic_1.FloatType(),
1094
1103
  },
1095
1104
  return: new basic_1.FloatType(),
1096
1105
  },
1097
- {
1098
- name: "TANH",
1106
+ "TANH": {
1107
+ counter: BuiltIn.counter++,
1099
1108
  mandatory: {
1100
1109
  "val": new basic_1.FloatType(),
1101
1110
  },
1102
1111
  return: new basic_1.FloatType(),
1103
1112
  },
1104
- {
1105
- name: "TO_LOWER",
1113
+ "TO_LOWER": {
1114
+ counter: BuiltIn.counter++,
1106
1115
  mandatory: {
1107
1116
  "val": basic_1.CLikeType.get(),
1108
1117
  },
1109
1118
  return: basic_1.StringType.get(),
1110
1119
  version: version_1.Version.v702,
1111
1120
  },
1112
- {
1113
- name: "TO_MIXED",
1121
+ "TO_MIXED": {
1122
+ counter: BuiltIn.counter++,
1114
1123
  mandatory: {
1115
1124
  "val": basic_1.CLikeType.get(),
1116
1125
  },
@@ -1122,14 +1131,14 @@ BuiltIn.methods = [
1122
1131
  return: basic_1.StringType.get(),
1123
1132
  version: version_1.Version.v702,
1124
1133
  },
1125
- {
1126
- name: "TO_UPPER",
1134
+ "TO_UPPER": {
1135
+ counter: BuiltIn.counter++,
1127
1136
  mandatory: { "val": basic_1.CLikeType.get() },
1128
1137
  return: basic_1.StringType.get(),
1129
1138
  version: version_1.Version.v702,
1130
1139
  },
1131
- {
1132
- name: "TRANSLATE",
1140
+ "TRANSLATE": {
1141
+ counter: BuiltIn.counter++,
1133
1142
  mandatory: {
1134
1143
  "val": basic_1.CLikeType.get(),
1135
1144
  "from": basic_1.CLikeType.get(),
@@ -1138,15 +1147,15 @@ BuiltIn.methods = [
1138
1147
  return: basic_1.StringType.get(),
1139
1148
  version: version_1.Version.v702,
1140
1149
  },
1141
- {
1142
- name: "TRUNC",
1150
+ "TRUNC": {
1151
+ counter: BuiltIn.counter++,
1143
1152
  mandatory: {
1144
1153
  "val": new basic_1.FloatType(),
1145
1154
  },
1146
1155
  return: basic_1.IntegerType.get(),
1147
1156
  },
1148
- {
1149
- name: "UTCLONG_ADD",
1157
+ "UTCLONG_ADD": {
1158
+ counter: BuiltIn.counter++,
1150
1159
  mandatory: {
1151
1160
  "val": new basic_1.UTCLongType(),
1152
1161
  },
@@ -1159,13 +1168,13 @@ BuiltIn.methods = [
1159
1168
  return: new basic_1.UTCLongType(),
1160
1169
  version: version_1.Version.v754,
1161
1170
  },
1162
- {
1163
- name: "UTCLONG_CURRENT",
1171
+ "UTCLONG_CURRENT": {
1172
+ counter: BuiltIn.counter++,
1164
1173
  return: new basic_1.UTCLongType(),
1165
1174
  version: version_1.Version.v754,
1166
1175
  },
1167
- {
1168
- name: "UTCLONG_DIFF",
1176
+ "UTCLONG_DIFF": {
1177
+ counter: BuiltIn.counter++,
1169
1178
  mandatory: {
1170
1179
  "high": new basic_1.UTCLongType(),
1171
1180
  "low": new basic_1.UTCLongType(),
@@ -1173,20 +1182,20 @@ BuiltIn.methods = [
1173
1182
  return: new basic_1.FloatType(),
1174
1183
  version: version_1.Version.v754,
1175
1184
  },
1176
- {
1177
- name: "XSDBOOL",
1185
+ "XSDBOOL": {
1186
+ counter: BuiltIn.counter++,
1178
1187
  mandatory: {
1179
1188
  "val": basic_1.CLikeType.get(),
1180
1189
  },
1181
1190
  return: new basic_1.CharacterType(1),
1182
1191
  version: version_1.Version.v740sp08,
1183
1192
  },
1184
- {
1185
- name: "XSTRLEN",
1193
+ "XSTRLEN": {
1194
+ counter: BuiltIn.counter++,
1186
1195
  mandatory: {
1187
1196
  "val": new basic_1.XSequenceType(),
1188
1197
  },
1189
1198
  return: basic_1.IntegerType.get(),
1190
1199
  },
1191
- ];
1200
+ };
1192
1201
  //# sourceMappingURL=_builtin.js.map