@abaplint/core 2.113.87 → 2.113.89

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.
@@ -6520,7 +6520,8 @@ declare namespace Statements {
6520
6520
  SetLocks,
6521
6521
  Enhancement_2 as Enhancement,
6522
6522
  EndEnhancement,
6523
- FormDefinition
6523
+ FormDefinition,
6524
+ VerificationMessage
6524
6525
  }
6525
6526
  }
6526
6527
  export { Statements }
@@ -7262,6 +7263,10 @@ declare class ValueBodyLines extends Expression {
7262
7263
  getRunnable(): IStatementRunnable;
7263
7264
  }
7264
7265
 
7266
+ declare class VerificationMessage implements IStatement {
7267
+ getMatcher(): IStatementRunnable;
7268
+ }
7269
+
7265
7270
  export declare enum Version {
7266
7271
  OpenABAP = "open-abap",// as 702, but with some extra new language features
7267
7272
  v700 = "v700",
@@ -7,7 +7,7 @@ const _1 = require(".");
7
7
  class FieldLength extends combi_1.Expression {
8
8
  getRunnable() {
9
9
  const normal = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.Plus)), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), _1.SimpleFieldChain2));
10
- const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.altPrio)(normal, "*"), (0, combi_1.tok)(tokens_1.ParenRightW));
10
+ const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.optPrio)((0, combi_1.altPrio)(normal, "*")), (0, combi_1.tok)(tokens_1.ParenRightW));
11
11
  return length;
12
12
  }
13
13
  }
@@ -4,7 +4,7 @@ exports.SQLFieldName = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  class SQLFieldName extends combi_1.Expression {
6
6
  getRunnable() {
7
- return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\w+|\*)|\w+)$/i);
7
+ return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\/\w+\/)?(\w+|\*)|\w+)$/i);
8
8
  }
9
9
  }
10
10
  exports.SQLFieldName = SQLFieldName;
@@ -25,7 +25,8 @@ class SQLFunction extends combi_1.Expression {
25
25
  const round = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^round$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
26
26
  const upper = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^upper$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));
27
27
  const uuid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^uuid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.tok)(tokens_1.WParenRightW)));
28
- return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round);
28
+ const concat_with_space = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^uuid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
29
+ return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space);
29
30
  }
30
31
  }
31
32
  exports.SQLFunction = SQLFunction;
@@ -9,7 +9,7 @@ class DeleteMemory {
9
9
  const memory = (0, combi_1.seq)("MEMORY ID", expressions_1.Source);
10
10
  const id = (0, combi_1.seq)("ID", expressions_1.Source);
11
11
  const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
12
- const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", (0, combi_1.regex)(/^\w+$/), ")", (0, combi_1.optPrio)(client), id);
12
+ const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", (0, combi_1.regex)(/^[\w%]+$/), ")", (0, combi_1.optPrio)(client), id);
13
13
  const ret = (0, combi_1.seq)("DELETE FROM", (0, combi_1.alt)(memory, shared));
14
14
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
15
15
  }
@@ -11,7 +11,7 @@ class Export {
11
11
  const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
12
12
  const id = (0, combi_1.seq)("ID", expressions_1.Source);
13
13
  const using = (0, combi_1.seq)("USING", expressions_1.Source);
14
- const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w$%\^]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));
14
+ const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w$%\^~]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));
15
15
  const buffer = (0, combi_1.seq)("DATA BUFFER", expressions_1.Target);
16
16
  const memory = (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source)));
17
17
  const table = (0, combi_1.seq)("INTERNAL TABLE", expressions_1.Target);
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class GetProperty {
8
8
  getMatcher() {
9
- const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, expressions_1.Source, "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUE-ONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
9
+ const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, (0, combi_1.alt)(expressions_1.Source, expressions_1.ConstantString), "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)((0, combi_1.alt)("QUEUE-ONLY", "QUEUEONLY")), (0, combi_1.opt)(expressions_1.OLEExporting));
10
10
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
11
  }
12
12
  }
@@ -329,4 +329,5 @@ __exportStar(require("./set_locks"), exports);
329
329
  __exportStar(require("./enhancement"), exports);
330
330
  __exportStar(require("./end_enhancement"), exports);
331
331
  __exportStar(require("./form_definition"), exports);
332
+ __exportStar(require("./verification_message"), exports);
332
333
  //# sourceMappingURL=index.js.map
