@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.
- package/build/abaplint.d.ts +18 -3
- package/build/src/abap/5_syntax/_builtin.js +10 -10
- package/build/src/abap/5_syntax/_current_scope.js +13 -0
- package/build/src/abap/5_syntax/_procedural.js +2 -2
- package/build/src/abap/5_syntax/_type_utils.js +13 -7
- package/build/src/abap/5_syntax/basic_types.js +11 -11
- package/build/src/abap/5_syntax/expressions/attribute_chain.js +5 -5
- package/build/src/abap/5_syntax/expressions/attribute_name.js +6 -6
- package/build/src/abap/5_syntax/expressions/cast.js +9 -9
- package/build/src/abap/5_syntax/expressions/compare.js +4 -4
- package/build/src/abap/5_syntax/expressions/component_chain.js +8 -8
- package/build/src/abap/5_syntax/expressions/component_compare.js +3 -3
- package/build/src/abap/5_syntax/expressions/component_compare_simple.js +3 -3
- package/build/src/abap/5_syntax/expressions/component_cond.js +3 -3
- package/build/src/abap/5_syntax/expressions/component_name.js +4 -4
- package/build/src/abap/5_syntax/expressions/cond.js +3 -3
- package/build/src/abap/5_syntax/expressions/cond_body.js +5 -5
- package/build/src/abap/5_syntax/expressions/constant.js +1 -1
- package/build/src/abap/5_syntax/expressions/conv_body.js +4 -4
- package/build/src/abap/5_syntax/expressions/corresponding_body.js +3 -3
- package/build/src/abap/5_syntax/expressions/data_definition.js +3 -4
- package/build/src/abap/5_syntax/expressions/database_table.js +1 -1
- package/build/src/abap/5_syntax/expressions/default.js +3 -3
- package/build/src/abap/5_syntax/expressions/dereference.js +2 -2
- package/build/src/abap/5_syntax/expressions/dynamic.js +2 -2
- package/build/src/abap/5_syntax/expressions/field_assignment.js +2 -2
- package/build/src/abap/5_syntax/expressions/field_chain.js +19 -19
- package/build/src/abap/5_syntax/expressions/field_length.js +2 -2
- package/build/src/abap/5_syntax/expressions/field_offset.js +2 -2
- package/build/src/abap/5_syntax/expressions/filter_body.js +3 -3
- package/build/src/abap/5_syntax/expressions/for.js +8 -8
- package/build/src/abap/5_syntax/expressions/form_param.js +2 -2
- package/build/src/abap/5_syntax/expressions/fstarget.js +2 -2
- package/build/src/abap/5_syntax/expressions/inline_data.js +1 -1
- package/build/src/abap/5_syntax/expressions/inline_field_definition.js +3 -3
- package/build/src/abap/5_syntax/expressions/inline_fs.js +1 -1
- package/build/src/abap/5_syntax/expressions/inline_loop_definition.js +2 -2
- package/build/src/abap/5_syntax/expressions/let.js +2 -2
- package/build/src/abap/5_syntax/expressions/loop_group_by.js +6 -6
- package/build/src/abap/5_syntax/expressions/message_source.js +2 -2
- package/build/src/abap/5_syntax/expressions/method_call_body.js +3 -3
- package/build/src/abap/5_syntax/expressions/method_call_chain.js +14 -14
- package/build/src/abap/5_syntax/expressions/method_call_param.js +2 -2
- package/build/src/abap/5_syntax/expressions/method_def_returning.js +1 -1
- package/build/src/abap/5_syntax/expressions/method_param.js +4 -4
- package/build/src/abap/5_syntax/expressions/method_parameters.js +7 -7
- package/build/src/abap/5_syntax/expressions/method_source.js +20 -20
- package/build/src/abap/5_syntax/expressions/new_object.js +10 -10
- package/build/src/abap/5_syntax/expressions/raise_with.js +2 -2
- package/build/src/abap/5_syntax/expressions/reduce_body.js +7 -7
- package/build/src/abap/5_syntax/expressions/reduce_next.js +3 -3
- package/build/src/abap/5_syntax/expressions/select.js +25 -25
- package/build/src/abap/5_syntax/expressions/select_loop.js +2 -2
- package/build/src/abap/5_syntax/expressions/source.js +30 -30
- package/build/src/abap/5_syntax/expressions/source_field.js +2 -2
- package/build/src/abap/5_syntax/expressions/source_field_symbol.js +2 -2
- package/build/src/abap/5_syntax/expressions/sql_compare.js +6 -6
- package/build/src/abap/5_syntax/expressions/sql_for_all_entries.js +2 -2
- package/build/src/abap/5_syntax/expressions/sql_from.js +3 -3
- package/build/src/abap/5_syntax/expressions/sql_in.js +4 -4
- package/build/src/abap/5_syntax/expressions/sql_order_by.js +2 -2
- package/build/src/abap/5_syntax/expressions/sql_source.js +3 -3
- package/build/src/abap/5_syntax/expressions/string_template.js +6 -6
- package/build/src/abap/5_syntax/expressions/switch_body.js +4 -4
- package/build/src/abap/5_syntax/expressions/table_expression.js +2 -2
- package/build/src/abap/5_syntax/expressions/target.js +19 -19
- package/build/src/abap/5_syntax/expressions/type_table.js +2 -2
- package/build/src/abap/5_syntax/expressions/type_table_key.js +1 -1
- package/build/src/abap/5_syntax/expressions/value_body.js +10 -10
- package/build/src/abap/5_syntax/statements/add.js +2 -2
- package/build/src/abap/5_syntax/statements/add_corresponding.js +2 -2
- package/build/src/abap/5_syntax/statements/append.js +6 -6
- package/build/src/abap/5_syntax/statements/assert.js +1 -1
- package/build/src/abap/5_syntax/statements/assign.js +8 -8
- package/build/src/abap/5_syntax/statements/authority_check.js +1 -1
- package/build/src/abap/5_syntax/statements/call.js +3 -3
- package/build/src/abap/5_syntax/statements/call_badi.js +3 -3
- package/build/src/abap/5_syntax/statements/call_function.js +6 -6
- package/build/src/abap/5_syntax/statements/call_kernel.js +1 -1
- package/build/src/abap/5_syntax/statements/call_transaction.js +2 -2
- package/build/src/abap/5_syntax/statements/call_transformation.js +4 -4
- package/build/src/abap/5_syntax/statements/case.js +1 -1
- package/build/src/abap/5_syntax/statements/case_type.js +1 -1
- package/build/src/abap/5_syntax/statements/catch.js +2 -2
- package/build/src/abap/5_syntax/statements/check.js +1 -1
- package/build/src/abap/5_syntax/statements/class_data.js +2 -2
- package/build/src/abap/5_syntax/statements/class_implementation.js +1 -1
- package/build/src/abap/5_syntax/statements/clear.js +2 -2
- package/build/src/abap/5_syntax/statements/close_dataset.js +1 -1
- package/build/src/abap/5_syntax/statements/collect.js +3 -3
- package/build/src/abap/5_syntax/statements/commit_entities.js +3 -3
- package/build/src/abap/5_syntax/statements/concatenate.js +5 -5
- package/build/src/abap/5_syntax/statements/condense.js +1 -1
- package/build/src/abap/5_syntax/statements/convert.js +7 -7
- package/build/src/abap/5_syntax/statements/create_data.js +3 -3
- package/build/src/abap/5_syntax/statements/create_object.js +9 -6
- package/build/src/abap/5_syntax/statements/data.js +2 -2
- package/build/src/abap/5_syntax/statements/delete_cluster.js +1 -1
- package/build/src/abap/5_syntax/statements/delete_database.js +4 -4
- package/build/src/abap/5_syntax/statements/delete_internal.js +4 -4
- package/build/src/abap/5_syntax/statements/delete_memory.js +1 -1
- package/build/src/abap/5_syntax/statements/delete_report.js +1 -1
- package/build/src/abap/5_syntax/statements/describe.js +10 -10
- package/build/src/abap/5_syntax/statements/divide.js +2 -2
- package/build/src/abap/5_syntax/statements/do.js +2 -2
- package/build/src/abap/5_syntax/statements/editor_call.js +2 -2
- package/build/src/abap/5_syntax/statements/else_if.js +1 -1
- package/build/src/abap/5_syntax/statements/export.js +2 -2
- package/build/src/abap/5_syntax/statements/find.js +5 -5
- package/build/src/abap/5_syntax/statements/format.js +1 -1
- package/build/src/abap/5_syntax/statements/get_badi.js +3 -3
- package/build/src/abap/5_syntax/statements/get_bit.js +3 -3
- package/build/src/abap/5_syntax/statements/get_cursor.js +1 -1
- package/build/src/abap/5_syntax/statements/get_locale.js +2 -2
- package/build/src/abap/5_syntax/statements/get_parameter.js +3 -3
- package/build/src/abap/5_syntax/statements/get_reference.js +3 -3
- package/build/src/abap/5_syntax/statements/get_run_time.js +2 -2
- package/build/src/abap/5_syntax/statements/get_time.js +2 -2
- package/build/src/abap/5_syntax/statements/if.js +1 -1
- package/build/src/abap/5_syntax/statements/import.js +2 -2
- package/build/src/abap/5_syntax/statements/import_dynpro.js +2 -2
- package/build/src/abap/5_syntax/statements/include_type.js +2 -2
- package/build/src/abap/5_syntax/statements/insert_database.js +4 -4
- package/build/src/abap/5_syntax/statements/insert_field_group.js +3 -3
- package/build/src/abap/5_syntax/statements/insert_internal.js +7 -7
- package/build/src/abap/5_syntax/statements/insert_report.js +1 -1
- package/build/src/abap/5_syntax/statements/insert_textpool.js +1 -1
- package/build/src/abap/5_syntax/statements/log_point.js +1 -1
- package/build/src/abap/5_syntax/statements/loop.js +10 -10
- package/build/src/abap/5_syntax/statements/loop_at_screen.js +2 -2
- package/build/src/abap/5_syntax/statements/message.js +5 -5
- package/build/src/abap/5_syntax/statements/modify_database.js +5 -5
- package/build/src/abap/5_syntax/statements/modify_entities.js +3 -3
- package/build/src/abap/5_syntax/statements/modify_internal.js +4 -4
- package/build/src/abap/5_syntax/statements/modify_screen.js +1 -1
- package/build/src/abap/5_syntax/statements/move.js +4 -4
- package/build/src/abap/5_syntax/statements/move_corresponding.js +2 -2
- package/build/src/abap/5_syntax/statements/multiply.js +2 -2
- package/build/src/abap/5_syntax/statements/open_dataset.js +2 -2
- package/build/src/abap/5_syntax/statements/pack.js +2 -2
- package/build/src/abap/5_syntax/statements/parameter.js +1 -1
- package/build/src/abap/5_syntax/statements/perform.js +4 -4
- package/build/src/abap/5_syntax/statements/raise.js +8 -8
- package/build/src/abap/5_syntax/statements/raise_event.js +1 -1
- package/build/src/abap/5_syntax/statements/read_entities.js +3 -3
- package/build/src/abap/5_syntax/statements/read_report.js +2 -2
- package/build/src/abap/5_syntax/statements/read_table.js +8 -8
- package/build/src/abap/5_syntax/statements/read_textpool.js +2 -2
- package/build/src/abap/5_syntax/statements/receive.js +2 -2
- package/build/src/abap/5_syntax/statements/replace.js +2 -2
- package/build/src/abap/5_syntax/statements/scan.js +2 -2
- package/build/src/abap/5_syntax/statements/search.js +1 -1
- package/build/src/abap/5_syntax/statements/select.js +1 -1
- package/build/src/abap/5_syntax/statements/select_loop.js +1 -1
- package/build/src/abap/5_syntax/statements/selectoption.js +4 -4
- package/build/src/abap/5_syntax/statements/set_bit.js +2 -2
- package/build/src/abap/5_syntax/statements/set_handler.js +2 -2
- package/build/src/abap/5_syntax/statements/set_locale.js +2 -2
- package/build/src/abap/5_syntax/statements/set_parameter.js +1 -1
- package/build/src/abap/5_syntax/statements/set_pf_status.js +1 -1
- package/build/src/abap/5_syntax/statements/set_titlebar.js +1 -1
- package/build/src/abap/5_syntax/statements/shift.js +2 -2
- package/build/src/abap/5_syntax/statements/sort.js +2 -2
- package/build/src/abap/5_syntax/statements/split.js +3 -3
- package/build/src/abap/5_syntax/statements/static.js +1 -1
- package/build/src/abap/5_syntax/statements/submit.js +3 -3
- package/build/src/abap/5_syntax/statements/subtract.js +2 -2
- package/build/src/abap/5_syntax/statements/subtract_corresponding.js +2 -2
- package/build/src/abap/5_syntax/statements/syntax_check.js +2 -2
- package/build/src/abap/5_syntax/statements/system_call.js +1 -1
- package/build/src/abap/5_syntax/statements/transfer.js +2 -2
- package/build/src/abap/5_syntax/statements/translate.js +2 -2
- package/build/src/abap/5_syntax/statements/truncate_dataset.js +1 -1
- package/build/src/abap/5_syntax/statements/type.js +3 -3
- package/build/src/abap/5_syntax/statements/unpack.js +2 -2
- package/build/src/abap/5_syntax/statements/update_database.js +4 -4
- package/build/src/abap/5_syntax/statements/wait.js +2 -2
- package/build/src/abap/5_syntax/statements/when.js +1 -1
- package/build/src/abap/5_syntax/statements/when_type.js +3 -3
- package/build/src/abap/5_syntax/statements/while.js +3 -3
- package/build/src/abap/5_syntax/statements/with.js +2 -2
- package/build/src/abap/5_syntax/statements/with_loop.js +2 -2
- package/build/src/abap/5_syntax/statements/write.js +4 -4
- package/build/src/abap/5_syntax/structures/data.js +1 -1
- package/build/src/abap/5_syntax/structures/statics.js +1 -1
- package/build/src/abap/types/basic/any_type.js +13 -0
- package/build/src/abap/types/basic/cgeneric_type.js +7 -0
- package/build/src/abap/types/basic/integer_type.js +7 -4
- package/build/src/abap/types/basic/string_type.js +7 -4
- package/build/src/abap/types/basic/void_type.js +10 -0
- package/build/src/abap/types/basic/xgeneric_type.js +7 -0
- package/build/src/abap/types/basic/xstring_type.js +13 -0
- package/build/src/abap/types/event_definition.js +1 -1
- package/build/src/abap/types/form_definition.js +3 -3
- package/build/src/abap/types/method_parameters.js +11 -11
- package/build/src/cds/cds_determine_types.js +5 -5
- package/build/src/ddic.js +11 -11
- package/build/src/objects/authorization_check_field.js +1 -1
- package/build/src/objects/lock_object.js +1 -1
- package/build/src/objects/maintenance_and_transport_object.js +2 -2
- package/build/src/objects/table.js +1 -1
- package/build/src/objects/view.js +1 -1
- package/build/src/registry.js +1 -1
- package/build/src/rules/xml_consistency.js +1 -1
- 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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
100
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
101
101
|
}
|
|
102
|
-
|
|
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 =
|
|
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
|
|
117
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
118
118
|
}
|
|
119
|
-
|
|
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
|
|
126
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
127
127
|
}
|
|
128
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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
|
-
|
|
63
|
+
source_1.Source.runSyntax(s, input);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {
|
|
67
|
-
|
|
67
|
+
field_assignment_1.FieldAssignment.runSyntax(s, input, rowType);
|
|
68
68
|
}
|
|
69
69
|
for (const s of foo.findDirectExpressions(Expressions.Source)) {
|
|
70
|
-
|
|
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
|
-
|
|
10
|
+
source_1.Source.runSyntax(s, input);
|
|
11
11
|
}
|
|
12
12
|
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
13
|
-
|
|
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
|
-
|
|
10
|
+
source_1.Source.runSyntax(s, input);
|
|
11
11
|
}
|
|
12
12
|
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
13
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
89
|
+
source_1.Source.runSyntax(to, input);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -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 =
|
|
29
|
+
sourceType = basic_1.VoidType.get("Dynamic");
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
|
-
sourceType =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
53
|
+
fstarget_1.FSTarget.runSyntax(target, input, basic_1.AnyType.get());
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
56
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
11
|
+
source_1.Source.runSyntax(s, input);
|
|
12
12
|
}
|
|
13
13
|
for (const t of node.findAllExpressions(Expressions.Target)) {
|
|
14
|
-
|
|
14
|
+
target_1.Target.runSyntax(t, input);
|
|
15
15
|
}
|
|
16
16
|
for (const d of node.findAllExpressions(Expressions.Dynamic)) {
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
30
|
+
source_1.Source.runSyntax(s, input);
|
|
31
31
|
}
|
|
32
32
|
for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
|
|
33
|
-
|
|
33
|
+
source_1.Source.runSyntax(s, input);
|
|
34
34
|
}
|
|
35
35
|
for (const t of node.findAllExpressions(Expressions.Target)) {
|
|
36
|
-
|
|
36
|
+
target_1.Target.runSyntax(t, input);
|
|
37
37
|
}
|
|
38
38
|
for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {
|
|
39
|
-
|
|
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
|
-
|
|
43
|
+
field_chain_1.FieldChain.runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -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
|
-
|
|
10
|
+
source_1.Source.runSyntax(s, input);
|
|
11
11
|
}
|
|
12
12
|
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
13
|
-
|
|
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
|
-
|
|
13
|
+
source_1.Source.runSyntax(s, input);
|
|
14
14
|
}
|
|
15
15
|
for (const d of node.findAllExpressions(Expressions.Dynamic)) {
|
|
16
|
-
|
|
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
|
-
|
|
21
|
+
inline_data_1.InlineData.runSyntax(inline, input, basic_1.XStringType.get());
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
|
|
24
|
+
target_1.Target.runSyntax(t, input);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -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,
|
|
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
|
-
|
|
61
|
+
target_1.Target.runSyntax(target, input);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -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 =
|
|
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,
|
|
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,
|
|
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
|
-
|
|
10
|
+
target_1.Target.runSyntax(t, input);
|
|
11
11
|
}
|
|
12
12
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
13
|
-
|
|
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
|
-
|
|
9
|
+
source_1.Source.runSyntax(s, input);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
}
|