@abaplint/core 2.113.59 → 2.113.61

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.
@@ -341,6 +341,10 @@ declare class AtLineSelection implements IStatement {
341
341
  getMatcher(): IStatementRunnable;
342
342
  }
343
343
 
344
+ declare class AtPF implements IStatement {
345
+ getMatcher(): IStatementRunnable;
346
+ }
347
+
344
348
  declare class AtSelectionScreen implements IStatement {
345
349
  getMatcher(): IStatementRunnable;
346
350
  }
@@ -6347,6 +6351,7 @@ declare namespace Statements {
6347
6351
  Import,
6348
6352
  AtFirst_2 as AtFirst,
6349
6353
  AtLast_2 as AtLast,
6354
+ AtPF,
6350
6355
  At_2 as At,
6351
6356
  Put,
6352
6357
  EndAt,
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const tokens_1 = require("../../1_lexer/tokens");
6
6
  class DefinitionName extends combi_1.Expression {
7
7
  getRunnable() {
8
- const r = (0, combi_1.regex)(/^&|&?((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
8
+ const r = (0, combi_1.regex)(/^&|&?((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%\?]+)$/);
9
9
  return (0, combi_1.seq)(r, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(r))), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.DashW)));
10
10
  }
11
11
  }
@@ -4,7 +4,7 @@ exports.NamespaceSimpleName = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  class NamespaceSimpleName extends combi_1.Expression {
6
6
  getRunnable() {
7
- return (0, combi_1.regex)(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
7
+ return (0, combi_1.regex)(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%#]+)$/);
8
8
  }
9
9
  }
10
10
  exports.NamespaceSimpleName = NamespaceSimpleName;
@@ -22,7 +22,8 @@ class SelectLoop extends combi_1.Expression {
22
22
  const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
23
23
  const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, into, packTab));
24
24
  const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, sql_fields_loop_1.SQLFieldsLoop), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo))));
25
- const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
25
+ const aggr = (0, combi_1.seq)(_1.SQLAggregation, into, _1.SQLFrom, where, _1.SQLGroupBy);
26
+ const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict, aggr), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
26
27
  return ret;
27
28
  }
28
29
  }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AtPF = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ class AtPF {
7
+ getMatcher() {
8
+ return (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("AT", (0, combi_1.regex)(/^PF\d\d?$/i)));
9
+ }
10
+ }
11
+ exports.AtPF = AtPF;
12
+ //# sourceMappingURL=at_pf.js.map
@@ -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 MEMORY", expressions_1.Field, "(", expressions_1.Field, ")", (0, combi_1.optPrio)(client), id);
12
+ const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", expressions_1.Field, ")", (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
  }
