@abaplint/core 2.81.2 → 2.82.1

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.
@@ -404,6 +404,7 @@ declare class BSPApplication extends AbstractObject {
404
404
 
405
405
  export declare class BuiltIn {
406
406
  static readonly filename = "_builtin.prog.abap";
407
+ static readonly methods: IBuiltinMethod[];
407
408
  private row;
408
409
  private buildDefinition;
409
410
  searchBuiltin(name: string | undefined): IMethodDefinition | undefined;
@@ -1639,7 +1640,7 @@ declare class ExpressionNode extends AbstractNode<ExpressionNode | TokenNode> {
1639
1640
  findDirectTokenByText(text: string): Token | undefined;
1640
1641
  findAllExpressionsRecursive(type: new () => IStatementRunnable): readonly ExpressionNode[];
1641
1642
  findAllExpressions(type: new () => IStatementRunnable): readonly ExpressionNode[];
1642
- findAllExpressionsMulti(type: (new () => IStatementRunnable)[]): ExpressionNode[];
1643
+ findAllExpressionsMulti(type: (new () => IStatementRunnable)[], recursive?: boolean): ExpressionNode[];
1643
1644
  findFirstExpression(type: new () => IStatementRunnable): ExpressionNode | undefined;
1644
1645
  }
1645
1646
 
@@ -2363,6 +2364,18 @@ declare interface IBadiDefinition {
2363
2364
  interface: string;
2364
2365
  }
2365
2366
 
2367
+ declare interface IBuiltinMethod {
2368
+ name: string;
2369
+ mandatory?: {
2370
+ [key: string]: AbstractType;
2371
+ };
2372
+ optional?: {
2373
+ [key: string]: AbstractType;
2374
+ };
2375
+ version?: Version;
2376
+ return: AbstractType;
2377
+ }
2378
+
2366
2379
  declare class ICFService extends AbstractObject {
2367
2380
  getType(): string;
2368
2381
  getAllowedNaming(): {
@@ -4117,21 +4130,21 @@ declare class ReduceNext extends Expression {
4117
4130
 
4118
4131
  export declare enum ReferenceType {
4119
4132
  /** for classes and interface references */
4120
- ObjectOrientedReference = "ObjectOrientedReference",
4121
- ObjectOrientedVoidReference = "ObjectOrientedVoidReference",
4122
- ObjectOrientedUnknownReference = "ObjectOrientedUnknownReference",
4123
- TableReference = "TableReference",
4124
- TableVoidReference = "TableVoidReference",
4125
- MethodReference = "MethodReference",
4126
- BuiltinMethodReference = "BuiltinMethodReference",
4127
- MethodImplementationReference = "MethodImplementationReference",
4128
- TypeReference = "TypeReference",
4129
- BuiltinTypeReference = "BuiltinTypeReference",
4130
- VoidType = "VoidType",
4131
- InferredType = "InferredType",
4132
- FormReference = "FormReference",
4133
- DataReadReference = "DataReadReference",
4134
- DataWriteReference = "DataWriteReference"
4133
+ ObjectOrientedReference = "Object",
4134
+ ObjectOrientedVoidReference = "Object (Void)",
4135
+ ObjectOrientedUnknownReference = "Object (Unknown)",
4136
+ TableReference = "Table",
4137
+ TableVoidReference = "Table (Void)",
4138
+ MethodReference = "Method",
4139
+ BuiltinMethodReference = "Builtin Method",
4140
+ MethodImplementationReference = "Method Implementation",
4141
+ TypeReference = "Type",
4142
+ BuiltinTypeReference = "Builtin Type",
4143
+ VoidType = "Type (Void)",
4144
+ InferredType = "Inferred Type",
4145
+ FormReference = "Form",
4146
+ DataReadReference = "Read From",
4147
+ DataWriteReference = "Write To"
4135
4148
  }
4136
4149
 
4137
4150
  declare class Refresh implements IStatement {
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeBegin = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class TypeBegin {
7
8
  getMatcher() {
8
- const ret = (0, combi_1.seq)("TYPES", "BEGIN OF", expressions_1.NamespaceSimpleName);
9
+ const ret = (0, combi_1.seq)("TYPES", "BEGIN OF", expressions_1.NamespaceSimpleName, (0, combi_1.optPrio)((0, combi_1.verNot)(version_1.Version.Cloud, "%_FINAL")));
9
10
  return ret;
10
11
  }
11
12
  }
@@ -6,7 +6,7 @@ const _combi_1 = require("./_combi");
6
6
  const _statement_1 = require("../../2_statements/statements/_statement");
7
7
  class Types {
8
8
  getMatcher() {
9
- return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TypeBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Type), (0, _combi_1.sub)(Types), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.IncludeType))), (0, _combi_1.sta)(Statements.TypeEnd));
9
+ return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TypeBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Type), (0, _combi_1.sub)(Types), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sta)(Statements.IncludeType))), (0, _combi_1.sta)(Statements.TypeEnd));
10
10
  }
11
11
  }
12
12
  exports.Types = Types;