@abaplint/core 2.113.126 → 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 +17 -3
- package/build/src/abap/5_syntax/_builtin.js +10 -10
- 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 +10 -10
- 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 -3
- 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/package.json +4 -4
|
@@ -4,7 +4,7 @@ exports.ComponentName = void 0;
|
|
|
4
4
|
const Basic = require("../../types/basic");
|
|
5
5
|
const _syntax_input_1 = require("../_syntax_input");
|
|
6
6
|
class ComponentName {
|
|
7
|
-
runSyntax(context, node, input) {
|
|
7
|
+
static runSyntax(context, node, input) {
|
|
8
8
|
if (context instanceof Basic.VoidType) {
|
|
9
9
|
return context;
|
|
10
10
|
}
|
|
@@ -14,7 +14,7 @@ class ComponentName {
|
|
|
14
14
|
const ret = context.getComponentByName(name);
|
|
15
15
|
if (ret === undefined) {
|
|
16
16
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, "Component \"" + name + "\" not found in structure"));
|
|
17
|
-
return
|
|
17
|
+
return Basic.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
18
18
|
}
|
|
19
19
|
return ret;
|
|
20
20
|
}
|
|
@@ -30,13 +30,13 @@ class ComponentName {
|
|
|
30
30
|
const ret = rowType.getComponentByName(name);
|
|
31
31
|
if (ret === undefined) {
|
|
32
32
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, "Component \"" + name + "\" not found in structure"));
|
|
33
|
-
return
|
|
33
|
+
return Basic.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
34
34
|
}
|
|
35
35
|
return ret;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, "Not a structure, ComponentName, \"" + name + "\""));
|
|
39
|
-
return
|
|
39
|
+
return Basic.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
exports.ComponentName = ComponentName;
|
|
@@ -4,15 +4,15 @@ exports.Cond = void 0;
|
|
|
4
4
|
const Expressions = require("../../2_statements/expressions");
|
|
5
5
|
const compare_1 = require("./compare");
|
|
6
6
|
class Cond {
|
|
7
|
-
runSyntax(node, input) {
|
|
7
|
+
static runSyntax(node, input) {
|
|
8
8
|
for (const t of node.findDirectExpressions(Expressions.CondSub)) {
|
|
9
9
|
const c = t.findDirectExpression(Expressions.Cond);
|
|
10
10
|
if (c) {
|
|
11
|
-
|
|
11
|
+
Cond.runSyntax(c, input);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
for (const t of node.findDirectExpressions(Expressions.Compare)) {
|
|
15
|
-
|
|
15
|
+
compare_1.Compare.runSyntax(t, input);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -6,25 +6,25 @@ const source_1 = require("./source");
|
|
|
6
6
|
const let_1 = require("./let");
|
|
7
7
|
const cond_1 = require("./cond");
|
|
8
8
|
class CondBody {
|
|
9
|
-
runSyntax(node, input, targetType) {
|
|
9
|
+
static runSyntax(node, input, targetType) {
|
|
10
10
|
if (node === undefined) {
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
13
13
|
let scoped = false;
|
|
14
14
|
const l = node.findDirectExpression(Expressions.Let);
|
|
15
15
|
if (l) {
|
|
16
|
-
scoped =
|
|
16
|
+
scoped = let_1.Let.runSyntax(l, input);
|
|
17
17
|
}
|
|
18
18
|
for (const s of node.findDirectExpressions(Expressions.Cond)) {
|
|
19
|
-
|
|
19
|
+
cond_1.Cond.runSyntax(s, input);
|
|
20
20
|
}
|
|
21
21
|
let type = undefined;
|
|
22
22
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
23
23
|
if (type === undefined) {
|
|
24
|
-
type =
|
|
24
|
+
type = source_1.Source.runSyntax(s, input, targetType);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
|
|
27
|
+
source_1.Source.runSyntax(s, input, targetType);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
if (scoped === true) {
|
|
@@ -4,7 +4,7 @@ exports.Constant = void 0;
|
|
|
4
4
|
const basic_1 = require("../../types/basic");
|
|
5
5
|
const expressions_1 = require("../../2_statements/expressions");
|
|
6
6
|
class Constant {
|
|
7
|
-
runSyntax(node) {
|
|
7
|
+
static runSyntax(node) {
|
|
8
8
|
// todo: ConcatenatedConstant is not used?
|
|
9
9
|
if (node.findDirectExpression(expressions_1.Integer)) {
|
|
10
10
|
return basic_1.IntegerType.get({ derivedFromConstant: true });
|
|
@@ -7,19 +7,19 @@ const let_1 = require("./let");
|
|
|
7
7
|
const _syntax_input_1 = require("../_syntax_input");
|
|
8
8
|
const basic_1 = require("../../types/basic");
|
|
9
9
|
class ConvBody {
|
|
10
|
-
runSyntax(node, input) {
|
|
10
|
+
static runSyntax(node, input) {
|
|
11
11
|
let scoped = false;
|
|
12
12
|
const l = node.findDirectExpression(Expressions.Let);
|
|
13
13
|
if (l) {
|
|
14
|
-
scoped =
|
|
14
|
+
scoped = let_1.Let.runSyntax(l, input);
|
|
15
15
|
}
|
|
16
16
|
const s = node.findDirectExpression(Expressions.Source);
|
|
17
17
|
if (s === undefined) {
|
|
18
18
|
const message = "ConvBody, no source found";
|
|
19
19
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
20
|
-
return
|
|
20
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
21
21
|
}
|
|
22
|
-
const sourceType =
|
|
22
|
+
const sourceType = source_1.Source.runSyntax(s, input);
|
|
23
23
|
if (scoped === true) {
|
|
24
24
|
input.scope.pop(node.getLastToken().getEnd());
|
|
25
25
|
}
|
|
@@ -4,17 +4,17 @@ exports.CorrespondingBody = void 0;
|
|
|
4
4
|
const Expressions = require("../../2_statements/expressions");
|
|
5
5
|
const source_1 = require("./source");
|
|
6
6
|
class CorrespondingBody {
|
|
7
|
-
runSyntax(node, input, targetType) {
|
|
7
|
+
static runSyntax(node, input, targetType) {
|
|
8
8
|
if (node === undefined) {
|
|
9
9
|
return targetType;
|
|
10
10
|
}
|
|
11
11
|
let type = undefined;
|
|
12
12
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
13
13
|
if (type === undefined) {
|
|
14
|
-
type =
|
|
14
|
+
type = source_1.Source.runSyntax(s, input);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
|
|
17
|
+
source_1.Source.runSyntax(s, input);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
return targetType ? targetType : type;
|
|
@@ -7,10 +7,10 @@ const basic_1 = require("../../types/basic");
|
|
|
7
7
|
const basic_types_1 = require("../basic_types");
|
|
8
8
|
const type_table_1 = require("./type_table");
|
|
9
9
|
class DataDefinition {
|
|
10
|
-
runSyntax(node, input) {
|
|
10
|
+
static runSyntax(node, input) {
|
|
11
11
|
const tt = node.findFirstExpression(Expressions.TypeTable);
|
|
12
12
|
if (tt) {
|
|
13
|
-
return
|
|
13
|
+
return type_table_1.TypeTable.runSyntax(node, input);
|
|
14
14
|
}
|
|
15
15
|
const valueNode = node.findFirstExpression(Expressions.Value);
|
|
16
16
|
let value = undefined;
|
|
@@ -20,7 +20,7 @@ class DataDefinition {
|
|
|
20
20
|
const name = node.findFirstExpression(Expressions.DefinitionName);
|
|
21
21
|
const typeStructure = node.findFirstExpression(Expressions.TypeStructure);
|
|
22
22
|
if (typeStructure && name) {
|
|
23
|
-
return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename,
|
|
23
|
+
return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, basic_1.VoidType.get("DataDefinition, TypeStructure"));
|
|
24
24
|
}
|
|
25
25
|
const bfound = new basic_types_1.BasicTypes(input).simpleType(node);
|
|
26
26
|
if (bfound) {
|
|
@@ -4,7 +4,7 @@ exports.DatabaseTable = void 0;
|
|
|
4
4
|
const _reference_1 = require("../_reference");
|
|
5
5
|
const _syntax_input_1 = require("../_syntax_input");
|
|
6
6
|
class DatabaseTable {
|
|
7
|
-
runSyntax(node, input) {
|
|
7
|
+
static runSyntax(node, input) {
|
|
8
8
|
const token = node.getFirstToken();
|
|
9
9
|
const name = token.getStr();
|
|
10
10
|
if (name === "(") {
|
|
@@ -6,14 +6,14 @@ const field_chain_1 = require("./field_chain");
|
|
|
6
6
|
const _reference_1 = require("../_reference");
|
|
7
7
|
const constant_1 = require("./constant");
|
|
8
8
|
class Default {
|
|
9
|
-
runSyntax(node, input) {
|
|
9
|
+
static runSyntax(node, input) {
|
|
10
10
|
const chain = node.findDirectExpression(Expressions.FieldChain);
|
|
11
11
|
if (chain) {
|
|
12
|
-
return
|
|
12
|
+
return field_chain_1.FieldChain.runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);
|
|
13
13
|
}
|
|
14
14
|
const constant = node.findDirectExpression(Expressions.Constant);
|
|
15
15
|
if (constant) {
|
|
16
|
-
return
|
|
16
|
+
return constant_1.Constant.runSyntax(constant);
|
|
17
17
|
}
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
@@ -4,7 +4,7 @@ exports.Dereference = void 0;
|
|
|
4
4
|
const basic_1 = require("../../types/basic");
|
|
5
5
|
const _syntax_input_1 = require("../_syntax_input");
|
|
6
6
|
class Dereference {
|
|
7
|
-
runSyntax(node, type, input) {
|
|
7
|
+
static runSyntax(node, type, input) {
|
|
8
8
|
if (type instanceof basic_1.VoidType
|
|
9
9
|
|| type instanceof basic_1.AnyType
|
|
10
10
|
|| type instanceof basic_1.DataType
|
|
@@ -15,7 +15,7 @@ class Dereference {
|
|
|
15
15
|
if (!(type instanceof basic_1.DataReference)) {
|
|
16
16
|
const message = "Not a data reference, cannot be dereferenced";
|
|
17
17
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
18
|
-
return
|
|
18
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
19
19
|
}
|
|
20
20
|
return type.getType();
|
|
21
21
|
}
|
|
@@ -5,10 +5,10 @@ const Expressions = require("../../2_statements/expressions");
|
|
|
5
5
|
const field_chain_1 = require("./field_chain");
|
|
6
6
|
const _reference_1 = require("../_reference");
|
|
7
7
|
class Dynamic {
|
|
8
|
-
runSyntax(node, input) {
|
|
8
|
+
static runSyntax(node, input) {
|
|
9
9
|
const chain = node.findDirectExpression(Expressions.FieldChain);
|
|
10
10
|
if (chain) {
|
|
11
|
-
|
|
11
|
+
field_chain_1.FieldChain.runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -6,7 +6,7 @@ const basic_1 = require("../../types/basic");
|
|
|
6
6
|
const _syntax_input_1 = require("../_syntax_input");
|
|
7
7
|
const source_1 = require("./source");
|
|
8
8
|
class FieldAssignment {
|
|
9
|
-
runSyntax(node, input, targetType) {
|
|
9
|
+
static runSyntax(node, input, targetType) {
|
|
10
10
|
const fieldSub = node.findDirectExpression(Expressions.FieldSub);
|
|
11
11
|
if (fieldSub === undefined) {
|
|
12
12
|
const message = "FieldAssignment, FieldSub node not found";
|
|
@@ -38,7 +38,7 @@ class FieldAssignment {
|
|
|
38
38
|
else if (targetType instanceof basic_1.VoidType) {
|
|
39
39
|
type = targetType;
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
source_1.Source.runSyntax(s, input, type);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.FieldAssignment = FieldAssignment;
|
|
@@ -17,7 +17,7 @@ const source_field_symbol_1 = require("./source_field_symbol");
|
|
|
17
17
|
const source_field_1 = require("./source_field");
|
|
18
18
|
const _syntax_input_1 = require("../_syntax_input");
|
|
19
19
|
class FieldChain {
|
|
20
|
-
runSyntax(node, input, refType) {
|
|
20
|
+
static runSyntax(node, input, refType) {
|
|
21
21
|
var _a, _b, _c;
|
|
22
22
|
if (((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.SourceField
|
|
23
23
|
&& node.findDirectExpression(Expressions.ComponentName)) {
|
|
@@ -45,13 +45,13 @@ class FieldChain {
|
|
|
45
45
|
if (current.get() instanceof tokens_1.DashW) {
|
|
46
46
|
const message = "Ending with dash";
|
|
47
47
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
48
|
-
return
|
|
48
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
49
49
|
}
|
|
50
50
|
else if (current.get() instanceof tokens_1.Dash) {
|
|
51
51
|
if (context instanceof basic_1.UnknownType) {
|
|
52
52
|
const message = "Not a structure, type unknown, FieldChain";
|
|
53
53
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
54
|
-
return
|
|
54
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
55
55
|
}
|
|
56
56
|
else if (!(context instanceof basic_1.StructureType)
|
|
57
57
|
&& !(context instanceof basic_1.TableType && context.isWithHeader())
|
|
@@ -71,13 +71,13 @@ class FieldChain {
|
|
|
71
71
|
else {
|
|
72
72
|
const message = "Table without header, cannot access fields, " + contextName;
|
|
73
73
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
74
|
-
return
|
|
74
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
78
|
const message = "Not a structure, FieldChain";
|
|
79
79
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
80
|
-
return
|
|
80
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -87,35 +87,35 @@ class FieldChain {
|
|
|
87
87
|
&& !(context instanceof basic_1.VoidType)) {
|
|
88
88
|
const message = "Not an object reference, field chain";
|
|
89
89
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
90
|
-
return
|
|
90
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
else if (current.get() instanceof expressions_1.Dereference) {
|
|
94
|
-
context =
|
|
94
|
+
context = dereference_1.Dereference.runSyntax(current, context, input);
|
|
95
95
|
}
|
|
96
96
|
else if (current.get() instanceof Expressions.ComponentName) {
|
|
97
97
|
if (context instanceof basic_1.TableType && context.isWithHeader()) {
|
|
98
98
|
context = context.getRowType();
|
|
99
99
|
}
|
|
100
|
-
context =
|
|
100
|
+
context = component_name_1.ComponentName.runSyntax(context, current, input);
|
|
101
101
|
}
|
|
102
102
|
else if (current instanceof nodes_1.ExpressionNode
|
|
103
103
|
&& current.get() instanceof Expressions.TableExpression) {
|
|
104
104
|
if (!(context instanceof basic_1.TableType) && !(context instanceof basic_1.VoidType)) {
|
|
105
105
|
const message = "Table expression, expected table";
|
|
106
106
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));
|
|
107
|
-
return
|
|
107
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
108
108
|
}
|
|
109
|
-
|
|
109
|
+
table_expression_1.TableExpression.runSyntax(current, input);
|
|
110
110
|
if (!(context instanceof basic_1.VoidType)) {
|
|
111
111
|
context = context.getRowType();
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
else if (current.get() instanceof Expressions.AttributeName) {
|
|
115
|
-
context =
|
|
115
|
+
context = attribute_name_1.AttributeName.runSyntax(context, current, input, refType);
|
|
116
116
|
}
|
|
117
117
|
else if (current.get() instanceof Expressions.FieldOffset && current instanceof nodes_1.ExpressionNode) {
|
|
118
|
-
const offset =
|
|
118
|
+
const offset = field_offset_1.FieldOffset.runSyntax(current, input);
|
|
119
119
|
if (offset) {
|
|
120
120
|
if (context instanceof basic_1.CharacterType) {
|
|
121
121
|
context = new basic_1.CharacterType(context.getLength() - offset);
|
|
@@ -126,7 +126,7 @@ class FieldChain {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
else if (current.get() instanceof Expressions.FieldLength && current instanceof nodes_1.ExpressionNode) {
|
|
129
|
-
const length =
|
|
129
|
+
const length = field_length_1.FieldLength.runSyntax(current, input);
|
|
130
130
|
if (length) {
|
|
131
131
|
if (context instanceof basic_1.CharacterType) {
|
|
132
132
|
context = new basic_1.CharacterType(length);
|
|
@@ -140,21 +140,21 @@ class FieldChain {
|
|
|
140
140
|
return context;
|
|
141
141
|
}
|
|
142
142
|
////////////////
|
|
143
|
-
findTop(node, input, type) {
|
|
143
|
+
static findTop(node, input, type) {
|
|
144
144
|
if (node === undefined) {
|
|
145
145
|
return undefined;
|
|
146
146
|
}
|
|
147
147
|
if (node instanceof nodes_1.ExpressionNode
|
|
148
148
|
&& node.get() instanceof Expressions.SourceFieldSymbol) {
|
|
149
|
-
return
|
|
149
|
+
return source_field_symbol_1.SourceFieldSymbol.runSyntax(node, input);
|
|
150
150
|
}
|
|
151
151
|
else if (node instanceof nodes_1.ExpressionNode
|
|
152
152
|
&& node.get() instanceof Expressions.SourceField) {
|
|
153
|
-
return
|
|
153
|
+
return source_field_1.SourceField.runSyntax(node, input, type);
|
|
154
154
|
}
|
|
155
155
|
else if (node instanceof nodes_1.ExpressionNode
|
|
156
156
|
&& node.get() instanceof Expressions.Field) {
|
|
157
|
-
return
|
|
157
|
+
return source_field_1.SourceField.runSyntax(node, input, type);
|
|
158
158
|
}
|
|
159
159
|
else if (node.get() instanceof Expressions.ClassName) {
|
|
160
160
|
const classTok = node.getFirstToken();
|
|
@@ -169,12 +169,12 @@ class FieldChain {
|
|
|
169
169
|
}
|
|
170
170
|
else if (input.scope.getDDIC().inErrorNamespace(classNam) === false) {
|
|
171
171
|
input.scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: classNam.toUpperCase() });
|
|
172
|
-
return
|
|
172
|
+
return basic_1.VoidType.get(classNam);
|
|
173
173
|
}
|
|
174
174
|
else {
|
|
175
175
|
const message = "Unknown class " + classNam;
|
|
176
176
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
177
|
-
return
|
|
177
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
return undefined;
|
|
@@ -5,10 +5,10 @@ const Expressions = require("../../2_statements/expressions");
|
|
|
5
5
|
const _reference_1 = require("../_reference");
|
|
6
6
|
const field_chain_1 = require("./field_chain");
|
|
7
7
|
class FieldLength {
|
|
8
|
-
runSyntax(node, input) {
|
|
8
|
+
static runSyntax(node, input) {
|
|
9
9
|
const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
|
|
10
10
|
if (field) {
|
|
11
|
-
|
|
11
|
+
field_chain_1.FieldChain.runSyntax(field, input, _reference_1.ReferenceType.DataReadReference);
|
|
12
12
|
return undefined;
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
@@ -5,10 +5,10 @@ const Expressions = require("../../2_statements/expressions");
|
|
|
5
5
|
const _reference_1 = require("../_reference");
|
|
6
6
|
const field_chain_1 = require("./field_chain");
|
|
7
7
|
class FieldOffset {
|
|
8
|
-
runSyntax(node, input) {
|
|
8
|
+
static runSyntax(node, input) {
|
|
9
9
|
const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
|
|
10
10
|
if (field) {
|
|
11
|
-
|
|
11
|
+
field_chain_1.FieldChain.runSyntax(field, input, _reference_1.ReferenceType.DataReadReference);
|
|
12
12
|
return undefined;
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
@@ -4,17 +4,17 @@ exports.FilterBody = void 0;
|
|
|
4
4
|
const Expressions = require("../../2_statements/expressions");
|
|
5
5
|
const source_1 = require("./source");
|
|
6
6
|
class FilterBody {
|
|
7
|
-
runSyntax(node, input, targetType) {
|
|
7
|
+
static runSyntax(node, input, targetType) {
|
|
8
8
|
if (node === undefined) {
|
|
9
9
|
return targetType;
|
|
10
10
|
}
|
|
11
11
|
let type = undefined;
|
|
12
12
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
13
13
|
if (type === undefined) {
|
|
14
|
-
type =
|
|
14
|
+
type = source_1.Source.runSyntax(s, input);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
|
|
17
|
+
source_1.Source.runSyntax(s, input);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
return type ? type : targetType;
|
|
@@ -13,7 +13,7 @@ const _typed_identifier_1 = require("../../types/_typed_identifier");
|
|
|
13
13
|
const _reference_1 = require("../_reference");
|
|
14
14
|
const let_1 = require("./let");
|
|
15
15
|
class For {
|
|
16
|
-
runSyntax(node, input) {
|
|
16
|
+
static runSyntax(node, input) {
|
|
17
17
|
var _a;
|
|
18
18
|
let scoped = false;
|
|
19
19
|
const inlineLoop = node.findDirectExpressions(Expressions.InlineLoopDefinition);
|
|
@@ -30,28 +30,28 @@ class For {
|
|
|
30
30
|
scoped = true;
|
|
31
31
|
}
|
|
32
32
|
for (const s of inlineLoop) {
|
|
33
|
-
|
|
33
|
+
inline_loop_definition_1.InlineLoopDefinition.runSyntax(s, input);
|
|
34
34
|
}
|
|
35
35
|
for (const f of inlineField) {
|
|
36
|
-
|
|
36
|
+
inline_field_definition_1.InlineFieldDefinition.runSyntax(f, input);
|
|
37
37
|
}
|
|
38
38
|
if (groupsToken !== undefined) {
|
|
39
|
-
const type =
|
|
39
|
+
const type = basic_1.VoidType.get("todoGroupBy");
|
|
40
40
|
const identifier = new _typed_identifier_1.TypedIdentifier(groupsToken, input.filename, type, ["inline" /* IdentifierMeta.InlineDefinition */]);
|
|
41
41
|
input.scope.addIdentifier(identifier);
|
|
42
42
|
input.scope.addReference(groupsToken, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);
|
|
43
43
|
}
|
|
44
44
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
45
|
-
|
|
45
|
+
source_1.Source.runSyntax(s, input);
|
|
46
46
|
}
|
|
47
47
|
for (const s of node.findDirectExpressions(Expressions.ComponentCond)) {
|
|
48
|
-
|
|
48
|
+
component_cond_1.ComponentCond.runSyntax(s, input);
|
|
49
49
|
}
|
|
50
50
|
for (const s of node.findDirectExpressions(Expressions.Cond)) {
|
|
51
|
-
|
|
51
|
+
cond_1.Cond.runSyntax(s, input);
|
|
52
52
|
}
|
|
53
53
|
if (lett) {
|
|
54
|
-
|
|
54
|
+
let_1.Let.runSyntax(lett, input, true);
|
|
55
55
|
}
|
|
56
56
|
return scoped;
|
|
57
57
|
}
|
|
@@ -7,7 +7,7 @@ const expressions_1 = require("../../2_statements/expressions");
|
|
|
7
7
|
const basic_types_1 = require("../basic_types");
|
|
8
8
|
const assert_error_1 = require("../assert_error");
|
|
9
9
|
class FormParam {
|
|
10
|
-
runSyntax(node, input) {
|
|
10
|
+
static runSyntax(node, input) {
|
|
11
11
|
var _a, _b, _c;
|
|
12
12
|
const nameToken = (_a = node.findFirstExpression(expressions_1.FormParamName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
13
13
|
if (node.findDirectTokenByText("STRUCTURE") && nameToken) {
|
|
@@ -27,7 +27,7 @@ class FormParam {
|
|
|
27
27
|
}
|
|
28
28
|
if (node.getChildren().length === 1 && nameToken) {
|
|
29
29
|
// untyped FORM parameter
|
|
30
|
-
return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename,
|
|
30
|
+
return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, basic_1.AnyType.get(), ["form_parameter" /* IdentifierMeta.FormParameter */]);
|
|
31
31
|
}
|
|
32
32
|
const bfound = new basic_types_1.BasicTypes(input).parseType(node);
|
|
33
33
|
if (nameToken && bfound) {
|
|
@@ -6,10 +6,10 @@ const inline_fs_1 = require("./inline_fs");
|
|
|
6
6
|
const _reference_1 = require("../_reference");
|
|
7
7
|
const _syntax_input_1 = require("../_syntax_input");
|
|
8
8
|
class FSTarget {
|
|
9
|
-
runSyntax(node, input, type) {
|
|
9
|
+
static runSyntax(node, input, type) {
|
|
10
10
|
const inlinefs = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.InlineFS);
|
|
11
11
|
if (inlinefs) {
|
|
12
|
-
|
|
12
|
+
inline_fs_1.InlineFS.runSyntax(inlinefs, input, type);
|
|
13
13
|
}
|
|
14
14
|
const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.TargetFieldSymbol);
|
|
15
15
|
if (target) {
|
|
@@ -7,7 +7,7 @@ const basic_1 = require("../../types/basic");
|
|
|
7
7
|
const _reference_1 = require("../_reference");
|
|
8
8
|
const _syntax_input_1 = require("../_syntax_input");
|
|
9
9
|
class InlineData {
|
|
10
|
-
runSyntax(node, input, type) {
|
|
10
|
+
static runSyntax(node, input, type) {
|
|
11
11
|
var _a;
|
|
12
12
|
const token = (_a = node.findFirstExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
13
13
|
if (token && type) {
|
|
@@ -10,7 +10,7 @@ const _reference_1 = require("../_reference");
|
|
|
10
10
|
const _syntax_input_1 = require("../_syntax_input");
|
|
11
11
|
const basic_1 = require("../../types/basic");
|
|
12
12
|
class InlineFieldDefinition {
|
|
13
|
-
runSyntax(node, input, targetType) {
|
|
13
|
+
static runSyntax(node, input, targetType) {
|
|
14
14
|
var _a;
|
|
15
15
|
let type = undefined;
|
|
16
16
|
const field = (_a = node.findDirectExpression(Expressions.Field)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
@@ -19,7 +19,7 @@ class InlineFieldDefinition {
|
|
|
19
19
|
}
|
|
20
20
|
const source = node.findDirectExpression(Expressions.Source);
|
|
21
21
|
if (source) {
|
|
22
|
-
type =
|
|
22
|
+
type = source_1.Source.runSyntax(source, input);
|
|
23
23
|
}
|
|
24
24
|
const typeName = node.findDirectExpression(Expressions.TypeName);
|
|
25
25
|
if (typeName) {
|
|
@@ -35,7 +35,7 @@ class InlineFieldDefinition {
|
|
|
35
35
|
if (input.scope.findVariable(name) !== undefined) {
|
|
36
36
|
const message = `Variable ${name} already defined`;
|
|
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
|
const identifier = new _typed_identifier_1.TypedIdentifier(field, input.filename, type, ["inline" /* IdentifierMeta.InlineDefinition */]);
|
|
41
41
|
input.scope.addReference(field, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);
|
|
@@ -6,7 +6,7 @@ const _typed_identifier_1 = require("../../types/_typed_identifier");
|
|
|
6
6
|
const basic_1 = require("../../types/basic");
|
|
7
7
|
const _reference_1 = require("../_reference");
|
|
8
8
|
class InlineFS {
|
|
9
|
-
runSyntax(node, input, type) {
|
|
9
|
+
static runSyntax(node, input, type) {
|
|
10
10
|
var _a;
|
|
11
11
|
const token = (_a = node.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
12
12
|
if (token && type) {
|
|
@@ -8,7 +8,7 @@ const _typed_identifier_1 = require("../../types/_typed_identifier");
|
|
|
8
8
|
const _reference_1 = require("../_reference");
|
|
9
9
|
const _syntax_input_1 = require("../_syntax_input");
|
|
10
10
|
class InlineLoopDefinition {
|
|
11
|
-
runSyntax(node, input) {
|
|
11
|
+
static runSyntax(node, input) {
|
|
12
12
|
if (node === undefined) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
@@ -18,7 +18,7 @@ class InlineLoopDefinition {
|
|
|
18
18
|
}
|
|
19
19
|
const source = node.findDirectExpression(Expressions.Source);
|
|
20
20
|
if (source && target) {
|
|
21
|
-
const sourceType =
|
|
21
|
+
const sourceType = source_1.Source.runSyntax(source, input);
|
|
22
22
|
let rowType = undefined;
|
|
23
23
|
if (sourceType instanceof basic_1.TableType) {
|
|
24
24
|
rowType = sourceType.getRowType();
|
|
@@ -5,7 +5,7 @@ const Expressions = require("../../2_statements/expressions");
|
|
|
5
5
|
const inline_field_definition_1 = require("./inline_field_definition");
|
|
6
6
|
const _scope_type_1 = require("../_scope_type");
|
|
7
7
|
class Let {
|
|
8
|
-
runSyntax(node, input, skipScope = false) {
|
|
8
|
+
static runSyntax(node, input, skipScope = false) {
|
|
9
9
|
if (node === undefined) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
@@ -13,7 +13,7 @@ class Let {
|
|
|
13
13
|
input.scope.push(_scope_type_1.ScopeType.Let, "LET", node.getFirstToken().getStart(), input.filename);
|
|
14
14
|
}
|
|
15
15
|
for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {
|
|
16
|
-
|
|
16
|
+
inline_field_definition_1.InlineFieldDefinition.runSyntax(f, input);
|
|
17
17
|
}
|
|
18
18
|
return true;
|
|
19
19
|
}
|
|
@@ -9,25 +9,25 @@ const fstarget_1 = require("./fstarget");
|
|
|
9
9
|
const target_1 = require("./target");
|
|
10
10
|
const source_1 = require("./source");
|
|
11
11
|
class LoopGroupBy {
|
|
12
|
-
runSyntax(node, input) {
|
|
12
|
+
static runSyntax(node, input) {
|
|
13
13
|
for (const t of node.findAllExpressions(Expressions.Target)) {
|
|
14
14
|
const inline = t.findDirectExpression(Expressions.InlineData);
|
|
15
15
|
if (inline) {
|
|
16
|
-
|
|
16
|
+
inline_data_1.InlineData.runSyntax(inline, input, basic_1.VoidType.get("todoGroupBy"));
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
|
-
|
|
19
|
+
target_1.Target.runSyntax(t, input);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
for (const t of node.findAllExpressions(Expressions.FSTarget)) {
|
|
23
|
-
|
|
23
|
+
fstarget_1.FSTarget.runSyntax(t, input, basic_1.VoidType.get("todoGroupBy"));
|
|
24
24
|
}
|
|
25
25
|
for (const t of node.findDirectExpressions(Expressions.Source)) {
|
|
26
|
-
|
|
26
|
+
source_1.Source.runSyntax(t, input, basic_1.VoidType.get("todoGroupBy"));
|
|
27
27
|
}
|
|
28
28
|
for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {
|
|
29
29
|
for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {
|
|
30
|
-
|
|
30
|
+
component_compare_1.ComponentCompare.runSyntax(t, input);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|