@@ -19,7 +19,7 @@ class Export {
19
19
  const database = (0, combi_1.seq)("DATABASE", cluster, (0, combi_1.per)(from, client, id, using));
20
20
  const target = (0, combi_1.alt)(buffer, memory, database, table, shared);
21
21
  const left = (0, combi_1.alt)(expressions_1.FieldSub, expressions_1.FieldSymbol);
22
- const source = (0, combi_1.alt)((0, combi_1.plus)((0, combi_1.altPrio)(expressions_1.ParameterS, (0, combi_1.seq)(left, from), left)), expressions_1.Dynamic);
22
+ const source = (0, combi_1.alt)((0, combi_1.plus)((0, combi_1.altPrio)(expressions_1.ParameterS, (0, combi_1.seq)(left, from), left)), expressions_1.Dynamic, expressions_1.Constant);
23
23
  const compression = (0, combi_1.seq)("COMPRESSION", (0, combi_1.alt)("ON", "OFF"));
24
24
  const hint = (0, combi_1.seq)("CODE PAGE HINT", expressions_1.Source);
25
25
  return (0, combi_1.seq)("EXPORT", source, "TO", target, (0, combi_1.opt)(compression), (0, combi_1.opt)(hint));
@@ -206,6 +206,7 @@ __exportStar(require("./export"), exports);
206
206
  __exportStar(require("./import"), exports);
207
207
  __exportStar(require("./at_first"), exports);
208
208
  __exportStar(require("./at_last"), exports);
209
+ __exportStar(require("./at_pf"), exports);
209
210
  __exportStar(require("./at"), exports);
210
211
  __exportStar(require("./put"), exports);
211
212
  __exportStar(require("./endat"), exports);
@@ -8,7 +8,7 @@ class Infotypes {
8
8
  getMatcher() {
9
9
  const occurs = (0, combi_1.seq)("OCCURS", expressions_1.Constant);
10
10
  const name = (0, combi_1.seq)("NAME", expressions_1.Field);
11
- const ret = (0, combi_1.seq)("INFOTYPES", expressions_1.Constant, (0, combi_1.optPrio)(occurs), (0, combi_1.optPrio)(name));
11
+ const ret = (0, combi_1.seq)("INFOTYPES", expressions_1.Constant, (0, combi_1.optPrio)(occurs), (0, combi_1.optPrio)(name), (0, combi_1.optPrio)("MODE N"));
12
12
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
13
13
  }
14
14
  }
@@ -6,7 +6,9 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class ModifyLine {
8
8
  getMatcher() {
9
- const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT", "COLOR"), "=", expressions_1.Source);
9
+ const onOff = (0, combi_1.alt)("ON", "OFF");
10
+ const eq = (0, combi_1.seq)("=", expressions_1.Source);
11
+ const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT", "COLOR"), (0, combi_1.alt)(eq, onOff));
10
12
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
11
13
  const value = (0, combi_1.seq)("FIELD VALUE", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.Source, (0, combi_1.optPrio)(from))));
12
14
  const format = (0, combi_1.seq)("FIELD FORMAT", expressions_1.Source, (0, combi_1.opt)(form));
@@ -14,8 +16,7 @@ class ModifyLine {
14
16
  const index = (0, combi_1.seq)("INDEX", expressions_1.Source);
15
17
  const page = (0, combi_1.seq)("OF PAGE", expressions_1.Source);
16
18
  const ocp = (0, combi_1.str)("OF CURRENT PAGE");
17
- const lineFormat = (0, combi_1.seq)("LINE FORMAT", (0, combi_1.per)("INPUT OFF", "INVERSE", "RESET", "INTENSIFIED", "COLOR COL_NORMAL"));
18
- const onOff = (0, combi_1.alt)("ON", "OFF");
19
+ const lineFormat = (0, combi_1.seq)("LINE FORMAT", (0, combi_1.per)("INPUT OFF", "INVERSE", "RESET", "INTENSIFIED", expressions_1.Color));
19
20
  const intensified = (0, combi_1.seq)("INTENSIFIED", onOff);
20
21
  const options = (0, combi_1.per)(index, value, format, page, lineFormat, lineValue, ocp, intensified, expressions_1.Color);
21
22
  const ret = (0, combi_1.seq)("MODIFY", (0, combi_1.altPrio)("CURRENT LINE", (0, combi_1.seq)("LINE", expressions_1.Source)), (0, combi_1.opt)(options));
@@ -15,6 +15,7 @@ class NewPage {
15
15
  const coverText = (0, combi_1.seq)("COVER TEXT", expressions_1.Source);
16
16
  const coverPage = (0, combi_1.seq)("SAP COVER PAGE", expressions_1.Source);
17
17
  const immediately = (0, combi_1.seq)("IMMEDIATELY", expressions_1.Source);
18
+ const copies = (0, combi_1.seq)("COPIES", expressions_1.Source);
18
19
  const keep = (0, combi_1.seq)("KEEP IN SPOOL", expressions_1.Source);
19
20
  const layout = (0, combi_1.seq)("LAYOUT", expressions_1.Source);
20
21
  const listAuth = (0, combi_1.seq)("LIST AUTHORITY", expressions_1.Source);
@@ -23,7 +24,7 @@ class NewPage {
23
24
  const dataset = (0, combi_1.seq)("LIST DATASET", expressions_1.Source);
24
25
  const name = (0, combi_1.seq)("LIST NAME", expressions_1.Source);
25
26
  const newList = (0, combi_1.seq)("NEW LIST IDENTIFICATION", expressions_1.Source);
26
- const ret = (0, combi_1.seq)("NEW-PAGE", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)("NO-TITLE", "WITH-TITLE"), (0, combi_1.alt)("NO-HEADING", "WITH-HEADING"), "NO DIALOG", parameters, listAuth, immediately, dataset, coverPage, newList, keep, department, name, layout, destination, receiver, coverText, archive, "NEW-SECTION", lineCount, line)));
27
+ const ret = (0, combi_1.seq)("NEW-PAGE", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)("NO-TITLE", "WITH-TITLE"), (0, combi_1.alt)("NO-HEADING", "WITH-HEADING"), "NO DIALOG", parameters, listAuth, immediately, dataset, coverPage, newList, keep, department, name, layout, destination, receiver, copies, coverText, archive, "NEW-SECTION", lineCount, line)));
27
28
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
28
29
  }
