@abaplint/core 2.113.126 → 2.113.128

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 (205) hide show
  1. package/build/abaplint.d.ts +17 -3
  2. package/build/src/abap/3_structures/structures/dynpro_loop.js +1 -1
  3. package/build/src/abap/5_syntax/_builtin.js +10 -10
  4. package/build/src/abap/5_syntax/_procedural.js +2 -2
  5. package/build/src/abap/5_syntax/_type_utils.js +16 -7
  6. package/build/src/abap/5_syntax/basic_types.js +10 -10
  7. package/build/src/abap/5_syntax/expressions/attribute_chain.js +6 -7
  8. package/build/src/abap/5_syntax/expressions/attribute_name.js +6 -6
  9. package/build/src/abap/5_syntax/expressions/cast.js +9 -9
  10. package/build/src/abap/5_syntax/expressions/compare.js +4 -4
  11. package/build/src/abap/5_syntax/expressions/component_chain.js +8 -8
  12. package/build/src/abap/5_syntax/expressions/component_compare.js +3 -3
  13. package/build/src/abap/5_syntax/expressions/component_compare_simple.js +3 -3
  14. package/build/src/abap/5_syntax/expressions/component_cond.js +3 -3
  15. package/build/src/abap/5_syntax/expressions/component_name.js +4 -4
  16. package/build/src/abap/5_syntax/expressions/cond.js +3 -3
  17. package/build/src/abap/5_syntax/expressions/cond_body.js +5 -5
  18. package/build/src/abap/5_syntax/expressions/constant.js +1 -1
  19. package/build/src/abap/5_syntax/expressions/conv_body.js +4 -4
  20. package/build/src/abap/5_syntax/expressions/corresponding_body.js +3 -3
  21. package/build/src/abap/5_syntax/expressions/data_definition.js +3 -3
  22. package/build/src/abap/5_syntax/expressions/database_table.js +1 -1
  23. package/build/src/abap/5_syntax/expressions/default.js +3 -3
  24. package/build/src/abap/5_syntax/expressions/dereference.js +2 -2
  25. package/build/src/abap/5_syntax/expressions/dynamic.js +2 -2
  26. package/build/src/abap/5_syntax/expressions/field_assignment.js +2 -2
  27. package/build/src/abap/5_syntax/expressions/field_chain.js +19 -19
  28. package/build/src/abap/5_syntax/expressions/field_length.js +2 -2
  29. package/build/src/abap/5_syntax/expressions/field_offset.js +2 -2
  30. package/build/src/abap/5_syntax/expressions/filter_body.js +3 -3
  31. package/build/src/abap/5_syntax/expressions/for.js +8 -8
  32. package/build/src/abap/5_syntax/expressions/form_param.js +2 -2
  33. package/build/src/abap/5_syntax/expressions/fstarget.js +2 -2
  34. package/build/src/abap/5_syntax/expressions/inline_data.js +1 -1
  35. package/build/src/abap/5_syntax/expressions/inline_field_definition.js +3 -3
  36. package/build/src/abap/5_syntax/expressions/inline_fs.js +1 -1
  37. package/build/src/abap/5_syntax/expressions/inline_loop_definition.js +2 -2
  38. package/build/src/abap/5_syntax/expressions/let.js +2 -2
  39. package/build/src/abap/5_syntax/expressions/loop_group_by.js +6 -6
  40. package/build/src/abap/5_syntax/expressions/message_source.js +2 -2
  41. package/build/src/abap/5_syntax/expressions/method_call_body.js +3 -3
  42. package/build/src/abap/5_syntax/expressions/method_call_chain.js +21 -19
  43. package/build/src/abap/5_syntax/expressions/method_call_param.js +2 -2
  44. package/build/src/abap/5_syntax/expressions/method_def_returning.js +1 -1
  45. package/build/src/abap/5_syntax/expressions/method_param.js +4 -4
  46. package/build/src/abap/5_syntax/expressions/method_parameters.js +7 -7
  47. package/build/src/abap/5_syntax/expressions/method_source.js +20 -20
  48. package/build/src/abap/5_syntax/expressions/new_object.js +10 -10
  49. package/build/src/abap/5_syntax/expressions/raise_with.js +2 -2
  50. package/build/src/abap/5_syntax/expressions/reduce_body.js +7 -7
  51. package/build/src/abap/5_syntax/expressions/reduce_next.js +3 -3
  52. package/build/src/abap/5_syntax/expressions/select.js +25 -25
  53. package/build/src/abap/5_syntax/expressions/select_loop.js +2 -2
  54. package/build/src/abap/5_syntax/expressions/source.js +63 -60
  55. package/build/src/abap/5_syntax/expressions/source_field.js +2 -2
  56. package/build/src/abap/5_syntax/expressions/source_field_symbol.js +2 -2
  57. package/build/src/abap/5_syntax/expressions/sql_compare.js +6 -6
  58. package/build/src/abap/5_syntax/expressions/sql_for_all_entries.js +2 -2
  59. package/build/src/abap/5_syntax/expressions/sql_from.js +3 -3
  60. package/build/src/abap/5_syntax/expressions/sql_in.js +4 -4
  61. package/build/src/abap/5_syntax/expressions/sql_order_by.js +2 -2
  62. package/build/src/abap/5_syntax/expressions/sql_source.js +3 -3
  63. package/build/src/abap/5_syntax/expressions/string_template.js +6 -6
  64. package/build/src/abap/5_syntax/expressions/switch_body.js +4 -4
  65. package/build/src/abap/5_syntax/expressions/table_expression.js +2 -2
  66. package/build/src/abap/5_syntax/expressions/target.js +25 -23
  67. package/build/src/abap/5_syntax/expressions/type_table.js +2 -2
  68. package/build/src/abap/5_syntax/expressions/type_table_key.js +1 -1
  69. package/build/src/abap/5_syntax/expressions/value_body.js +10 -10
  70. package/build/src/abap/5_syntax/statements/add.js +2 -2
  71. package/build/src/abap/5_syntax/statements/add_corresponding.js +2 -2
  72. package/build/src/abap/5_syntax/statements/append.js +6 -6
  73. package/build/src/abap/5_syntax/statements/assert.js +1 -1
  74. package/build/src/abap/5_syntax/statements/assign.js +8 -8
  75. package/build/src/abap/5_syntax/statements/authority_check.js +1 -1
  76. package/build/src/abap/5_syntax/statements/call.js +3 -3
  77. package/build/src/abap/5_syntax/statements/call_badi.js +3 -3
  78. package/build/src/abap/5_syntax/statements/call_function.js +6 -6
  79. package/build/src/abap/5_syntax/statements/call_kernel.js +1 -1
  80. package/build/src/abap/5_syntax/statements/call_transaction.js +2 -2
  81. package/build/src/abap/5_syntax/statements/call_transformation.js +4 -4
  82. package/build/src/abap/5_syntax/statements/case.js +1 -1
  83. package/build/src/abap/5_syntax/statements/case_type.js +1 -1
  84. package/build/src/abap/5_syntax/statements/catch.js +2 -2
  85. package/build/src/abap/5_syntax/statements/check.js +1 -1
  86. package/build/src/abap/5_syntax/statements/class_data.js +2 -2
  87. package/build/src/abap/5_syntax/statements/class_implementation.js +1 -1
  88. package/build/src/abap/5_syntax/statements/clear.js +2 -2
  89. package/build/src/abap/5_syntax/statements/close_dataset.js +1 -1
  90. package/build/src/abap/5_syntax/statements/collect.js +3 -3
  91. package/build/src/abap/5_syntax/statements/commit_entities.js +3 -3
  92. package/build/src/abap/5_syntax/statements/concatenate.js +5 -5
  93. package/build/src/abap/5_syntax/statements/condense.js +1 -1
  94. package/build/src/abap/5_syntax/statements/convert.js +7 -7
  95. package/build/src/abap/5_syntax/statements/create_data.js +3 -3
  96. package/build/src/abap/5_syntax/statements/create_object.js +9 -6
  97. package/build/src/abap/5_syntax/statements/data.js +2 -2
  98. package/build/src/abap/5_syntax/statements/delete_cluster.js +1 -1
  99. package/build/src/abap/5_syntax/statements/delete_database.js +4 -4
  100. package/build/src/abap/5_syntax/statements/delete_internal.js +4 -4
  101. package/build/src/abap/5_syntax/statements/delete_memory.js +1 -1
  102. package/build/src/abap/5_syntax/statements/delete_report.js +1 -1
  103. package/build/src/abap/5_syntax/statements/describe.js +10 -10
  104. package/build/src/abap/5_syntax/statements/divide.js +2 -2
  105. package/build/src/abap/5_syntax/statements/do.js +2 -2
  106. package/build/src/abap/5_syntax/statements/editor_call.js +2 -2
  107. package/build/src/abap/5_syntax/statements/else_if.js +1 -1
  108. package/build/src/abap/5_syntax/statements/export.js +2 -2
  109. package/build/src/abap/5_syntax/statements/find.js +5 -5
  110. package/build/src/abap/5_syntax/statements/format.js +1 -1
  111. package/build/src/abap/5_syntax/statements/get_badi.js +3 -3
  112. package/build/src/abap/5_syntax/statements/get_bit.js +3 -3
  113. package/build/src/abap/5_syntax/statements/get_cursor.js +1 -1
  114. package/build/src/abap/5_syntax/statements/get_locale.js +2 -2
  115. package/build/src/abap/5_syntax/statements/get_parameter.js +3 -3
  116. package/build/src/abap/5_syntax/statements/get_reference.js +3 -3
  117. package/build/src/abap/5_syntax/statements/get_run_time.js +2 -2
  118. package/build/src/abap/5_syntax/statements/get_time.js +2 -2
  119. package/build/src/abap/5_syntax/statements/if.js +1 -1
  120. package/build/src/abap/5_syntax/statements/import.js +2 -2
  121. package/build/src/abap/5_syntax/statements/import_dynpro.js +2 -2
  122. package/build/src/abap/5_syntax/statements/include_type.js +2 -2
  123. package/build/src/abap/5_syntax/statements/insert_database.js +4 -4
  124. package/build/src/abap/5_syntax/statements/insert_field_group.js +3 -3
  125. package/build/src/abap/5_syntax/statements/insert_internal.js +7 -7
  126. package/build/src/abap/5_syntax/statements/insert_report.js +1 -1
  127. package/build/src/abap/5_syntax/statements/insert_textpool.js +1 -1
  128. package/build/src/abap/5_syntax/statements/log_point.js +1 -1
  129. package/build/src/abap/5_syntax/statements/loop.js +10 -10
  130. package/build/src/abap/5_syntax/statements/loop_at_screen.js +2 -2
  131. package/build/src/abap/5_syntax/statements/message.js +5 -5
  132. package/build/src/abap/5_syntax/statements/modify_database.js +5 -5
  133. package/build/src/abap/5_syntax/statements/modify_entities.js +3 -3
  134. package/build/src/abap/5_syntax/statements/modify_internal.js +4 -4
  135. package/build/src/abap/5_syntax/statements/modify_screen.js +1 -1
  136. package/build/src/abap/5_syntax/statements/move.js +4 -4
  137. package/build/src/abap/5_syntax/statements/move_corresponding.js +2 -2
  138. package/build/src/abap/5_syntax/statements/multiply.js +2 -2
  139. package/build/src/abap/5_syntax/statements/open_dataset.js +2 -2
  140. package/build/src/abap/5_syntax/statements/pack.js +2 -2
  141. package/build/src/abap/5_syntax/statements/parameter.js +1 -1
  142. package/build/src/abap/5_syntax/statements/perform.js +4 -4
  143. package/build/src/abap/5_syntax/statements/raise.js +8 -8
  144. package/build/src/abap/5_syntax/statements/raise_event.js +1 -1
  145. package/build/src/abap/5_syntax/statements/read_entities.js +3 -3
  146. package/build/src/abap/5_syntax/statements/read_report.js +2 -2
  147. package/build/src/abap/5_syntax/statements/read_table.js +8 -8
  148. package/build/src/abap/5_syntax/statements/read_textpool.js +2 -2
  149. package/build/src/abap/5_syntax/statements/receive.js +2 -2
  150. package/build/src/abap/5_syntax/statements/replace.js +2 -2
  151. package/build/src/abap/5_syntax/statements/scan.js +2 -2
  152. package/build/src/abap/5_syntax/statements/search.js +1 -1
  153. package/build/src/abap/5_syntax/statements/select.js +1 -1
  154. package/build/src/abap/5_syntax/statements/select_loop.js +1 -1
  155. package/build/src/abap/5_syntax/statements/selectoption.js +4 -4
  156. package/build/src/abap/5_syntax/statements/set_bit.js +2 -2
  157. package/build/src/abap/5_syntax/statements/set_handler.js +2 -2
  158. package/build/src/abap/5_syntax/statements/set_locale.js +2 -2
  159. package/build/src/abap/5_syntax/statements/set_parameter.js +1 -1
  160. package/build/src/abap/5_syntax/statements/set_pf_status.js +1 -1
  161. package/build/src/abap/5_syntax/statements/set_titlebar.js +1 -1
  162. package/build/src/abap/5_syntax/statements/shift.js +2 -2
  163. package/build/src/abap/5_syntax/statements/sort.js +2 -2
  164. package/build/src/abap/5_syntax/statements/split.js +3 -3
  165. package/build/src/abap/5_syntax/statements/static.js +1 -1
  166. package/build/src/abap/5_syntax/statements/submit.js +3 -3
  167. package/build/src/abap/5_syntax/statements/subtract.js +2 -2
  168. package/build/src/abap/5_syntax/statements/subtract_corresponding.js +2 -2
  169. package/build/src/abap/5_syntax/statements/syntax_check.js +2 -2
  170. package/build/src/abap/5_syntax/statements/system_call.js +1 -1
  171. package/build/src/abap/5_syntax/statements/transfer.js +2 -2
  172. package/build/src/abap/5_syntax/statements/translate.js +2 -2
  173. package/build/src/abap/5_syntax/statements/truncate_dataset.js +1 -1
  174. package/build/src/abap/5_syntax/statements/type.js +3 -3
  175. package/build/src/abap/5_syntax/statements/unpack.js +2 -2
  176. package/build/src/abap/5_syntax/statements/update_database.js +4 -4
  177. package/build/src/abap/5_syntax/statements/wait.js +2 -2
  178. package/build/src/abap/5_syntax/statements/when.js +1 -1
  179. package/build/src/abap/5_syntax/statements/when_type.js +3 -3
  180. package/build/src/abap/5_syntax/statements/while.js +3 -3
  181. package/build/src/abap/5_syntax/statements/with.js +2 -2
  182. package/build/src/abap/5_syntax/statements/with_loop.js +2 -2
  183. package/build/src/abap/5_syntax/statements/write.js +4 -4
  184. package/build/src/abap/5_syntax/structures/data.js +1 -1
  185. package/build/src/abap/5_syntax/structures/statics.js +1 -1
  186. package/build/src/abap/types/basic/any_type.js +13 -0
  187. package/build/src/abap/types/basic/cgeneric_type.js +7 -0
  188. package/build/src/abap/types/basic/integer_type.js +7 -4
  189. package/build/src/abap/types/basic/string_type.js +7 -4
  190. package/build/src/abap/types/basic/void_type.js +10 -0
  191. package/build/src/abap/types/basic/xgeneric_type.js +7 -0
  192. package/build/src/abap/types/basic/xstring_type.js +13 -0
  193. package/build/src/abap/types/event_definition.js +1 -1
  194. package/build/src/abap/types/form_definition.js +3 -3
  195. package/build/src/abap/types/method_parameters.js +11 -11
  196. package/build/src/cds/cds_determine_types.js +5 -5
  197. package/build/src/ddic.js +11 -11
  198. package/build/src/objects/authorization_check_field.js +1 -1
  199. package/build/src/objects/lock_object.js +1 -1
  200. package/build/src/objects/maintenance_and_transport_object.js +2 -2
  201. package/build/src/objects/table.js +1 -1
  202. package/build/src/objects/view.js +1 -1
  203. package/build/src/registry.js +1 -1
  204. package/build/src/rules/downport.js +2 -1
  205. package/package.json +5 -5