@@ -21,7 +21,7 @@ class MethodDef {
21
21
  const forfunction = (0, combi_1.seq)("FOR FUNCTION", expressions_1.TypeName, result);
22
22
  const behavior = (0, combi_1.altPrio)((0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE AUTHORIZATION IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
23
23
  // todo, this is only from version something
24
- const amdp = (0, combi_1.seq)("AMDP OPTIONS CDS SESSION CLIENT CURRENT", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
24
+ const amdp = (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "CDS SESSION CLIENT CURRENT", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
25
25
  const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR", (0, combi_1.alt)(tableFunction, ddl, behavior)), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
26
26
  return ret;
27
27
  }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VerificationMessage = void 0;
4
+ const combi_1 = require("../combi");
5
+ const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
7
+ class VerificationMessage {
8
+ getMatcher() {
9
+ const ret = (0, combi_1.seq)("VERIFICATION-MESSAGE", expressions_1.Source, expressions_1.Source);
10
+ return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ }
12
+ }
13
+ exports.VerificationMessage = VerificationMessage;
14
+ //# sourceMappingURL=verification_message.js.map
@@ -6,13 +6,14 @@ const combi_1 = require("../../abap/2_statements/combi");
6
6
  const cds_integer_1 = require("./cds_integer");
7
7
  class CDSCondition extends combi_1.Expression {
8
8
  getRunnable() {
9
- const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));
10
- const left = (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSString);
11
- const compare = (0, combi_1.seq)(left, (0, combi_1.alt)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), "<", ">", (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "LIKE", "NOT LIKE"), (0, combi_1.alt)(left, cds_integer_1.CDSInteger, _1.CDSFunction, _1.CDSString));
9
+ const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.altPrio)(_1.CDSString, _1.CDSName))));
10
+ const left = (0, combi_1.altPrio)(_1.CDSString, _1.CDSFunction, name);
11
+ const operators = (0, combi_1.altPrio)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "<", ">", "LIKE", "NOT LIKE");
12
+ const compare = (0, combi_1.seq)(left, operators, (0, combi_1.alt)(left, cds_integer_1.CDSInteger));
12
13
  const is = (0, combi_1.seq)(left, "IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("INITIAL", "NULL"));
13
- const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.alt)(compare, is));
14
+ const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(compare, is));
14
15
  const paren = (0, combi_1.seq)("(", CDSCondition, ")");
15
- return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)("AND", "OR"), (0, combi_1.altPrio)(condition, paren))));
16
+ return (0, combi_1.seq)((0, combi_1.altPrio)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)("AND", "OR"), (0, combi_1.altPrio)(condition, paren))));
16
17
  }
17
18
  }
18
19
  exports.CDSCondition = CDSCondition;
@@ -6,7 +6,7 @@ const combi_1 = require("../../abap/2_statements/combi");
6
6
  const cds_condition_1 = require("./cds_condition");
7
7
  class CDSJoin extends combi_1.Expression {
8
8
  getRunnable() {
9
- return (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)("INNER", "LEFT OUTER", "LEFT OUTER TO ONE")), "JOIN", _1.CDSSource, "ON", cds_condition_1.CDSCondition);
9
+ return (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("LEFT OUTER TO ONE", "LEFT OUTER", "INNER")), "JOIN", _1.CDSSource, "ON", cds_condition_1.CDSCondition);
10
10
  }
11
11
  }
12
12
  exports.CDSJoin = CDSJoin;
@@ -5,7 +5,7 @@ const _1 = require(".");
5
5
  const combi_1 = require("../../abap/2_statements/combi");
6
6
  class CDSSource extends combi_1.Expression {
7
7
  getRunnable() {
8
- return (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs));
8
+ return (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)(_1.CDSParametersSelect), (0, combi_1.optPrio)(_1.CDSAs));
9
9
  }
10
10
  }
11
11
  exports.CDSSource = CDSSource;
@@ -170,6 +170,9 @@ class TableType extends _abstract_object_1.AbstractObject {
170
170
  return;
171
171
  }
172
172
  const values = parsed.abapGit["asx:abap"]["asx:values"];
173
+ if (values === undefined) {
174
+ return;
175
+ }
173
176
  const dd40v = values.DD40V;
174
177
  this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : "";
175
178
  this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : "";
@@ -67,7 +67,7 @@ class Registry {
67
67
  }
68
68
  static abaplintVersion() {
69
69
  // magic, see build script "version.sh"
70
- return "2.113.87";
70
+ return "2.113.89";
71
71
  }
72
72
  getDDICReferences() {
73
73
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.113.87",
3
+ "version": "2.113.89",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -50,17 +50,17 @@
50
50
  },
51
51
  "homepage": "https://abaplint.org",
52
52
  "devDependencies": {
53
- "@microsoft/api-extractor": "^7.48.1",
53
+ "@microsoft/api-extractor": "^7.49.1",
54
54
  "@types/chai": "^4.3.20",
55
55
  "@types/mocha": "^10.0.10",
56
56
  "@types/node": "^22.10.5",
57
57
  "chai": "^4.5.0",
58
- "eslint": "^9.17.0",
58
+ "eslint": "^9.18.0",
59
59
  "mocha": "^11.0.1",
60
60
  "c8": "^10.1.3",
61
61
  "source-map-support": "^0.5.21",
62
62
  "ts-json-schema-generator": "^2.3.0",
63
- "typescript": "^5.7.2"
63
+ "typescript": "^5.7.3"
64
64
  },
65
65
  "dependencies": {
66
66
  "fast-xml-parser": "^4.5.1",