@abaplint/core 2.93.95 → 2.93.97

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.
@@ -1812,6 +1812,10 @@ declare class EventHandler extends Expression {
1812
1812
  getRunnable(): IStatementRunnable;
1813
1813
  }
1814
1814
 
1815
+ declare class EventName extends Expression {
1816
+ getRunnable(): IStatementRunnable;
1817
+ }
1818
+
1815
1819
  declare class Events implements IStatement {
1816
1820
  getMatcher(): IStatementRunnable;
1817
1821
  }
@@ -1927,6 +1931,7 @@ declare namespace Expressions {
1927
1931
  Dynamic,
1928
1932
  EntityAssociation,
1929
1933
  EventHandler,
1934
+ EventName,
1930
1935
  ExceptionName,
1931
1936
  FieldAll,
1932
1937
  FieldAssignment,
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const _1 = require(".");
6
6
  class EventHandler extends combi_1.Expression {
7
7
  getRunnable() {
8
- const event = (0, combi_1.seq)("FOR EVENT", _1.Field, "OF", _1.ClassName, (0, combi_1.optPrio)((0, combi_1.seq)("IMPORTING", (0, combi_1.plusPrio)(_1.MethodParamName))));
8
+ const event = (0, combi_1.seq)("FOR EVENT", _1.EventName, "OF", _1.ClassName, (0, combi_1.optPrio)((0, combi_1.seq)("IMPORTING", (0, combi_1.plusPrio)(_1.MethodParamName))));
9
9
  return event;
10
10
  }
11
11
  }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventName = void 0;
4
+ const combi_1 = require("../combi");
5
+ class EventName extends combi_1.Expression {
6
+ getRunnable() {
7
+ return (0, combi_1.regex)(/^[&_!]?\*?\w*(\/\w+\/)?\d*[a-zA-Z_%\$][\w\*%\$\?#]*(~\w+)?$/);
8
+ }
9
+ }
10
+ exports.EventName = EventName;
11
+ //# sourceMappingURL=event_name.js.map
@@ -64,6 +64,7 @@ __exportStar(require("./dynamic"), exports);
64
64
  __exportStar(require("./entity_association"), exports);
65
65
  __exportStar(require("./entity_association"), exports);
66
66
  __exportStar(require("./event_handler"), exports);
67
+ __exportStar(require("./event_name"), exports);
67
68
  __exportStar(require("./exception_name"), exports);
68
69
  __exportStar(require("./field_all"), exports);
69
70
  __exportStar(require("./field_assignment"), exports);
@@ -6,7 +6,7 @@ const _1 = require(".");
6
6
  class SQLJoin extends combi_1.Expression {
7
7
  getRunnable() {
8
8
  const joinType = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("INNER", "LEFT OUTER", "LEFT")), "JOIN");
9
- const join = (0, combi_1.seq)(joinType, _1.SQLFromSource, "ON", (0, combi_1.plusPrio)(_1.SQLCond));
9
+ const join = (0, combi_1.seq)(joinType, _1.SQLFromSource, "ON", _1.SQLCond);
10
10
  return join;
11
11
  }
12
12
  }
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
6
6
  class Events {
7
7
  getMatcher() {
8
8
  const exporting = (0, combi_1.seq)("EXPORTING", (0, combi_1.plus)(expressions_1.MethodParamOptional));
9
- return (0, combi_1.seq)((0, combi_1.alt)("CLASS-EVENTS", "EVENTS"), expressions_1.Field, (0, combi_1.opt)(exporting));
9
+ return (0, combi_1.seq)((0, combi_1.alt)("CLASS-EVENTS", "EVENTS"), expressions_1.EventName, (0, combi_1.opt)(exporting));
10
10
  }
11
11
  }
12
12
  exports.Events = Events;
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
6
6
  class RaiseEvent {
7
7
  getMatcher() {
8
8
  const exporting = (0, combi_1.seq)("EXPORTING", expressions_1.ParameterListS);
9
- return (0, combi_1.seq)("RAISE EVENT", expressions_1.Field, (0, combi_1.opt)(exporting));
9
+ return (0, combi_1.seq)("RAISE EVENT", expressions_1.EventName, (0, combi_1.opt)(exporting));
10
10
  }
11
11
  }
12
12
  exports.RaiseEvent = RaiseEvent;
@@ -7,7 +7,7 @@ const _reference_1 = require("../_reference");
7
7
  class RaiseEvent {
8
8
  runSyntax(node, scope, filename) {
9
9
  // todo: only possible in classes
10
- const f = node.findDirectExpression(Expressions.Field);
10
+ const f = node.findDirectExpression(Expressions.EventName);
11
11
  if (f === null || f === void 0 ? void 0 : f.concatTokens().includes("~")) {
12
12
  const name = f.concatTokens().split("~")[0];
13
13
  const idef = scope.findInterfaceDefinition(name);
@@ -11,9 +11,9 @@ class CharacterType extends _abstract_type_1.AbstractType {
11
11
  this.length = length;
12
12
  }
13
13
  cloneType(qualifiedName) {
14
- const extra = this.getAbstractTypeData() || {};
15
- extra.qualifiedName = qualifiedName;
16
- return new CharacterType(this.length, extra);
14
+ const clone = Object.assign({}, this.getAbstractTypeData()) || {};
15
+ clone.qualifiedName = qualifiedName;
16
+ return new CharacterType(this.length, clone);
17
17
  }
18
18
  getLength() {
19
19
  return this.length;
@@ -11,7 +11,7 @@ class EventDefinition extends _identifier_1.Identifier {
11
11
  if (!(node.get() instanceof events_1.Events)) {
12
12
  throw new Error("MethodDefinition, expected MethodDef as part of input node");
13
13
  }
14
- const found = node.findFirstExpression(Expressions.Field);
14
+ const found = node.findFirstExpression(Expressions.EventName);
15
15
  if (found === undefined) {
16
16
  throw new Error("MethodDefinition, expected MethodDef as part of input node");
17
17
  }
@@ -113,7 +113,7 @@ class MethodParameters {
113
113
  else if (doVoid && ooName) {
114
114
  scope.addReference(nameToken, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.filename, { ooName: ooName.toUpperCase() });
115
115
  }
116
- const eventName = (_b = node.findFirstExpression(Expressions.Field)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();
116
+ const eventName = (_b = node.findFirstExpression(Expressions.EventName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();
117
117
  const event = new _object_oriented_1.ObjectOriented(scope).searchEvent(def, eventName);
118
118
  for (const p of handler.findAllExpressions(Expressions.MethodParamName)) {
119
119
  const token = p.getFirstToken();
@@ -63,7 +63,7 @@ class Registry {
63
63
  }
64
64
  static abaplintVersion() {
65
65
  // magic, see build script "version.sh"
66
- return "2.93.95";
66
+ return "2.93.97";
67
67
  }
68
68
  getDDICReferences() {
69
69
  return this.references;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.93.95",
3
+ "version": "2.93.97",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",