@@ -9,15 +9,15 @@ const basic_1 = require("../../types/basic");
9
9
  class ReadEntities {
10
10
  runSyntax(node, input) {
11
11
  for (const s of node.findDirectExpressions(Expressions.Source)) {
12
- new source_1.Source().runSyntax(s, input);
12
+ source_1.Source.runSyntax(s, input);
13
13
  }
14
14
  for (const t of node.findDirectExpressions(Expressions.Target)) {
15
15
  const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);
16
16
  if (inline) {
17
- new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType("ReadEntities"));
17
+ inline_data_1.InlineData.runSyntax(inline, input, basic_1.VoidType.get("ReadEntities"));
18
18
  }
19
19
  else {
20
- new target_1.Target().runSyntax(t, input);
20
+ target_1.Target.runSyntax(t, input);
21
21
  }
22
22
  }
23
23
  }
@@ -7,10 +7,10 @@ const source_1 = require("../expressions/source");
7
7
  class ReadReport {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -18,7 +18,7 @@ class ReadTable {
18
18
  if (firstSource === undefined) {
19
19
  firstSource = sources[0];
20
20
  }
21
- const sourceType = firstSource ? new source_1.Source().runSyntax(firstSource, input) : undefined;
21
+ const sourceType = firstSource ? source_1.Source.runSyntax(firstSource, input) : undefined;
22
22
  if (sourceType === undefined) {
23
23
  const message = "No source type determined, read table";
24
24
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -35,11 +35,11 @@ class ReadTable {
35
35
  }
36
36
  const components = node.findDirectExpression(Expressions.ComponentCompareSimple);
37
37
  if (components !== undefined) {
38
- new component_compare_simple_1.ComponentCompareSimple().runSyntax(components, input, rowType);
38
+ component_compare_simple_1.ComponentCompareSimple.runSyntax(components, input, rowType);
39
39
  }
40
40
  const indexSource = node.findExpressionAfterToken("INDEX");
41
41
  if (indexSource) {
42
- const indexType = new source_1.Source().runSyntax(indexSource, input);
42
+ const indexType = source_1.Source.runSyntax(indexSource, input);
43
43
  if (new _type_utils_1.TypeUtils(input.scope).isAssignable(indexType, basic_1.IntegerType.get()) === false) {
44
44
  const message = "READ TABLE, INDEX must be simple, got " + (indexType === null || indexType === void 0 ? void 0 : indexType.constructor.name);
45
45
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -48,7 +48,7 @@ class ReadTable {
48
48
  }
49
49
  const fromSource = node.findExpressionAfterToken("FROM");
50
50
  if (fromSource) {
51
- const fromType = new source_1.Source().runSyntax(fromSource, input);
51
+ const fromType = source_1.Source.runSyntax(fromSource, input);
52
52
  if (new _type_utils_1.TypeUtils(input.scope).isAssignable(fromType, rowType) === false) {
53
53
  const message = "READ TABLE, FROM must be compatible";
54
54
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, fromSource.getFirstToken(), message));
@@ -60,7 +60,7 @@ class ReadTable {
60
60
  if (s === firstSource || s === indexSource || s === fromSource) {
61
61
  continue;
62
62
  }
63
- const type = new source_1.Source().runSyntax(s, input);
63
+ const type = source_1.Source.runSyntax(s, input);
64
64
  if (s === afterKey) {
65
65
  if (type instanceof basic_1.StringType || type instanceof basic_1.TableType || type instanceof basic_1.ObjectReferenceType) {
66
66
  const message = "Key cannot be string or table or reference";
@@ -78,13 +78,13 @@ class ReadTable {
78
78
  const fst = target.findDirectExpression(Expressions.FSTarget);
79
79
  const t = target.findFirstExpression(Expressions.Target);
80
80
  if (inline) {
81
- new inline_data_1.InlineData().runSyntax(inline, input, rowType);
81
+ inline_data_1.InlineData.runSyntax(inline, input, rowType);
82
82
  }
83
83
  else if (fst) {
84
- new fstarget_1.FSTarget().runSyntax(fst, input, rowType);
84
+ fstarget_1.FSTarget.runSyntax(fst, input, rowType);
85
85
  }
86
86
  else if (t) {
87
- const targetType = new target_1.Target().runSyntax(t, input);
87
+ const targetType = target_1.Target.runSyntax(t, input);
88
88
  if (new _type_utils_1.TypeUtils(input.scope).isAssignable(rowType, targetType) === false) {
89
89
  const message = "Incompatible types";
90
90
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class ReadTextpool {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.SimpleTarget)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -9,10 +9,10 @@ class Receive {
9
9
  // todo, lots of work here, similar to call_function.ts
10
10
  // just recurse
11
11
  for (const s of node.findAllExpressions(Expressions.Source)) {
12
- new source_1.Source().runSyntax(s, input);
12
+ source_1.Source.runSyntax(s, input);
13
13
  }
14
14
  for (const t of node.findAllExpressions(Expressions.Target)) {
15
- new target_1.Target().runSyntax(t, input);
15
+ target_1.Target.runSyntax(t, input);
16
16
  }
17
17
  }
18
18
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Replace {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Scan {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class Search {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -10,7 +10,7 @@ class Select {
10
10
  for (let i = 0; i < selects.length; i++) {
11
11
  const last = i === selects.length - 1;
12
12
  const s = selects[i];
13
- new select_1.Select().runSyntax(s, input, last === false);
13
+ select_1.Select.runSyntax(s, input, last === false);
14
14
  }
15
15
  }
16
16
  }
@@ -7,7 +7,7 @@ class SelectLoop {
7
7
  runSyntax(node, input) {
8
8
  const s = node.findDirectExpression(Expressions.SelectLoop);
9
9
  if (s) {
10
- new select_loop_1.SelectLoop().runSyntax(s, input);
10
+ select_loop_1.SelectLoop.runSyntax(s, input);
11
11
  }
12
12
  }
13
13
  }
@@ -21,8 +21,8 @@ class SelectOption {
21
21
  return;
22
22
  }
23
23
  for (const d of node.findDirectExpressions(Expressions.Dynamic)) {
24
- new dynamic_1.Dynamic().runSyntax(d, input);
25
- input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.VoidType("DYNAMIC_SELECT_OPTION")));
24
+ dynamic_1.Dynamic.runSyntax(d, input);
25
+ input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, basic_1.VoidType.get("DYNAMIC_SELECT_OPTION")));
26
26
  return;
27
27
  }
28
28
  const nameExpression = node.findFirstExpression(Expressions.FieldChain);
@@ -36,7 +36,7 @@ class SelectOption {
36
36
  }
37
37
  }
38
38
  if (length === 0) {
39
- found = new basic_1.VoidType("Selectoption, fallback");
39
+ found = basic_1.VoidType.get("Selectoption, fallback");
40
40
  }
41
41
  else {
42
42
  found = new basic_1.CharacterType(length);
@@ -55,7 +55,7 @@ class SelectOption {
55
55
  }
56
56
  const magicName = "%_" + nameToken.getStr() + "_%_app_%";
57
57
  const magicToken = new tokens_1.Identifier(nameToken.getStart(), magicName);
58
- input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(magicToken, input.filename, new basic_1.VoidType("SELECT-OPTION magic")));
58
+ input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(magicToken, input.filename, basic_1.VoidType.get("SELECT-OPTION magic")));
59
59
  }
60
60
  }
61
61
  exports.SelectOption = SelectOption;
@@ -9,10 +9,10 @@ const _syntax_input_1 = require("../_syntax_input");
9
9
  class SetBit {
10
10
  runSyntax(node, input) {
11
11
  for (const s of node.findDirectExpressions(Expressions.Source)) {
12
- new source_1.Source().runSyntax(s, input);
12
+ source_1.Source.runSyntax(s, input);
13
13
  }
14
14
  for (const t of node.findDirectExpressions(Expressions.Target)) {
15
- const typ = new target_1.Target().runSyntax(t, input);
15
+ const typ = target_1.Target.runSyntax(t, input);
16
16
  if (typ && new _type_utils_1.TypeUtils(input.scope).isHexLike(typ) === false) {
17
17
  const message = "Input must be byte-like";
18
18
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, t.getFirstToken(), message));
@@ -7,10 +7,10 @@ const method_source_1 = require("../expressions/method_source");
7
7
  class SetHandler {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const s of node.findDirectExpressions(Expressions.MethodSource)) {
13
- new method_source_1.MethodSource().runSyntax(s, input);
13
+ method_source_1.MethodSource.runSyntax(s, input);
14
14
  }
15
15
  }
16
16
  }
@@ -7,10 +7,10 @@ const source_1 = require("../expressions/source");
7
7
  class SetLocale {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class SetParameter {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class SetPFStatus {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class SetTitlebar {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -9,7 +9,7 @@ const _syntax_input_1 = require("../_syntax_input");
9
9
  class Shift {
10
10
  runSyntax(node, input) {
11
11
  for (const s of node.findDirectExpressions(Expressions.Source)) {
12
- new source_1.Source().runSyntax(s, input);
12
+ source_1.Source.runSyntax(s, input);
13
13
  }
14
14
  const target = node.findDirectExpression(Expressions.Target);
15
15
  if (target === undefined) {
@@ -17,7 +17,7 @@ class Shift {
17
17
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
18
18
  return;
19
19
  }
20
- const targetType = new target_1.Target().runSyntax(target, input);
20
+ const targetType = target_1.Target.runSyntax(target, input);
21
21
  if (node.concatTokens().toUpperCase().includes(" IN BYTE MODE")) {
22
22
  if (new _type_utils_1.TypeUtils(input.scope).isHexLike(targetType) === false) {
23
23
  const message = "Shift, Target not hex like";
@@ -10,11 +10,11 @@ class Sort {
10
10
  runSyntax(node, input) {
11
11
  var _a, _b;
12
12
  for (const s of node.findDirectExpressions(Expressions.Dynamic)) {
13
- new dynamic_1.Dynamic().runSyntax(s, input);
13
+ dynamic_1.Dynamic.runSyntax(s, input);
14
14
  }
15
15
  const tnode = node.findDirectExpression(Expressions.Target);
16
16
  if (tnode) {
17
- const ttype = new target_1.Target().runSyntax(tnode, input);
17
+ const ttype = target_1.Target.runSyntax(tnode, input);
18
18
  if (ttype instanceof basic_1.TableType) {
19
19
  if (((_b = (_a = ttype.getOptions()) === null || _a === void 0 ? void 0 : _a.primaryKey) === null || _b === void 0 ? void 0 : _b.type) === basic_1.TableAccessType.sorted) {
20
20
  const message = `Sorted table, already sorted`;
@@ -15,10 +15,10 @@ class Split {
15
15
  for (const target of node.findAllExpressions(Expressions.Target)) {
16
16
  const inline = target.findDirectExpression(Expressions.InlineData);
17
17
  if (inline) {
18
- new inline_data_1.InlineData().runSyntax(inline, input, type);
18
+ inline_data_1.InlineData.runSyntax(inline, input, type);
19
19
  }
20
20
  else {
21
- let targetType = new target_1.Target().runSyntax(target, input);
21
+ let targetType = target_1.Target.runSyntax(target, input);
22
22
  if (intoTable) {
23
23
  if (!(targetType instanceof basic_1.TableType)
24
24
  && !(targetType instanceof basic_1.UnknownType)
@@ -39,7 +39,7 @@ class Split {
39
39
  }
40
40
  }
41
41
  for (const s of node.findDirectExpressions(Expressions.Source)) {
42
- new source_1.Source().runSyntax(s, input);
42
+ source_1.Source.runSyntax(s, input);
43
43
  }
44
44
  }
45
45
  }
@@ -10,7 +10,7 @@ class Static {
10
10
  runSyntax(node, input) {
11
11
  const tt = node.findFirstExpression(Expressions.TypeTable);
12
12
  if (tt) {
13
- const ttfound = new type_table_1.TypeTable().runSyntax(node, input);
13
+ const ttfound = type_table_1.TypeTable.runSyntax(node, input);
14
14
  if (ttfound) {
15
15
  return ttfound;
16
16
  }
@@ -8,13 +8,13 @@ const dynamic_1 = require("../expressions/dynamic");
8
8
  class Submit {
9
9
  runSyntax(node, input) {
10
10
  for (const s of node.findDirectExpressions(Expressions.Source)) {
11
- new source_1.Source().runSyntax(s, input);
11
+ source_1.Source.runSyntax(s, input);
12
12
  }
13
13
  for (const t of node.findDirectExpressions(Expressions.Target)) {
14
- new target_1.Target().runSyntax(t, input);
14
+ target_1.Target.runSyntax(t, input);
15
15
  }
16
16
  for (const t of node.findDirectExpressions(Expressions.Dynamic)) {
17
- new dynamic_1.Dynamic().runSyntax(t, input);
17
+ dynamic_1.Dynamic.runSyntax(t, input);
18
18
  }
19
19
  }
20
20
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Subtract {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class SubtractCorresponding {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class SyntaxCheck {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class SystemCall {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -7,11 +7,11 @@ const target_1 = require("../expressions/target");
7
7
  class Transfer {
8
8
  runSyntax(node, input) {
9
9
  for (const source of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(source, input);
10
+ source_1.Source.runSyntax(source, input);
11
11
  }
12
12
  const target = node.findDirectExpression(Expressions.Target);
13
13
  if (target) {
14
- new target_1.Target().runSyntax(target, input);
14
+ target_1.Target.runSyntax(target, input);
15
15
  }
16
16
  }
17
17
  }
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Translate {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class TruncateDataset {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -11,7 +11,7 @@ class Type {
11
11
  runSyntax(node, input, qualifiedNamePrefix) {
12
12
  const tt = node.findFirstExpression(Expressions.TypeTable);
13
13
  if (tt) {
14
- return new type_table_1.TypeTable().runSyntax(node, input, qualifiedNamePrefix);
14
+ return type_table_1.TypeTable.runSyntax(node, input, qualifiedNamePrefix);
15
15
  }
16
16
  const found = new basic_types_1.BasicTypes(input).simpleType(node, qualifiedNamePrefix);
17
17
  if (found) {
@@ -19,7 +19,7 @@ class Type {
19
19
  && (found === null || found === void 0 ? void 0 : found.getType().containsVoid()) === false) {
20
20
  const message = "TYPES definition cannot be generic, " + found.getName();
21
21
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
22
- return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));
22
+ return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey));
23
23
  }
24
24
  if (input.scope.isGlobalOO() && found.getType() instanceof basic_1.PackedType) {
25
25
  const concat = node.concatTokens().toUpperCase();
@@ -27,7 +27,7 @@ class Type {
27
27
  && concat.includes(" DECIMALS ") === false) {
28
28
  const message = "Specify DECIMALS in OO context for packed";
29
29
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
30
- return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));
30
+ return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey));
31
31
  }
32
32
  }
33
33
  return found;
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Unpack {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Target)) {
13
- new target_1.Target().runSyntax(t, input);
13
+ target_1.Target.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -13,7 +13,7 @@ class UpdateDatabase {
13
13
  runSyntax(node, input) {
14
14
  const dbtab = node.findFirstExpression(Expressions.DatabaseTable);
15
15
  if (dbtab !== undefined) {
16
- new database_table_1.DatabaseTable().runSyntax(dbtab, input);
16
+ database_table_1.DatabaseTable.runSyntax(dbtab, input);
17
17
  }
18
18
  const tableName = node.findDirectExpression(Expressions.DatabaseTable);
19
19
  const tokenName = tableName === null || tableName === void 0 ? void 0 : tableName.getFirstToken();
@@ -30,13 +30,13 @@ class UpdateDatabase {
30
30
  }
31
31
  }
32
32
  for (const s of node.findAllExpressions(Expressions.Source)) {
33
- new source_1.Source().runSyntax(s, input);
33
+ source_1.Source.runSyntax(s, input);
34
34
  }
35
35
  for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
36
- new source_1.Source().runSyntax(s, input);
36
+ source_1.Source.runSyntax(s, input);
37
37
  }
38
38
  for (const d of node.findAllExpressions(Expressions.Dynamic)) {
39
- new dynamic_1.Dynamic().runSyntax(d, input);
39
+ dynamic_1.Dynamic.runSyntax(d, input);
40
40
  }
41
41
  if (input.scope.getType() === _scope_type_1.ScopeType.OpenSQL) {
42
42
  input.scope.pop(node.getLastToken().getEnd());
@@ -7,10 +7,10 @@ const cond_1 = require("../expressions/cond");
7
7
  class Wait {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findDirectExpressions(Expressions.Source)) {
10
- new source_1.Source().runSyntax(s, input);
10
+ source_1.Source.runSyntax(s, input);
11
11
  }
12
12
  for (const t of node.findDirectExpressions(Expressions.Cond)) {
13
- new cond_1.Cond().runSyntax(t, input);
13
+ cond_1.Cond.runSyntax(t, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class When {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findAllExpressions(Expressions.Source)) {
9
- new source_1.Source().runSyntax(s, input);
9
+ source_1.Source.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -17,7 +17,7 @@ class WhenType {
17
17
  const className = nameToken.getStr();
18
18
  const found = input.scope.findObjectDefinition(className);
19
19
  if (found === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {
20
- type = new basic_1.VoidType(className);
20
+ type = basic_1.VoidType.get(className);
21
21
  }
22
22
  else if (found === undefined) {
23
23
  const message = "Class " + className + " not found";
@@ -30,10 +30,10 @@ class WhenType {
30
30
  const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.Target);
31
31
  const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);
32
32
  if (inline) {
33
- new inline_data_1.InlineData().runSyntax(inline, input, type);
33
+ inline_data_1.InlineData.runSyntax(inline, input, type);
34
34
  }
35
35
  else if (target) {
36
- new target_1.Target().runSyntax(target, input);
36
+ target_1.Target.runSyntax(target, input);
37
37
  }
38
38
  }
39
39
  }
@@ -8,13 +8,13 @@ const target_1 = require("../expressions/target");
8
8
  class While {
9
9
  runSyntax(node, input) {
10
10
  for (const s of node.findDirectExpressions(Expressions.Cond)) {
11
- new cond_1.Cond().runSyntax(s, input);
11
+ cond_1.Cond.runSyntax(s, input);
12
12
  }
13
13
  for (const s of node.findDirectExpressions(Expressions.Source)) {
14
- new source_1.Source().runSyntax(s, input);
14
+ source_1.Source.runSyntax(s, input);
15
15
  }
16
16
  for (const s of node.findDirectExpressions(Expressions.Target)) {
17
- new target_1.Target().runSyntax(s, input);
17
+ target_1.Target.runSyntax(s, input);
18
18
  }
19
19
  }
20
20
  }
@@ -7,10 +7,10 @@ const select_loop_1 = require("../expressions/select_loop");
7
7
  class With {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findAllExpressions(Expressions.Select)) {
10
- new select_1.Select().runSyntax(s, input);
10
+ select_1.Select.runSyntax(s, input);
11
11
  }
12
12
  for (const s of node.findAllExpressions(Expressions.SelectLoop)) {
13
- new select_loop_1.SelectLoop().runSyntax(s, input);
13
+ select_loop_1.SelectLoop.runSyntax(s, input);
14
14
  }
15
15
  }
16
16
  }
@@ -7,10 +7,10 @@ const select_loop_1 = require("../expressions/select_loop");
7
7
  class WithLoop {
8
8
  runSyntax(node, input) {
9
9
  for (const s of node.findAllExpressions(Expressions.Select)) {
10
- new select_1.Select().runSyntax(s, input);
10
+ select_1.Select.runSyntax(s, input);
11
11
  }
12
12
  for (const s of node.findAllExpressions(Expressions.SelectLoop)) {
13
- new select_loop_1.SelectLoop().runSyntax(s, input);
13
+ select_loop_1.SelectLoop.runSyntax(s, input);
14
14
  }
15
15
  }
16
16
  }