@abaplint/core 2.112.10 → 2.112.11

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.
@@ -33,6 +33,24 @@ export declare abstract class ABAPObject extends AbstractObject {
33
33
  protected findTexts(parsed: any): void;
34
34
  }
35
35
 
36
+ declare class ABAPQueryFunctionalArea extends AbstractObject {
37
+ getType(): string;
38
+ getAllowedNaming(): {
39
+ maxLength: number;
40
+ allowNamespace: boolean;
41
+ };
42
+ getDescription(): string | undefined;
43
+ }
44
+
45
+ declare class ABAPQueryQuery extends AbstractObject {
46
+ getType(): string;
47
+ getAllowedNaming(): {
48
+ maxLength: number;
49
+ allowNamespace: boolean;
50
+ };
51
+ getDescription(): string | undefined;
52
+ }
53
+
36
54
  declare class Abstract extends Expression {
37
55
  getRunnable(): IStatementRunnable;
38
56
  }
@@ -4713,6 +4731,8 @@ declare class ObjectReferenceType extends AbstractType {
4713
4731
 
4714
4732
  declare namespace Objects {
4715
4733
  export {
4734
+ ABAPQueryFunctionalArea,
4735
+ ABAPQueryQuery,
4716
4736
  ActivationVariant,
4717
4737
  APIReleaseState,
4718
4738
  ApplicationJobCatalogEntry,
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  class MessageClass extends combi_1.Expression {
6
6
  getRunnable() {
7
7
  // "&1" can be used for almost anything(field names, method names etc.) in macros
8
- return (0, combi_1.regex)(/^>?(\/\w+\/)?\w+#?@?\/?!?&?>?\$?$/);
8
+ return (0, combi_1.regex)(/^>?[\w\/]+#?@?\/?!?&?>?\$?$/);
9
9
  }
10
10
  }
11
11
  exports.MessageClass = MessageClass;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Ranges {
8
8
  getMatcher() {
9
9
  const occurs = (0, combi_1.seq)("OCCURS", expressions_1.Source);
10
- const ret = (0, combi_1.seq)("RANGES", expressions_1.SimpleName, "FOR", expressions_1.FieldSub, (0, combi_1.opt)(occurs));
10
+ const ret = (0, combi_1.seq)("RANGES", expressions_1.SimpleName, "FOR", expressions_1.SimpleFieldChain2, (0, combi_1.opt)(occurs));
11
11
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
12
  }
13
13
  }
@@ -8,7 +8,7 @@ const protected_section_1 = require("./protected_section");
8
8
  const public_section_1 = require("./public_section");
9
9
  class ClassDefinition {
10
10
  getMatcher() {
11
- const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.opt)((0, _combi_1.sub)(public_section_1.PublicSection)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.Include)), (0, _combi_1.opt)((0, _combi_1.sub)(protected_section_1.ProtectedSection)), (0, _combi_1.opt)((0, _combi_1.sub)(private_section_1.PrivateSection)), (0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)));
11
+ const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.opt)((0, _combi_1.sub)(public_section_1.PublicSection)), (0, _combi_1.opt)((0, _combi_1.sub)(protected_section_1.ProtectedSection)), (0, _combi_1.opt)((0, _combi_1.sub)(private_section_1.PrivateSection)), (0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)));
12
12
  return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ClassDefinition), body, (0, _combi_1.sta)(Statements.EndClass));
13
13
  }
14
14
  }
@@ -53,7 +53,7 @@ __exportStar(require("./private_section"), exports);
53
53
  __exportStar(require("./protected_section"), exports);
54
54
  __exportStar(require("./provide"), exports);
55
55
  __exportStar(require("./public_section"), exports);
56
- __exportStar(require("./section_section"), exports);
56
+ __exportStar(require("./section_contents"), exports);
57
57
  __exportStar(require("./select"), exports);
58
58
  __exportStar(require("./statics"), exports);
59
59
  __exportStar(require("./test_injection"), exports);
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Interface = void 0;
4
4
  const Statements = require("../../2_statements/statements");
