@abaplint/cli 2.119.64 → 2.119.66
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/cli.js +34 -7
- package/package.json +2 -2
package/build/cli.js
CHANGED
|
@@ -27576,7 +27576,8 @@ class TypeUtils {
|
|
|
27576
27576
|
console.dir(target);
|
|
27577
27577
|
console.dir(calculated);
|
|
27578
27578
|
*/
|
|
27579
|
-
if (calculated && source instanceof basic_1.StringType
|
|
27579
|
+
if (calculated && source instanceof basic_1.StringType
|
|
27580
|
+
&& (target instanceof basic_1.XStringType || target instanceof basic_1.XSequenceType)) {
|
|
27580
27581
|
return false;
|
|
27581
27582
|
}
|
|
27582
27583
|
if (calculated) {
|
|
@@ -27597,7 +27598,7 @@ class TypeUtils {
|
|
|
27597
27598
|
}
|
|
27598
27599
|
else if (target instanceof basic_1.XStringType) {
|
|
27599
27600
|
if (((_c = source.getAbstractTypeData()) === null || _c === void 0 ? void 0 : _c.derivedFromConstant) === true) {
|
|
27600
|
-
return
|
|
27601
|
+
return (node === null || node === void 0 ? void 0 : node.concatTokens()) !== "''";
|
|
27601
27602
|
}
|
|
27602
27603
|
return false;
|
|
27603
27604
|
}
|
|
@@ -32289,6 +32290,7 @@ const Expressions = __importStar(__webpack_require__(/*! ../../2_statements/expr
|
|
|
32289
32290
|
const _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ "../core/build/src/abap/types/_typed_identifier.js");
|
|
32290
32291
|
const basic_1 = __webpack_require__(/*! ../../types/basic */ "../core/build/src/abap/types/basic/index.js");
|
|
32291
32292
|
const basic_types_1 = __webpack_require__(/*! ../basic_types */ "../core/build/src/abap/5_syntax/basic_types.js");
|
|
32293
|
+
const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "../core/build/src/abap/5_syntax/_syntax_input.js");
|
|
32292
32294
|
const assert_error_1 = __webpack_require__(/*! ../assert_error */ "../core/build/src/abap/5_syntax/assert_error.js");
|
|
32293
32295
|
class MethodDefReturning {
|
|
32294
32296
|
static runSyntax(node, input, meta) {
|
|
@@ -32301,8 +32303,11 @@ class MethodDefReturning {
|
|
|
32301
32303
|
throw new assert_error_1.AssertError("method_parameter.ts, unexpected structure");
|
|
32302
32304
|
}
|
|
32303
32305
|
let found = new basic_types_1.BasicTypes(input).parseType(type);
|
|
32304
|
-
|
|
32305
|
-
|
|
32306
|
+
const message = "RETURNING parameter must be fully specified";
|
|
32307
|
+
const typeText = type.concatTokens().toUpperCase();
|
|
32308
|
+
if ((found === null || found === void 0 ? void 0 : found.isGeneric()) === true || typeText === "TYPE X" || typeText === "TYPE C") {
|
|
32309
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, type.getFirstToken(), message));
|
|
32310
|
+
found = new basic_1.UnknownType(message);
|
|
32306
32311
|
}
|
|
32307
32312
|
if (found) {
|
|
32308
32313
|
return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, found, meta);
|
|
@@ -37994,6 +37999,11 @@ class Concatenate {
|
|
|
37994
37999
|
runSyntax(node, input) {
|
|
37995
38000
|
const byteMode = node.findDirectTokenByText("BYTE") !== undefined;
|
|
37996
38001
|
const linesMode = node.findDirectTokenByText("LINES") !== undefined;
|
|
38002
|
+
if (node.findFirstExpression(Expressions.TableExpression) !== undefined) {
|
|
38003
|
+
const message = "CONCATENATE with table expression not possible";
|
|
38004
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
38005
|
+
return;
|
|
38006
|
+
}
|
|
37997
38007
|
const target = node.findFirstExpression(Expressions.Target);
|
|
37998
38008
|
const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);
|
|
37999
38009
|
if (inline) {
|
|
@@ -68823,7 +68833,7 @@ class Registry {
|
|
|
68823
68833
|
}
|
|
68824
68834
|
static abaplintVersion() {
|
|
68825
68835
|
// magic, see build script "version.js"
|
|
68826
|
-
return "2.119.
|
|
68836
|
+
return "2.119.66";
|
|
68827
68837
|
}
|
|
68828
68838
|
getDDICReferences() {
|
|
68829
68839
|
return this.ddicReferences;
|
|
@@ -75568,6 +75578,18 @@ Make sure to test the downported code, it might not always be completely correct
|
|
|
75568
75578
|
}
|
|
75569
75579
|
}
|
|
75570
75580
|
}
|
|
75581
|
+
// INTO after WHERE parses as a valid SELECT in the low version, but is only allowed in
|
|
75582
|
+
// strict SQL syntax, so move it also when the statement is no longer Unknown
|
|
75583
|
+
if (ret.length === 0) {
|
|
75584
|
+
for (let i = 0; i < lowStatements.length; i++) {
|
|
75585
|
+
const low = lowStatements[i];
|
|
75586
|
+
const high = highStatements[i];
|
|
75587
|
+
const issue = this.downportSQLMoveInto(low, high, lowFile, highSyntax);
|
|
75588
|
+
if (issue) {
|
|
75589
|
+
ret.push(issue);
|
|
75590
|
+
}
|
|
75591
|
+
}
|
|
75592
|
+
}
|
|
75571
75593
|
}
|
|
75572
75594
|
return ret;
|
|
75573
75595
|
}
|
|
@@ -75811,10 +75833,14 @@ Make sure to test the downported code, it might not always be completely correct
|
|
|
75811
75833
|
return undefined;
|
|
75812
75834
|
}
|
|
75813
75835
|
//////////////////////////////////////////
|
|
75814
|
-
/** move INTO from after WHERE to after FROM
|
|
75836
|
+
/** move INTO from after WHERE to after FROM,
|
|
75837
|
+
* note that INTO after WHERE is only valid in strict SQL syntax, so it must be moved when
|
|
75838
|
+
* downporting; this can happen both while the statement is still Unknown(from the main loop)
|
|
75839
|
+
* and after the @ and FIELDS have been removed, leaving a SELECT that parses in the low version */
|
|
75815
75840
|
downportSQLMoveInto(low, high, lowFile, _highSyntax) {
|
|
75816
75841
|
var _a;
|
|
75817
|
-
if (!(
|
|
75842
|
+
if (!(high.get() instanceof Statements.Select)
|
|
75843
|
+
&& !(high.get() instanceof Statements.SelectLoop)) {
|
|
75818
75844
|
return undefined;
|
|
75819
75845
|
}
|
|
75820
75846
|
// note: SQLCond is also used in JOIN(FROM) conditions
|
|
@@ -75822,6 +75848,7 @@ Make sure to test the downported code, it might not always be completely correct
|
|
|
75822
75848
|
if (where === undefined) {
|
|
75823
75849
|
return undefined;
|
|
75824
75850
|
}
|
|
75851
|
+
// the FIELDS list sits between FROM and WHERE, wait for it to be removed first
|
|
75825
75852
|
if (high.findFirstExpression(Expressions.SQLFields) !== undefined) {
|
|
75826
75853
|
return undefined;
|
|
75827
75854
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.119.
|
|
3
|
+
"version": "2.119.66",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://abaplint.org",
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@abaplint/core": "^2.119.
|
|
42
|
+
"@abaplint/core": "^2.119.66",
|
|
43
43
|
"@types/chai": "^4.3.20",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.10",
|