29
30
  }
@@ -18,7 +18,7 @@ class Parameter {
18
18
  const length = (0, combi_1.seq)("LENGTH", expressions_1.Constant);
19
19
  const match = (0, combi_1.seq)("MATCHCODE OBJECT", expressions_1.Field);
20
20
  const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
21
- const forTable = (0, combi_1.seq)("FOR TABLE", expressions_1.DatabaseTable);
21
+ const forTable = (0, combi_1.seq)("FOR TABLE", expressions_1.DatabaseTable, (0, combi_1.opt)("VALUE-REQUEST"));
22
22
  const perm = (0, combi_1.per)(type, def, "OBLIGATORY", match, cmd, length, decimals, radio, memory, modif, listbox, visible, forTable, "VALUE CHECK", "NO-DISPLAY", "AS CHECKBOX", "LOWER CASE");
23
23
  const ret = (0, combi_1.seq)(para, expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.FieldLength), (0, combi_1.opt)(perm));
24
24
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
@@ -11,7 +11,10 @@ class PrintControl {
11
11
  const line = (0, combi_1.seq)("LINE", expressions_1.Source);
12
12
  const position = (0, combi_1.seq)("POSITION", expressions_1.Source);
13
13
  const size = (0, combi_1.seq)("SIZE", expressions_1.Source);
14
- const ret = (0, combi_1.seq)("PRINT-CONTROL", (0, combi_1.per)(index, func, line, position, size));
14
+ const cpi = (0, combi_1.seq)("CPI", expressions_1.Source);
15
+ const lpi = (0, combi_1.seq)("LPI", expressions_1.Source);
16
+ const font = (0, combi_1.seq)("FONT", expressions_1.Source);
17
+ const ret = (0, combi_1.seq)("PRINT-CONTROL", (0, combi_1.per)(index, func, line, position, size, cpi, lpi, font));
15
18
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
16
19
  }
17
20
  }
@@ -17,7 +17,9 @@ class SelectionScreen {
17
17
  const endLine = (0, combi_1.str)("END OF LINE");
18
18
  const modif = (0, combi_1.seq)("MODIF ID", expressions_1.Modif);
19
19
  const visible = (0, combi_1.seq)("VISIBLE LENGTH", (0, combi_1.regex)(/^\d+$/));
20
- const commentOpt = (0, combi_1.per)((0, combi_1.seq)("FOR FIELD", expressions_1.FieldSub), modif, visible);
20
+ const ldbId = (0, combi_1.seq)("ID", (0, combi_1.regex)(/^\w+$/));
21
+ const ldb = (0, combi_1.seq)("FOR FIELD", expressions_1.FieldSub, (0, combi_1.optPrio)(ldbId));
22
+ const commentOpt = (0, combi_1.per)(ldb, modif, visible);
21
23
  const position = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.regex)(/^\/?[\d\w]+$/)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.WParenLeft)), expressions_1.Integer, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight)));
22
24
  const comment = (0, combi_1.seq)("COMMENT", position, (0, combi_1.opt)((0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement)), (0, combi_1.opt)(commentOpt));
23
25
  const command = (0, combi_1.seq)("USER-COMMAND", (0, combi_1.alt)(expressions_1.Field, expressions_1.Constant));
@@ -30,13 +32,14 @@ class SelectionScreen {
30
32
  const posSymbols = (0, combi_1.altPrio)("POS_LOW", "POS_HIGH");
31
33
  // number between 1 and 83
32
34
  const posIntegers = (0, combi_1.regex)(/^(0?[1-9]|[1234567][0-9]|8[0-3])$/);
33
- const pos = (0, combi_1.seq)("POSITION", (0, combi_1.altPrio)(posIntegers, posSymbols));
35
+ const pos = (0, combi_1.seq)("POSITION", (0, combi_1.altPrio)(posIntegers, posSymbols), (0, combi_1.opt)((0, combi_1.seq)("FOR TABLE", expressions_1.Field)));
34
36
  const incl = (0, combi_1.seq)("INCLUDE BLOCKS", expressions_1.BlockName);
35
37
  const tabbed = (0, combi_1.seq)("BEGIN OF TABBED BLOCK", expressions_1.BlockName, "FOR", expressions_1.Integer, "LINES", (0, combi_1.optPrio)("NO INTERVALS"));
36
38
  const uline = (0, combi_1.seq)("ULINE", (0, combi_1.opt)(position));
37
39
  const param = (0, combi_1.seq)("INCLUDE PARAMETERS", expressions_1.Field);
38
40
  const iso = (0, combi_1.seq)("INCLUDE SELECT-OPTIONS", expressions_1.Field);
39
- const ret = (0, combi_1.seq)("SELECTION-SCREEN", (0, combi_1.altPrio)(comment, func, skip, pos, incl, iso, push, tab, uline, beginBlock, tabbed, endBlock, beginLine, endLine, param, beginScreen, endScreen));
41
+ const exclude = (0, combi_1.seq)("EXCLUDE", (0, combi_1.alt)("IDS", "PARAMETERS"), (0, combi_1.regex)(/^\w+$/));
42
+ const ret = (0, combi_1.seq)("SELECTION-SCREEN", (0, combi_1.altPrio)(comment, func, skip, pos, incl, iso, push, tab, uline, beginBlock, tabbed, endBlock, beginLine, endLine, param, beginScreen, endScreen, exclude));
40
43
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
41
44
  }