5
5
  const _combi_1 = require("./_combi");
6
- const section_section_1 = require("./section_section");
6
+ const section_contents_1 = require("./section_contents");
7
7
  class Interface {
8
8
  getMatcher() {
9
- const intf = (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Interface), (0, _combi_1.star)((0, _combi_1.sub)(section_section_1.SectionContents)), (0, _combi_1.sta)(Statements.EndInterface));
9
+ const intf = (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Interface), (0, _combi_1.star)((0, _combi_1.sub)(section_contents_1.SectionContents)), (0, _combi_1.sta)(Statements.EndInterface));
10
10
  return intf;
11
11
  }
12
12
  }
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PrivateSection = void 0;
4
4
  const Statements = require("../../2_statements/statements");
5
5
  const _combi_1 = require("./_combi");
6
- const section_section_1 = require("./section_section");
6
+ const section_contents_1 = require("./section_contents");
7
7
  class PrivateSection {
8
8
  getMatcher() {
9
- return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Private), (0, _combi_1.opt)((0, _combi_1.sub)(section_section_1.SectionContents)));
9
+ return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Private), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
10
10
  }
11
11
  }
12
12
  exports.PrivateSection = PrivateSection;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProtectedSection = void 0;
4
4
  const Statements = require("../../2_statements/statements");
5
5
  const _combi_1 = require("./_combi");
6
- const section_section_1 = require("./section_section");
6
+ const section_contents_1 = require("./section_contents");
7
7
  class ProtectedSection {
8
8
  getMatcher() {
9
- return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Protected), (0, _combi_1.opt)((0, _combi_1.sub)(section_section_1.SectionContents)));
9
+ return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Protected), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
10
10
  }
11
11
  }
12
12
  exports.ProtectedSection = ProtectedSection;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PublicSection = void 0;
4
4
  const Statements = require("../../2_statements/statements");
5
5
  const _combi_1 = require("./_combi");
6
- const section_section_1 = require("./section_section");
6
+ const section_contents_1 = require("./section_contents");
7
7
  class PublicSection {
8
8
  getMatcher() {
9
- return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Public), (0, _combi_1.opt)((0, _combi_1.sub)(section_section_1.SectionContents)));
9
+ return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Public), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
10
10
  }
11
11
  }
12
12
  exports.PublicSection = PublicSection;
@@ -11,8 +11,8 @@ const data_1 = require("./data");
11
11
  const _1 = require(".");
12
12
  class SectionContents {
13
13
  getMatcher() {
14
- return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.MethodDef), (0, _combi_1.sta)(Statements.InterfaceDef), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sta)(Statements.Events), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Aliases), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sub)(type_enum_1.TypeEnum), (0, _combi_1.sub)(_1.TypeMesh), (0, _combi_1.sub)(data_1.Data), (0, _combi_1.sub)(class_data_1.ClassData), (0, _combi_1.sta)(Statements.Type)));
14
+ return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.MethodDef), (0, _combi_1.sta)(Statements.InterfaceDef), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sta)(Statements.Events), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Aliases), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sub)(type_enum_1.TypeEnum), (0, _combi_1.sub)(_1.TypeMesh), (0, _combi_1.sub)(data_1.Data), (0, _combi_1.sub)(class_data_1.ClassData), (0, _combi_1.sta)(Statements.Type)));
15
15
  }
16
16
  }
17
17
  exports.SectionContents = SectionContents;
18
- //# sourceMappingURL=section_section.js.map
18
+ //# sourceMappingURL=section_contents.js.map
@@ -39,7 +39,7 @@ class StringTemplate {
39
39
  && !(type instanceof basic_1.NumericGenericType)
40
40
  && !(type instanceof basic_1.NumericType)
41
41
  && !(type instanceof basic_1.AnyType)) {
42
- const message = "Cannot apply ALPHA to this type";
42
+ const message = `Cannot apply ALPHA to this type (${type.constructor.name})`;
43
43
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, format.getFirstToken(), message));
44
44
  return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
45
45
  }
