@abaplint/core 2.113.55 → 2.113.56
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/src/abap/2_statements/expressions/raise_with.js +3 -3
- package/build/src/abap/2_statements/expressions/sql_aggregation.js +1 -1
- package/build/src/abap/2_statements/statements/modify_line.js +2 -2
- package/build/src/abap/5_syntax/expressions/raise_with.js +1 -1
- package/build/src/objects/table.js +16 -16
- package/build/src/registry.js +1 -1
- package/build/src/rules/downport.js +1 -1
- package/package.json +1 -1
|
@@ -5,10 +5,10 @@ const combi_1 = require("../combi");
|
|
|
5
5
|
const _1 = require(".");
|
|
6
6
|
class RaiseWith extends combi_1.Expression {
|
|
7
7
|
getRunnable() {
|
|
8
|
-
const wit = (0, combi_1.seq)(
|
|
8
|
+
const wit = (0, combi_1.seq)(_1.SimpleSource1, (0, combi_1.opt)(_1.SimpleSource1), (0, combi_1.opt)(_1.SimpleSource1), (0, combi_1.opt)(_1.SimpleSource1));
|
|
9
9
|
// todo: I guess this is from version something?
|
|
10
|
-
const witComplex = (0, combi_1.seq)(
|
|
11
|
-
return (0, combi_1.
|
|
10
|
+
const witComplex = (0, combi_1.seq)(_1.Source, (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source));
|
|
11
|
+
return (0, combi_1.seq)("WITH", (0, combi_1.altPrio)(witComplex, wit));
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.RaiseWith = RaiseWith;
|
|
@@ -8,7 +8,7 @@ const dynamic_1 = require("./dynamic");
|
|
|
8
8
|
const sql_arithmetics_1 = require("./sql_arithmetics");
|
|
9
9
|
class SQLAggregation extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
|
-
const f = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), (0, combi_1.altPrio)(sql_arithmetics_1.SQLArithmetics, dynamic_1.Dynamic, _1.SQLFunction
|
|
11
|
+
const f = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), (0, combi_1.altPrio)(_1.SQLCase, sql_arithmetics_1.SQLArithmetics, dynamic_1.Dynamic, _1.SQLFunction));
|
|
12
12
|
const fparen = (0, combi_1.seq)("(", _1.Field, ")");
|
|
13
13
|
const count = (0, combi_1.seq)("COUNT", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), (0, combi_1.optPrio)("DISTINCT"), (0, combi_1.altPrio)("*", _1.Field, fparen), ")");
|
|
14
14
|
const max = (0, combi_1.seq)("MAX", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), f, ")");
|
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class ModifyLine {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT"), "=", expressions_1.Source);
|
|
9
|
+
const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT", "COLOR"), "=", expressions_1.Source);
|
|
10
10
|
const from = (0, combi_1.seq)("FROM", expressions_1.Source);
|
|
11
11
|
const value = (0, combi_1.seq)("FIELD VALUE", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.Source, (0, combi_1.optPrio)(from))));
|
|
12
12
|
const format = (0, combi_1.seq)("FIELD FORMAT", expressions_1.Source, (0, combi_1.opt)(form));
|
|
@@ -14,7 +14,7 @@ class ModifyLine {
|
|
|
14
14
|
const index = (0, combi_1.seq)("INDEX", expressions_1.Source);
|
|
15
15
|
const page = (0, combi_1.seq)("OF PAGE", expressions_1.Source);
|
|
16
16
|
const ocp = (0, combi_1.str)("OF CURRENT PAGE");
|
|
17
|
-
const lineFormat = (0, combi_1.seq)("LINE FORMAT", (0, combi_1.
|
|
17
|
+
const lineFormat = (0, combi_1.seq)("LINE FORMAT", (0, combi_1.per)("INPUT OFF", "INVERSE", "RESET", "INTENSIFIED", "COLOR COL_NORMAL"));
|
|
18
18
|
const onOff = (0, combi_1.alt)("ON", "OFF");
|
|
19
19
|
const intensified = (0, combi_1.seq)("INTENSIFIED", onOff);
|
|
20
20
|
const options = (0, combi_1.per)(index, value, format, page, lineFormat, lineValue, ocp, intensified, expressions_1.Color);
|
|
@@ -5,7 +5,7 @@ const Expressions = require("../../2_statements/expressions");
|
|
|
5
5
|
const source_1 = require("./source");
|
|
6
6
|
class RaiseWith {
|
|
7
7
|
runSyntax(node, input) {
|
|
8
|
-
for (const f of node.
|
|
8
|
+
for (const f of node.findAllExpressionsMulti([Expressions.SimpleSource1, Expressions.Source])) {
|
|
9
9
|
new source_1.Source().runSyntax(f, input);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -99,9 +99,10 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
99
99
|
references.push({ object: lookup.object });
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
else if (field.FIELDNAME === ".INCLUDE"
|
|
102
|
+
else if (field.FIELDNAME === ".INCLUDE"
|
|
103
|
+
|| field.FIELDNAME.startsWith(".INCLU-")) {
|
|
103
104
|
if (field.PRECFIELD === undefined) {
|
|
104
|
-
return new Types.UnknownType("Table, parser error, PRECFIELD undefined");
|
|
105
|
+
return new Types.UnknownType("Table, parser error, PRECFIELD undefined, " + this.getName());
|
|
105
106
|
}
|
|
106
107
|
const lookup = ddic.lookupTableOrView(field.PRECFIELD);
|
|
107
108
|
let found = lookup.type;
|
|
@@ -133,26 +134,25 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
133
134
|
else {
|
|
134
135
|
components.push({ name: field.FIELDNAME, type: found });
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
/*
|
|
138
|
+
} else if (comptype === "S" && field.FIELDNAME.startsWith(".INCLU-")) {
|
|
138
139
|
const lookup = ddic.lookupTableOrView(field.PRECFIELD);
|
|
139
140
|
if (lookup.object) {
|
|
140
|
-
|
|
141
|
+
references.push({object: lookup.object});
|
|
141
142
|
}
|
|
142
143
|
const found = lookup.type;
|
|
143
144
|
if (found instanceof Types.VoidType) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
else if (found instanceof Types.UnknownType) {
|
|
154
|
-
return found;
|
|
145
|
+
// set the full structure to void
|
|
146
|
+
return found;
|
|
147
|
+
} else if (found instanceof Types.StructureType) {
|
|
148
|
+
const suffix = field.FIELDNAME.split("-")[1];
|
|
149
|
+
for (const c of found.getComponents()) {
|
|
150
|
+
components.push({name: c.name + suffix, type: c.type});
|
|
151
|
+
}
|
|
152
|
+
} else if (found instanceof Types.UnknownType) {
|
|
153
|
+
return found;
|
|
155
154
|
}
|
|
155
|
+
*/
|
|
156
156
|
}
|
|
157
157
|
else if (comptype === "S") {
|
|
158
158
|
const lookup = ddic.lookupTableOrView(field.ROLLNAME);
|
package/build/src/registry.js
CHANGED
|
@@ -1187,7 +1187,7 @@ ${indentation}CATCH ${className} INTO ${targetName}.`;
|
|
|
1187
1187
|
}
|
|
1188
1188
|
startToken = node.getFirstToken();
|
|
1189
1189
|
}
|
|
1190
|
-
const withs = ((_f = node.findDirectExpression(Expressions.RaiseWith)) === null || _f === void 0 ? void 0 : _f.
|
|
1190
|
+
const withs = ((_f = node.findDirectExpression(Expressions.RaiseWith)) === null || _f === void 0 ? void 0 : _f.findDirectExpressionsMulti([Expressions.SimpleSource1, Expressions.Source])) || [];
|
|
1191
1191
|
const className = ((_g = node.findDirectExpression(Expressions.ClassName)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || "ERROR";
|
|
1192
1192
|
const uniqueName1 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
|
|
1193
1193
|
const uniqueName2 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
|