42
45
  }
@@ -12,7 +12,7 @@ class Write {
12
12
  const as = (0, combi_1.seq)("AS", (0, combi_1.altPrio)("LINE", "ICON", "CHECKBOX", "SYMBOL"));
13
13
  const to = (0, combi_1.seq)("TO", expressions_1.Target);
14
14
  const options = (0, combi_1.per)(mask, to, (0, combi_1.seq)("EXPONENT", expressions_1.Source), "NO-GROUPING", "NO-ZERO", "CENTERED", (0, combi_1.seq)("INPUT", (0, combi_1.opt)(onOff)), "NO-GAP", "LEFT-JUSTIFIED", as, (0, combi_1.seq)("FRAMES", onOff), (0, combi_1.seq)("HOTSPOT", (0, combi_1.opt)(onOff)), "RIGHT-JUSTIFIED", (0, combi_1.seq)("TIME ZONE", expressions_1.Source), (0, combi_1.seq)("UNDER", expressions_1.Source), (0, combi_1.seq)("STYLE", expressions_1.Source), (0, combi_1.seq)("ROUND", expressions_1.Source), (0, combi_1.seq)("QUICKINFO", expressions_1.Source), "ENVIRONMENT TIME FORMAT", dateFormat, (0, combi_1.seq)("UNIT", expressions_1.Source), (0, combi_1.seq)("INTENSIFIED", (0, combi_1.opt)(onOff)), (0, combi_1.seq)("INDEX", expressions_1.Source), (0, combi_1.seq)("DECIMALS", expressions_1.Source), (0, combi_1.seq)("INVERSE", (0, combi_1.opt)(onOff)), expressions_1.Color, (0, combi_1.seq)("CURRENCY", expressions_1.Source), "NO-SIGN");
15
- const ret = (0, combi_1.seq)("WRITE", (0, combi_1.alt)("AT /", (0, combi_1.seq)((0, combi_1.opt)(expressions_1.WriteOffsetLength), (0, combi_1.altPrio)(expressions_1.Source, expressions_1.Dynamic, "/"), (0, combi_1.opt)(options))));
15
+ const ret = (0, combi_1.seq)("WRITE", (0, combi_1.alt)("AT /", (0, combi_1.seq)((0, combi_1.opt)(expressions_1.WriteOffsetLength), (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic, "/"), (0, combi_1.opt)(options))));
16
16
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
17
17
  }
18
18
  }
@@ -6,7 +6,7 @@ const Structures = require(".");
6
6
  const Statements = require("../../2_statements/statements");