@@ -30,8 +30,11 @@ class Loop {
30
30
  let rowType = undefined;
31
31
  const concat = node.concatTokens().toUpperCase();
32
32
  if (sourceType === undefined) {
33
- const message = "No source type determined";
34
- input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
33
+ // if its a dynpro table control loop, then dont issue error
34
+ if (concat !== "LOOP.") {
35
+ const message = "No source type determined";
36
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
37
+ }
35
38
  return;
36
39
  }
37
40
  else if (sourceType instanceof basic_1.UnknownType) {
@@ -10,7 +10,7 @@ class Ranges {
10
10
  runSyntax(node, input) {
11
11
  var _a;
12
12
  const nameToken = (_a = node.findFirstExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
13
- const typeExpression = node.findFirstExpression(Expressions.FieldSub);
13
+ const typeExpression = node.findFirstExpression(Expressions.SimpleFieldChain2);
14
14
  if (typeExpression === undefined) {
15
15
  throw new assert_error_1.AssertError("Ranges, unexpected node");
16
16
  }
package/build/src/ddic.js CHANGED
@@ -309,6 +309,7 @@ class DDIC {
309
309
  switch (text) {
310
310
  case "DEC": // 1 <= len <= 31
311
311
  case "D16F": // 1 <= len <= 31
312
+ case "D16D":
312
313
  case "D34F": // 1 <= len <= 31
313
314
  case "DF16_DEC": // 1 <= len <= 31
314
315
  case "DF34_DEC": // 1 <= len <= 31
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ABAPQueryFunctionalArea = void 0;
4
+ const _abstract_object_1 = require("./_abstract_object");
5
+ class ABAPQueryFunctionalArea extends _abstract_object_1.AbstractObject {
6
+ getType() {
7
+ return "AQSG";
8
+ }
9
+ getAllowedNaming() {
10
+ return {
11
+ maxLength: 60, // todo
12
+ allowNamespace: true,
13
+ };
14
+ }
15
+ getDescription() {
16
+ // todo
17
+ return undefined;
18
+ }
19
+ }
20
+ exports.ABAPQueryFunctionalArea = ABAPQueryFunctionalArea;
21
+ //# sourceMappingURL=abap_query_functional_area.js.map
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ABAPQueryQuery = void 0;
4
+ const _abstract_object_1 = require("./_abstract_object");
5
+ class ABAPQueryQuery extends _abstract_object_1.AbstractObject {
6
+ getType() {
7
+ return "AQQU";
8
+ }
9
+ getAllowedNaming() {
10
+ return {
11
+ maxLength: 60, // todo
12
+ allowNamespace: true,
13
+ };
14
+ }
15
+ getDescription() {
16
+ // todo
17
+ return undefined;
18
+ }
19
+ }
20
+ exports.ABAPQueryQuery = ABAPQueryQuery;
21
+ //# sourceMappingURL=abap_query_query.js.map
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./abap_query_functional_area"), exports);
18
+ __exportStar(require("./abap_query_query"), exports);
17
19
  __exportStar(require("./activation_variant"), exports);
18
20
  __exportStar(require("./api_release_state"), exports);
19
21
  __exportStar(require("./application_job_catalog_entry"), exports);
@@ -67,7 +67,7 @@ class Registry {
67
67
  }
68
68
  static abaplintVersion() {
69
69
  // magic, see build script "version.sh"
70
- return "2.112.10";
70
+ return "2.112.11";
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.112.10",
3
+ "version": "2.112.11",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -50,10 +50,10 @@
50
50
  },
51
51
  "homepage": "https://abaplint.org",
52
52
  "devDependencies": {
53
- "@microsoft/api-extractor": "^7.47.4",
53
+ "@microsoft/api-extractor": "^7.47.5",
54
54
  "@types/chai": "^4.3.17",
55
55
  "@types/mocha": "^10.0.7",
56
- "@types/node": "^22.0.2",
56
+ "@types/node": "^22.1.0",
57
57
  "chai": "^4.5.0",
58
58
  "eslint": "^8.57.0",
59
59
  "mocha": "^10.7.0",