@abaplint/core 2.113.125 → 2.113.127

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 +18 -3
  2. package/build/src/abap/5_syntax/_builtin.js +10 -10
  3. package/build/src/abap/5_syntax/_current_scope.js +13 -0
  4. package/build/src/abap/5_syntax/_procedural.js +2 -2
  5. package/build/src/abap/5_syntax/_type_utils.js +13 -7
  6. package/build/src/abap/5_syntax/basic_types.js +11 -11
  7. package/build/src/abap/5_syntax/expressions/attribute_chain.js +5 -5
  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 -4
  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 +14 -14
  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 +30 -30
  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 +19 -19
  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/xml_consistency.js +1 -1
  205. package/package.json +5 -5
@@ -4,12 +4,12 @@ exports.TableExpression = void 0;
4
4
  const Expressions = require("../../2_statements/expressions");
5
5
  const source_1 = require("./source");
6
6
  class TableExpression {
7
- runSyntax(node, input) {
7
+ static runSyntax(node, input) {
8
8
  if (node === undefined) {
9
9
  return;
10
10
  }
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
  }
15
15
  }
@@ -16,7 +16,7 @@ const field_length_1 = require("./field_length");
16
16
  const cast_1 = require("./cast");
17
17
  const _syntax_input_1 = require("../_syntax_input");
18
18
  class Target {
19
- runSyntax(node, input) {
19
+ static runSyntax(node, input) {
20
20
  const concat = node.concatTokens();
21
21
  if (concat.includes("-")) {
22
22
  // workaround for names with dashes
@@ -35,7 +35,7 @@ class Target {
35
35
  if (context === undefined) {
36
36
  const message = `"${first.getFirstToken().getStr()}" not found, Target`;
37
37
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
38
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
38
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
39
39
  }
40
40
  while (children.length > 0) {
41
41
  const current = children.shift();
@@ -46,7 +46,7 @@ class Target {
46
46
  if (context instanceof unknown_type_1.UnknownType) {
47
47
  const message = "Not a structure, type unknown, target";
48
48
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
49
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
49
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
50
50
  }
51
51
  else if (!(context instanceof basic_1.StructureType)
52
52
  && !(context instanceof basic_1.TableType && context.isWithHeader() && context.getRowType() instanceof basic_1.StructureType)
@@ -54,7 +54,7 @@ class Target {
54
54
  && !(context instanceof basic_1.VoidType)) {
55
55
  const message = "Not a structure, target";
56
56
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
57
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
57
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
58
58
  }
59
59
  }
60
60
  else if (current.get() instanceof tokens_1.InstanceArrow) {
@@ -63,21 +63,21 @@ class Target {
63
63
  && !(context instanceof basic_1.VoidType)) {
64
64
  const message = "Not an object reference, target";
65
65
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
66
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
66
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
67
67
  }
68
68
  }
69
69
  else if (current.get() instanceof expressions_1.Dereference) {
70
70
  if (!(context instanceof basic_1.DataReference) && !(context instanceof basic_1.VoidType)) {
71
71
  const message = "Not an object reference, target";
72
72
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
73
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
73
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
74
74
  }
75
75
  if (!(context instanceof basic_1.VoidType)) {
76
76
  context = context.getType();
77
77
  }
78
78
  }
79
79
  else if (current.get() instanceof Expressions.ComponentName) {
80
- context = new component_name_1.ComponentName().runSyntax(context, current, input);
80
+ context = component_name_1.ComponentName.runSyntax(context, current, input);
81
81
  }
82
82
  else if (current.get() instanceof Expressions.TableBody) {
83
83
  if (!(context instanceof basic_1.TableType)
@@ -86,7 +86,7 @@ class Target {
86
86
  && !(context instanceof unknown_type_1.UnknownType)) {
87
87
  const message = "Not a internal table, \"[]\"";
88
88
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
89
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
89
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
90
90
  }
91
91
  if (context instanceof basic_1.TableType && context.isWithHeader()) {
92
92
  context = new basic_1.TableType(context.getRowType(), Object.assign(Object.assign({}, context.getOptions()), { withHeader: false }));
@@ -97,16 +97,16 @@ class Target {
97
97
  if (!(context instanceof basic_1.TableType) && !(context instanceof basic_1.VoidType)) {
98
98
  const message = "Table expression, expected table";
99
99
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
100
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
100
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
101
101
  }
102
- new table_expression_1.TableExpression().runSyntax(current, input);
102
+ table_expression_1.TableExpression.runSyntax(current, input);
103
103
  if (!(context instanceof basic_1.VoidType)) {
104
104
  context = context.getRowType();
105
105
  }
106
106
  }
107
107
  else if (current.get() instanceof Expressions.AttributeName) {
108
108
  const type = children.length === 0 ? _reference_1.ReferenceType.DataWriteReference : _reference_1.ReferenceType.DataReadReference;
109
- context = new attribute_name_1.AttributeName().runSyntax(context, current, input, type);
109
+ context = attribute_name_1.AttributeName.runSyntax(context, current, input, type);
110
110
  }
111
111
  }
112
112
  const offset = node.findDirectExpression(Expressions.FieldOffset);
@@ -114,23 +114,23 @@ class Target {
114
114
  if (context instanceof basic_1.XStringType || context instanceof basic_1.StringType) {
115
115
  const message = "xstring/string offset/length in writer position not possible";
116
116
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
117
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
117
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
118
118
  }
119
- new field_offset_1.FieldOffset().runSyntax(offset, input);
119
+ field_offset_1.FieldOffset.runSyntax(offset, input);
120
120
  }
121
121
  const length = node.findDirectExpression(Expressions.FieldLength);
122
122
  if (length) {
123
123
  if (context instanceof basic_1.XStringType || context instanceof basic_1.StringType) {
124
124
  const message = "xstring/string offset/length in writer position not possible";
125
125
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
126
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
126
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
127
127
  }
128
- new field_length_1.FieldLength().runSyntax(length, input);
128
+ field_length_1.FieldLength.runSyntax(length, input);
129
129
  }
130
130
  return context;
131
131
  }
132
132
  /////////////////////////////////
133
- findTop(node, input) {
133
+ static findTop(node, input) {
134
134
  if (node === undefined) {
135
135
  return undefined;
136
136
  }
@@ -158,18 +158,18 @@ class Target {
158
158
  }
159
159
  else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
160
160
  input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: name, ooType: "CLAS" });
161
- return new basic_1.VoidType(name);
161
+ return basic_1.VoidType.get(name);
162
162
  }
163
163
  else {
164
164
  return new unknown_type_1.UnknownType(name + " unknown, Target");
165
165
  }
166
166
  }
167
167
  else if (node.get() instanceof Expressions.Cast && node instanceof nodes_1.ExpressionNode) {
168
- const ret = new cast_1.Cast().runSyntax(node, input, undefined);
168
+ const ret = cast_1.Cast.runSyntax(node, input, undefined);
169
169
  if (ret instanceof unknown_type_1.UnknownType) {
170
170
  const message = "CAST, uknown type";
171
171
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
172
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
172
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
173
173
  }
174
174
  return ret;
175
175
  }
@@ -8,7 +8,7 @@ const basic_1 = require("../../types/basic");
8
8
  const _scope_type_1 = require("../_scope_type");
9
9
  const type_table_key_1 = require("./type_table_key");
10
10
  class TypeTable {
11
- runSyntax(node, input, qualifiedNamePrefix) {
11
+ static runSyntax(node, input, qualifiedNamePrefix) {
12
12
  // todo, input is currently the statement, but should be the expression?
13
13
  let nameExpr = node.findFirstExpression(Expressions.DefinitionName);
14
14
  if (nameExpr === undefined) {
@@ -31,7 +31,7 @@ class TypeTable {
31
31
  return new _typed_identifier_1.TypedIdentifier(name, input.filename, new basic_1.UnknownType("TableType, fallback"));
32
32
  }
33
33
  for (const tt of node.findAllExpressions(Expressions.TypeTableKey)) {
34
- const error = new type_table_key_1.TypeTableKey().runSyntax(tt, type);
34
+ const error = type_table_key_1.TypeTableKey.runSyntax(tt, type);
35
35
  if (error) {
36
36
  type = error;
37
37
  }
@@ -4,7 +4,7 @@ exports.TypeTableKey = void 0;
4
4
  const Expressions = require("../../2_statements/expressions");
5
5
  const basic_1 = require("../../types/basic");
6
6
  class TypeTableKey {
7
- runSyntax(node, type) {
7
+ static runSyntax(node, type) {
8
8
  if (type instanceof basic_1.TableType) {
9
9
  const rowType = type.getRowType();
10
10
  if (rowType instanceof basic_1.StructureType) {
@@ -9,7 +9,7 @@ const field_assignment_1 = require("./field_assignment");
9
9
  const basic_1 = require("../../types/basic");
10
10
  const _syntax_input_1 = require("../_syntax_input");
11
11
  class ValueBody {
12
- runSyntax(node, input, targetType) {
12
+ static runSyntax(node, input, targetType) {
13
13
  var _a;
14
14
  if (node === undefined) {
15
15
  return targetType;
@@ -17,31 +17,31 @@ class ValueBody {
17
17
  let letScoped = false;
18
18
  const letNode = node.findDirectExpression(Expressions.Let);
19
19
  if (letNode) {
20
- letScoped = new let_1.Let().runSyntax(letNode, input);
20
+ letScoped = let_1.Let.runSyntax(letNode, input);
21
21
  }
22
22
  let forScopes = 0;
23
23
  for (const forNode of node.findDirectExpressions(Expressions.For) || []) {
24
- const scoped = new for_1.For().runSyntax(forNode, input);
24
+ const scoped = for_1.For.runSyntax(forNode, input);
25
25
  if (scoped === true) {
26
26
  forScopes++;
27
27
  }
28
28
  }
29
29
  const fields = new Set();
30
30
  for (const s of node.findDirectExpressions(Expressions.FieldAssignment)) {
31
- new field_assignment_1.FieldAssignment().runSyntax(s, input, targetType);
31
+ field_assignment_1.FieldAssignment.runSyntax(s, input, targetType);
32
32
  const fieldname = (_a = s.findDirectExpression(Expressions.FieldSub)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();
33
33
  if (fieldname) {
34
34
  if (fields.has(fieldname)) {
35
35
  const message = "Duplicate field assignment";
36
36
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, s.getFirstToken(), message));
37
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
37
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
38
38
  }
39
39
  fields.add(fieldname);
40
40
  }
41
41
  }
42
42
  let type = undefined; // todo, this is only correct if there is a single source in the body
43
43
  for (const s of node.findDirectExpressions(Expressions.Source)) {
44
- type = new source_1.Source().runSyntax(s, input, type);
44
+ type = source_1.Source.runSyntax(s, input, type);
45
45
  }
46
46
  for (const foo of node.findDirectExpressions(Expressions.ValueBodyLine)) {
47
47
  if (!(targetType instanceof basic_1.TableType)
@@ -51,7 +51,7 @@ class ValueBody {
51
51
  && !(targetType instanceof basic_1.VoidType)) {
52
52
  const message = "Value, not a table type";
53
53
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, foo.getFirstToken(), message));
54
- return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
54
+ return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
55
55
  }
56
56
  let rowType = targetType;
57
57
  if (targetType instanceof basic_1.TableType) {
@@ -60,14 +60,14 @@ class ValueBody {
60
60
  for (const l of foo.findDirectExpressions(Expressions.ValueBodyLines)) {
61
61
  for (const s of l.findDirectExpressions(Expressions.Source)) {
62
62
  // LINES OF ?? todo, pass type,
63
- new source_1.Source().runSyntax(s, input);
63
+ source_1.Source.runSyntax(s, input);
64
64
  }
65
65
  }
66
66
  for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {
67
- new field_assignment_1.FieldAssignment().runSyntax(s, input, rowType);
67
+ field_assignment_1.FieldAssignment.runSyntax(s, input, rowType);
68
68
  }
69
69
  for (const s of foo.findDirectExpressions(Expressions.Source)) {
70
- new source_1.Source().runSyntax(s, input, rowType);
70
+ source_1.Source.runSyntax(s, input, rowType);
71
71
  }
72
72
  }
73
73
  if (letScoped === true) {
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Add {
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 AddCorresponding {
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
  }
@@ -15,7 +15,7 @@ class Append {
15
15
  let targetType = undefined;
16
16
  const target = node.findDirectExpression(Expressions.Target);
17
17
  if (target) {
18
- targetType = new target_1.Target().runSyntax(target, input);
18
+ targetType = target_1.Target.runSyntax(target, input);
19
19
  }
20
20
  const fsTarget = node.findExpressionAfterToken("ASSIGNING");
21
21
  if (fsTarget && fsTarget.get() instanceof Expressions.FSTarget) {
@@ -25,7 +25,7 @@ class Append {
25
25
  return;
26
26
  }
27
27
  const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;
28
- new fstarget_1.FSTarget().runSyntax(fsTarget, input, rowType);
28
+ fstarget_1.FSTarget.runSyntax(fsTarget, input, rowType);
29
29
  }
30
30
  const dataTarget = node.findExpressionAfterToken("INTO");
31
31
  if (dataTarget && node.concatTokens().toUpperCase().includes(" REFERENCE INTO DATA(")) {
@@ -35,7 +35,7 @@ class Append {
35
35
  return;
36
36
  }
37
37
  const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;
38
- new inline_data_1.InlineData().runSyntax(dataTarget, input, new basic_1.DataReference(rowType));
38
+ inline_data_1.InlineData.runSyntax(dataTarget, input, new basic_1.DataReference(rowType));
39
39
  }
40
40
  let source = node.findDirectExpression(Expressions.SimpleSource4);
41
41
  if (source === undefined) {
@@ -57,7 +57,7 @@ class Append {
57
57
  else if (targetType instanceof basic_1.VoidType) {
58
58
  rowType = targetType;
59
59
  }
60
- let sourceType = new source_1.Source().runSyntax(source, input, rowType);
60
+ let sourceType = source_1.Source.runSyntax(source, input, rowType);
61
61
  if (node.findDirectTokenByText("LINES")) {
62
62
  // hmm, checking only the row types are compatible will not check the table type, e.g. sorted or hashed
63
63
  if (sourceType instanceof basic_1.TableType) {
@@ -82,11 +82,11 @@ class Append {
82
82
  }
83
83
  const from = node.findExpressionAfterToken("FROM");
84
84
  if (from && from.get() instanceof Expressions.Source) {
85
- new source_1.Source().runSyntax(from, input);
85
+ source_1.Source.runSyntax(from, input);
86
86
  }
87
87
  const to = node.findExpressionAfterToken("TO");
88
88
  if (to && to.get() instanceof Expressions.Source) {
89
- new source_1.Source().runSyntax(to, input);
89
+ source_1.Source.runSyntax(to, input);
90
90
  }
91
91
  }
92
92
  }
@@ -6,7 +6,7 @@ const cond_1 = require("../expressions/cond");
6
6
  class Assert {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Cond)) {
9
- new cond_1.Cond().runSyntax(s, input);
9
+ cond_1.Cond.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -26,15 +26,15 @@ class Assign {
26
26
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
27
27
  return;
28
28
  }
29
- sourceType = new basic_1.VoidType("Dynamic");
29
+ sourceType = basic_1.VoidType.get("Dynamic");
30
30
  }
31
31
  else {
32
- sourceType = new source_1.Source().runSyntax(theSource, input);
32
+ sourceType = source_1.Source.runSyntax(theSource, input);
33
33
  }
34
34
  if ((assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren().length) === 5
35
35
  && ((_a = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getFirstChild()) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase()) === "COMPONENT") {
36
36
  const componentSource = sources[sources.length - 2];
37
- const componentType = new source_1.Source().runSyntax(componentSource, input);
37
+ const componentType = source_1.Source.runSyntax(componentSource, input);
38
38
  if (new _type_utils_1.TypeUtils(input.scope).isAssignable(componentType, new basic_1.CharacterType(30)) === false) {
39
39
  const message = "component name must be charlike";
40
40
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -42,25 +42,25 @@ class Assign {
42
42
  }
43
43
  }
44
44
  if (sourceType === undefined || (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpression(Expressions.Dynamic))) {
45
- sourceType = new basic_1.AnyType();
45
+ sourceType = basic_1.AnyType.get();
46
46
  }
47
47
  for (const d of (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findAllExpressions(Expressions.Dynamic)) || []) {
48
- new dynamic_1.Dynamic().runSyntax(d, input);
48
+ dynamic_1.Dynamic.runSyntax(d, input);
49
49
  }
50
50
  const target = node.findDirectExpression(Expressions.FSTarget);
51
51
  if (target) {
52
52
  if (((_b = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getFirstChild()) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase()) === "COMPONENT") {
53
- new fstarget_1.FSTarget().runSyntax(target, input, new basic_1.AnyType());
53
+ fstarget_1.FSTarget.runSyntax(target, input, basic_1.AnyType.get());
54
54
  }
55
55
  else {
56
- new fstarget_1.FSTarget().runSyntax(target, input, sourceType);
56
+ fstarget_1.FSTarget.runSyntax(target, input, sourceType);
57
57
  }
58
58
  }
59
59
  for (const s of node.findAllExpressions(Expressions.Source)) {
60
60
  if (s === theSource) {
61
61
  continue;
62
62
  }
63
- new source_1.Source().runSyntax(s, input);
63
+ source_1.Source.runSyntax(s, input);
64
64
  }
65
65
  }
66
66
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class AuthorityCheck {
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
  }
@@ -12,7 +12,7 @@ class Call {
12
12
  const children = node.getChildren();
13
13
  if (children.length === 2) {
14
14
  const first = children[0];
15
- new method_call_chain_1.MethodCallChain().runSyntax(first, input);
15
+ method_call_chain_1.MethodCallChain.runSyntax(first, input);
16
16
  return;
17
17
  }
18
18
  const methodSource = children[2];
@@ -21,11 +21,11 @@ class Call {
21
21
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
22
22
  return;
23
23
  }
24
- const methodDef = new method_source_1.MethodSource().runSyntax(methodSource, input);
24
+ const methodDef = method_source_1.MethodSource.runSyntax(methodSource, input);
25
25
  const body = children[3];
26
26
  if (body instanceof nodes_1.ExpressionNode) {
27
27
  // todo, resolve the method definition above and pass, if possible, in case of dynamic pass void
28
- new method_call_body_1.MethodCallBody().runSyntax(body, input, methodDef || new void_type_1.VoidType("CallTODO"));
28
+ method_call_body_1.MethodCallBody.runSyntax(body, input, methodDef || void_type_1.VoidType.get("CallTODO"));
29
29
  }
30
30
  }
31
31
  }
@@ -8,13 +8,13 @@ const dynamic_1 = require("../expressions/dynamic");
8
8
  class CallBadi {
9
9
  runSyntax(node, input) {
10
10
  for (const s of node.findAllExpressions(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.findAllExpressions(Expressions.Target)) {
14
- new target_1.Target().runSyntax(t, input);
14
+ target_1.Target.runSyntax(t, input);
15
15
  }
16
16
  for (const d of node.findAllExpressions(Expressions.Dynamic)) {
17
- new dynamic_1.Dynamic().runSyntax(d, input);
17
+ dynamic_1.Dynamic.runSyntax(d, input);
18
18
  }
19
19
  }
20
20
  }
@@ -14,7 +14,7 @@ class CallFunction {
14
14
  const name = node.findFirstExpression(Expressions.FunctionName);
15
15
  const chain = name === null || name === void 0 ? void 0 : name.findFirstExpression(Expressions.FieldChain);
16
16
  if (chain) {
17
- new field_chain_1.FieldChain().runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);
17
+ field_chain_1.FieldChain.runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);
18
18
  }
19
19
  else if (input.scope.getVersion() === version_1.Version.Cloud
20
20
  && node.findDirectExpression(Expressions.Destination) === undefined) {
@@ -27,20 +27,20 @@ class CallFunction {
27
27
  }
28
28
  // just recurse
29
29
  for (const s of node.findAllExpressions(Expressions.Source)) {
30
- new source_1.Source().runSyntax(s, input);
30
+ source_1.Source.runSyntax(s, input);
31
31
  }
32
32
  for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
33
- new source_1.Source().runSyntax(s, input);
33
+ source_1.Source.runSyntax(s, input);
34
34
  }
35
35
  for (const t of node.findAllExpressions(Expressions.Target)) {
36
- new target_1.Target().runSyntax(t, input);
36
+ target_1.Target.runSyntax(t, input);
37
37
  }
38
38
  for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {
39
- new source_1.Source().runSyntax(s, input);
39
+ source_1.Source.runSyntax(s, input);
40
40
  }
41
41
  const exceptions = node.findFirstExpression(Expressions.ParameterException);
42
42
  for (const s of (exceptions === null || exceptions === void 0 ? void 0 : exceptions.findAllExpressions(Expressions.SimpleFieldChain)) || []) {
43
- new field_chain_1.FieldChain().runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);
43
+ field_chain_1.FieldChain.runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);
44
44
  }
45
45
  }
46
46
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class CallKernel {
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
  }
@@ -7,10 +7,10 @@ const source_1 = require("../expressions/source");
7
7
  class CallTransaction {
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
  }
@@ -10,18 +10,18 @@ const dynamic_1 = require("../expressions/dynamic");
10
10
  class CallTransformation {
11
11
  runSyntax(node, input) {
12
12
  for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
13
- new source_1.Source().runSyntax(s, input);
13
+ source_1.Source.runSyntax(s, input);
14
14
  }
15
15
  for (const d of node.findAllExpressions(Expressions.Dynamic)) {
16
- new dynamic_1.Dynamic().runSyntax(d, input);
16
+ dynamic_1.Dynamic.runSyntax(d, input);
17
17
  }
18
18
  for (const t of node.findAllExpressions(Expressions.Target)) {
19
19
  const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);
20
20
  if (inline) {
21
- new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.XStringType());
21
+ inline_data_1.InlineData.runSyntax(inline, input, basic_1.XStringType.get());
22
22
  }
23
23
  else {
24
- new target_1.Target().runSyntax(t, input);
24
+ target_1.Target.runSyntax(t, input);
25
25
  }
26
26
  }
27
27
  }
@@ -7,7 +7,7 @@ class Case {
7
7
  runSyntax(node, input) {
8
8
  // just recurse
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
  }
13
13
  }
@@ -7,7 +7,7 @@ class CaseType {
7
7
  runSyntax(node, input) {
8
8
  // just recurse
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
  }
13
13
  }
@@ -46,7 +46,7 @@ class Catch {
46
46
  input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);
47
47
  }
48
48
  else if (token && input.scope.getDDIC().inErrorNamespace(firstClassName) === false) {
49
- const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.VoidType(firstClassName), ["inline" /* IdentifierMeta.InlineDefinition */]);
49
+ const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, basic_1.VoidType.get(firstClassName), ["inline" /* IdentifierMeta.InlineDefinition */]);
50
50
  input.scope.addIdentifier(identifier);
51
51
  input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);
52
52
  }
@@ -58,7 +58,7 @@ class Catch {
58
58
  }
59
59
  }
60
60
  else if (target) {
61
- new target_1.Target().runSyntax(target, input);
61
+ target_1.Target.runSyntax(target, input);
62
62
  }
63
63
  }
64
64
  }
@@ -6,7 +6,7 @@ const cond_1 = require("../expressions/cond");
6
6
  class Check {
7
7
  runSyntax(node, input) {
8
8
  for (const s of node.findDirectExpressions(Expressions.Cond)) {
9
- new cond_1.Cond().runSyntax(s, input);
9
+ cond_1.Cond.runSyntax(s, input);
10
10
  }
11
11
  }
12
12
  }
@@ -11,7 +11,7 @@ class ClassData {
11
11
  runSyntax(node, input) {
12
12
  const dd = node.findFirstExpression(Expressions.DataDefinition);
13
13
  if (dd) {
14
- const found = new data_definition_1.DataDefinition().runSyntax(dd, input);
14
+ const found = data_definition_1.DataDefinition.runSyntax(dd, input);
15
15
  if (found === undefined) {
16
16
  return undefined;
17
17
  }
@@ -19,7 +19,7 @@ class ClassData {
19
19
  && (found === null || found === void 0 ? void 0 : found.getType().containsVoid()) === false) {
20
20
  const message = "DATA 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
  const meta = [...found.getMeta(), "static" /* IdentifierMeta.Static */];
25
25
  return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, found.getType(), meta, found.getValue());
@@ -32,7 +32,7 @@ class ClassImplementation {
32
32
  }
33
33
  else {
34
34
  // todo: instead of the void type, do proper typing, ie. only empty constructor method
35
- input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), "super"), _builtin_1.BuiltIn.filename, new basic_1.VoidType("noSuper")));
35
+ input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), "super"), _builtin_1.BuiltIn.filename, basic_1.VoidType.get("noSuper")));
36
36
  }
37
37
  input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), "me"), _builtin_1.BuiltIn.filename, new basic_1.ObjectReferenceType(classDefinition)));
38
38
  helper.addAliasedAttributes(classDefinition); // todo, this is not correct, take care of instance vs static
@@ -7,10 +7,10 @@ const target_1 = require("../expressions/target");
7
7
  class Clear {
8
8
  runSyntax(node, input) {
9
9
  for (const t of node.findDirectExpressions(Expressions.Target)) {
10
- new target_1.Target().runSyntax(t, input);
10
+ target_1.Target.runSyntax(t, input);
11
11
  }
12
12
  for (const s of node.findDirectExpressions(Expressions.Source)) {
13
- new source_1.Source().runSyntax(s, input);
13
+ source_1.Source.runSyntax(s, input);
14
14
  }
15
15
  }
16
16
  }
@@ -6,7 +6,7 @@ const source_1 = require("../expressions/source");
6
6
  class CloseDataset {
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
  }