7
7
  class Any {
8
8
  getMatcher() {
9
- return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.ClassLocalFriends), (0, _combi_1.sta)(Statements.ClassDeferred), (0, _combi_1.sta)(Statements.Report), (0, _combi_1.sta)(Statements.Program), (0, _combi_1.sta)(Statements.Parameter), (0, _combi_1.sta)(Statements.CheckSelectOptions), (0, _combi_1.sta)(Statements.Get), (0, _combi_1.sta)(Statements.Initialization), (0, _combi_1.sta)(Statements.InterfaceDeferred), (0, _combi_1.sta)(Statements.SelectionScreen), (0, _combi_1.sta)(Statements.SelectOption), (0, _combi_1.sta)(Statements.AtSelectionScreen), (0, _combi_1.sta)(Statements.AtLineSelection), (0, _combi_1.sta)(Statements.AtUserCommand), (0, _combi_1.sta)(Statements.StartOfSelection), (0, _combi_1.sta)(Statements.EndOfSelection), (0, _combi_1.sta)(Statements.LoadOfProgram), (0, _combi_1.sta)(Statements.TopOfPage), (0, _combi_1.sta)(Statements.EndOfPage), (0, _combi_1.sta)(Statements.Controls), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.TypePool), (0, _combi_1.sta)(Statements.FunctionPool), (0, _combi_1.sub)(Structures.Normal), (0, _combi_1.sub)(Structures.Form), (0, _combi_1.sub)(Structures.Module), (0, _combi_1.sub)(Structures.FunctionModule), (0, _combi_1.sub)(Structures.Interface), (0, _combi_1.sub)(Structures.ClassDefinition), (0, _combi_1.sub)(Structures.ClassImplementation)));
9
+ return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.ClassLocalFriends), (0, _combi_1.sta)(Statements.ClassDeferred), (0, _combi_1.sta)(Statements.Report), (0, _combi_1.sta)(Statements.Program), (0, _combi_1.sta)(Statements.Parameter), (0, _combi_1.sta)(Statements.CheckSelectOptions), (0, _combi_1.sta)(Statements.Get), (0, _combi_1.sta)(Statements.Initialization), (0, _combi_1.sta)(Statements.InterfaceDeferred), (0, _combi_1.sta)(Statements.SelectionScreen), (0, _combi_1.sta)(Statements.SelectOption), (0, _combi_1.sta)(Statements.AtSelectionScreen), (0, _combi_1.sta)(Statements.AtLineSelection), (0, _combi_1.sta)(Statements.AtPF), (0, _combi_1.sta)(Statements.AtUserCommand), (0, _combi_1.sta)(Statements.StartOfSelection), (0, _combi_1.sta)(Statements.EndOfSelection), (0, _combi_1.sta)(Statements.LoadOfProgram), (0, _combi_1.sta)(Statements.TopOfPage), (0, _combi_1.sta)(Statements.EndOfPage), (0, _combi_1.sta)(Statements.Controls), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.TypePool), (0, _combi_1.sta)(Statements.FunctionPool), (0, _combi_1.sub)(Structures.Normal), (0, _combi_1.sub)(Structures.Form), (0, _combi_1.sub)(Structures.Module), (0, _combi_1.sub)(Structures.FunctionModule), (0, _combi_1.sub)(Structures.Interface), (0, _combi_1.sub)(Structures.ClassDefinition), (0, _combi_1.sub)(Structures.ClassImplementation)));
10
10
  }
11
11
  }
12
12
  exports.Any = Any;
@@ -5,9 +5,10 @@ const Statements = require("../../2_statements/statements");
5
5
  const _combi_1 = require("./_combi");
6
6
  const when_1 = require("./when");
7
7
  const _statement_1 = require("../../2_statements/statements/_statement");
8
+ const normal_1 = require("./normal");
8
9
  class Case {
9
10
  getMatcher() {
10
- return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Case), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sub)(when_1.When), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.Include))), (0, _combi_1.sta)(Statements.EndCase));
11
+ return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Case), (0, _combi_1.seq)((0, _combi_1.star)((0, _combi_1.sub)(normal_1.Normal)), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sub)(when_1.When), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.Include)))), (0, _combi_1.sta)(Statements.EndCase));
11
12
  }
12
13
  }
13
14
  exports.Case = Case;
@@ -6,6 +6,7 @@ exports.SELECTION_EVENTS = [
6
6
  Statements.StartOfSelection,
7
7
  Statements.AtSelectionScreen,
8
8
  Statements.AtLineSelection,
9
+ Statements.AtPF,
9
10
  Statements.AtUserCommand,
10
11
  Statements.EndOfSelection,
11
12
  Statements.Initialization,
@@ -72,6 +72,7 @@ class Indent {
72
72
  else if (type instanceof Statements.StartOfSelection
73
73
  || type instanceof Statements.AtSelectionScreen
74
74
  || type instanceof Statements.AtLineSelection
75
+ || type instanceof Statements.AtPF
75
76
  || type instanceof Statements.Initialization
76
77
  || type instanceof Statements.AtUserCommand
77
78
  || type instanceof Statements.TopOfPage
@@ -67,7 +67,7 @@ class Registry {
67
67
  }
68
68
  static abaplintVersion() {
69
69
  // magic, see build script "version.sh"
70
- return "2.113.59";
70
+ return "2.113.61";
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.59",
3
+ "version": "2.113.61",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",