@abaplint/cli 2.119.0 → 2.119.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/build/cli.js +19 -7
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -8455,7 +8455,7 @@ exports.SQLFieldName = void 0;
8455
8455
  const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
8456
8456
  class SQLFieldName extends combi_1.Expression {
8457
8457
  getRunnable() {
8458
- return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\/\w+\/)?(\w+|\*)|\w+)$/i);
8458
+ return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\*?\w+~(\/\w+\/)?(\w+|\*)|\w+)$/i);
8459
8459
  }
8460
8460
  }
8461
8461
  exports.SQLFieldName = SQLFieldName;
@@ -8638,7 +8638,9 @@ class SQLFunction extends combi_1.Expression {
8638
8638
  const dats_add_months = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_add_months$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
8639
8639
  const ltrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^ltrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
8640
8640
  const rtrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^rtrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
8641
- return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space, ltrim, rtrim, substring, dats_is_valid, dats_days_between, dats_add_days, dats_add_months);
8641
+ const right = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^right$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
8642
+ const left = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^left$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
8643
+ return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space, ltrim, rtrim, right, left, substring, dats_is_valid, dats_days_between, dats_add_days, dats_add_months);
8642
8644
  }
8643
8645
  }
8644
8646
  exports.SQLFunction = SQLFunction;
@@ -10573,7 +10575,7 @@ class AtSelectionScreen {
10573
10575
  const field = (0, combi_1.seq)("ON", expressions_1.FieldSub);
10574
10576
  const end = (0, combi_1.seq)("ON END OF", expressions_1.Field);
10575
10577
  const radio = (0, combi_1.seq)("ON RADIOBUTTON GROUP", expressions_1.Field);
10576
- const block = (0, combi_1.seq)("ON BLOCK", (0, combi_1.regex)(/^\w+$/));
10578
+ const block = (0, combi_1.seq)("ON BLOCK", expressions_1.BlockName);
10577
10579
  const help = (0, combi_1.seq)("ON HELP-REQUEST FOR", expressions_1.FieldSub);
10578
10580
  const ret = (0, combi_1.seq)("AT SELECTION-SCREEN", (0, combi_1.opt)((0, combi_1.alt)(output, value, radio, exit, field, end, help, block)));
10579
10581
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
@@ -24010,7 +24012,11 @@ class TypeUtils {
24010
24012
  }
24011
24013
  }
24012
24014
  else if (source instanceof basic_1.TableType) {
24013
- if (target instanceof basic_1.TableType) {
24015
+ if (source.getRowType() instanceof basic_1.AnyType) {
24016
+ // then its a generic table, todo: add top level generic table type?
24017
+ return true;
24018
+ }
24019
+ else if (target instanceof basic_1.TableType) {
24014
24020
  const sourceKeyType = source.getOptions().keyType;
24015
24021
  const targetKeyType = target.getOptions().keyType;
24016
24022
  if (sourceKeyType !== targetKeyType
@@ -26600,7 +26606,7 @@ const assert_error_1 = __webpack_require__(/*! ../assert_error */ "./node_module
26600
26606
  const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
26601
26607
  class FormParam {
26602
26608
  static runSyntax(node, input) {
26603
- var _a, _b;
26609
+ var _a, _b, _c;
26604
26610
  const formParamName = node.findFirstExpression(expressions_1.FormParamName);
26605
26611
  if (formParamName === undefined) {
26606
26612
  throw new assert_error_1.AssertError("FormParam, could not find FormParamName");
@@ -26628,7 +26634,13 @@ class FormParam {
26628
26634
  // untyped FORM parameter
26629
26635
  return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, basic_1.AnyType.get(), ["form_parameter" /* IdentifierMeta.FormParameter */]);
26630
26636
  }
26631
- const bfound = new basic_types_1.BasicTypes(input).parseType(node);
26637
+ let bfound = new basic_types_1.BasicTypes(input).parseType(node);
26638
+ const isTypeC = ((_c = node.findFirstExpression(expressions_1.TypeName)) === null || _c === void 0 ? void 0 : _c.concatTokens().toUpperCase()) === "C";
26639
+ const hasExplicitLength = node.findFirstExpression(expressions_1.Length) !== undefined
26640
+ || node.findFirstExpression(expressions_1.ConstantFieldLength) !== undefined;
26641
+ if (isTypeC && hasExplicitLength === false && bfound instanceof basic_1.CharacterType) {
26642
+ bfound = basic_1.CGenericType.get();
26643
+ }
26632
26644
  if (nameToken && bfound) {
26633
26645
  return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, bfound, ["form_parameter" /* IdentifierMeta.FormParameter */]);
26634
26646
  }
@@ -56137,7 +56149,7 @@ class Registry {
56137
56149
  }
56138
56150
  static abaplintVersion() {
56139
56151
  // magic, see build script "version.sh"
56140
- return "2.119.0";
56152
+ return "2.119.2";
56141
56153
  }
56142
56154
  getDDICReferences() {
56143
56155
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.119.0",
3
+ "version": "2.119.2",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.119.0",
41
+ "@abaplint/core": "^2.119.2",
42
42
  "@types/chai": "^4.3.20",
43
43
  "@types/minimist": "^1.2.5",
44
44
  "@types/mocha": "^10.0.10",