@abaplint/transpiler-cli 2.11.24 → 2.11.26
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.
- package/build/bundle.js +122 -28
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -5957,7 +5957,7 @@ class NewObject extends combi_1.Expression {
|
|
|
5957
5957
|
const lines = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
5958
5958
|
const linesFields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(field_assignment_1.FieldAssignment), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
5959
5959
|
const neww = (0, combi_1.seq)("NEW", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)((0, combi_1.alt)(_1.Source, _1.ParameterListS, lines, linesFields)), ")");
|
|
5960
|
-
return (0, combi_1.ver)(version_1.Version.v740sp02, neww);
|
|
5960
|
+
return (0, combi_1.ver)(version_1.Version.v740sp02, neww, version_1.Version.OpenABAP);
|
|
5961
5961
|
}
|
|
5962
5962
|
}
|
|
5963
5963
|
exports.NewObject = NewObject;
|
|
@@ -6786,7 +6786,7 @@ class Source extends combi_1.Expression {
|
|
|
6786
6786
|
// paren used for eg. "( 2 + 1 ) * 4"
|
|
6787
6787
|
const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), Source, rparen);
|
|
6788
6788
|
const after = (0, combi_1.seq)((0, combi_1.altPrio)("&", "&&", _1.ArithOperator), Source);
|
|
6789
|
-
const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v702, (0, combi_1.regex)(/^BOOLC$/i)), (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.regex)(/^XSDBOOL$/i))), (0, combi_1.tok)(tokens_1.ParenLeftW), _1.Cond, ")");
|
|
6789
|
+
const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v702, (0, combi_1.regex)(/^BOOLC$/i), version_1.Version.OpenABAP), (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.regex)(/^XSDBOOL$/i), version_1.Version.OpenABAP)), (0, combi_1.tok)(tokens_1.ParenLeftW), _1.Cond, ")");
|
|
6790
6790
|
const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
|
|
6791
6791
|
const old = (0, combi_1.seq)((0, combi_1.optPrio)(prefix), (0, combi_1.altPrio)(_1.Constant, _1.StringTemplate, text_element_1.TextElement, bool, method, (0, combi_1.seq)(_1.FieldChain, deref), paren), (0, combi_1.optPrio)(after));
|
|
6792
6792
|
const corr = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)("CORRESPONDING", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CorrespondingBody, rparen, (0, combi_1.optPrio)(after)));
|
|
@@ -19939,7 +19939,7 @@ class BuiltIn {
|
|
|
19939
19939
|
constructor() {
|
|
19940
19940
|
this.row = 1;
|
|
19941
19941
|
}
|
|
19942
|
-
buildDefinition(method, name) {
|
|
19942
|
+
static buildDefinition(method, name) {
|
|
19943
19943
|
if (method.cache) {
|
|
19944
19944
|
return method.cache;
|
|
19945
19945
|
}
|
|
@@ -19948,7 +19948,7 @@ class BuiltIn {
|
|
|
19948
19948
|
method.cache = result;
|
|
19949
19949
|
return result;
|
|
19950
19950
|
}
|
|
19951
|
-
searchBuiltin(name) {
|
|
19951
|
+
static searchBuiltin(name) {
|
|
19952
19952
|
if (name === undefined) {
|
|
19953
19953
|
return undefined;
|
|
19954
19954
|
}
|
|
@@ -19958,7 +19958,7 @@ class BuiltIn {
|
|
|
19958
19958
|
}
|
|
19959
19959
|
return this.buildDefinition(def, name);
|
|
19960
19960
|
}
|
|
19961
|
-
isPredicate(name) {
|
|
19961
|
+
static isPredicate(name) {
|
|
19962
19962
|
if (name === undefined) {
|
|
19963
19963
|
return undefined;
|
|
19964
19964
|
}
|
|
@@ -25584,7 +25584,7 @@ class MethodCallChain {
|
|
|
25584
25584
|
// eslint-disable-next-line prefer-const
|
|
25585
25585
|
let { method, def: foundDef } = helper.searchMethodName(def, methodName);
|
|
25586
25586
|
if (method === undefined && current === first) {
|
|
25587
|
-
method =
|
|
25587
|
+
method = _builtin_1.BuiltIn.searchBuiltin(methodName === null || methodName === void 0 ? void 0 : methodName.toUpperCase());
|
|
25588
25588
|
if (method) {
|
|
25589
25589
|
input.scope.addReference(methodToken, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);
|
|
25590
25590
|
}
|
|
@@ -26345,11 +26345,15 @@ const basic_types_1 = __webpack_require__(/*! ../basic_types */ "./node_modules/
|
|
|
26345
26345
|
const _type_utils_1 = __webpack_require__(/*! ../_type_utils */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js");
|
|
26346
26346
|
const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js");
|
|
26347
26347
|
const assert_error_1 = __webpack_require__(/*! ../assert_error */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js");
|
|
26348
|
+
const _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ "./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js");
|
|
26348
26349
|
class NewObject {
|
|
26349
26350
|
static runSyntax(node, input, targetType) {
|
|
26350
26351
|
let ret = undefined;
|
|
26351
26352
|
const typeExpr = node.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
26352
26353
|
const typeToken = typeExpr === null || typeExpr === void 0 ? void 0 : typeExpr.getFirstToken();
|
|
26354
|
+
if (typeToken === undefined) {
|
|
26355
|
+
throw new Error("NewObject, child TypeNameOrInfer not found");
|
|
26356
|
+
}
|
|
26353
26357
|
const typeName = typeExpr === null || typeExpr === void 0 ? void 0 : typeExpr.concatTokens();
|
|
26354
26358
|
if (typeName === undefined) {
|
|
26355
26359
|
throw new assert_error_1.AssertError("NewObject, child TypeNameOrInfer not found");
|
|
@@ -26357,7 +26361,8 @@ class NewObject {
|
|
|
26357
26361
|
else if (typeName === "#" && targetType && targetType instanceof basic_1.ObjectReferenceType) {
|
|
26358
26362
|
const clas = input.scope.findClassDefinition(targetType.getIdentifierName());
|
|
26359
26363
|
if (clas) {
|
|
26360
|
-
|
|
26364
|
+
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, targetType);
|
|
26365
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);
|
|
26361
26366
|
input.scope.addReference(typeToken, clas, _reference_1.ReferenceType.ConstructorReference, input.filename, { ooName: clas.getName() });
|
|
26362
26367
|
}
|
|
26363
26368
|
else {
|
|
@@ -26384,9 +26389,11 @@ class NewObject {
|
|
|
26384
26389
|
if (ret === undefined) {
|
|
26385
26390
|
const objDefinition = input.scope.findObjectDefinition(typeName);
|
|
26386
26391
|
if (objDefinition) {
|
|
26392
|
+
const objref = new basic_1.ObjectReferenceType(objDefinition);
|
|
26393
|
+
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, objref);
|
|
26394
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);
|
|
26387
26395
|
input.scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);
|
|
26388
26396
|
input.scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ConstructorReference, input.filename, { ooName: objDefinition.getName() });
|
|
26389
|
-
const objref = new basic_1.ObjectReferenceType(objDefinition);
|
|
26390
26397
|
const clas = input.scope.findClassDefinition(objref.getIdentifierName());
|
|
26391
26398
|
if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {
|
|
26392
26399
|
const message = clas.getName() + " is abstract, cannot be instantiated";
|
|
@@ -26993,14 +27000,14 @@ class Source {
|
|
|
26993
27000
|
break;
|
|
26994
27001
|
case "BOOLC":
|
|
26995
27002
|
{
|
|
26996
|
-
const method =
|
|
27003
|
+
const method = _builtin_1.BuiltIn.searchBuiltin(tok);
|
|
26997
27004
|
input.scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);
|
|
26998
27005
|
cond_1.Cond.runSyntax(node.findDirectExpression(Expressions.Cond), input);
|
|
26999
27006
|
return basic_1.StringType.get();
|
|
27000
27007
|
}
|
|
27001
27008
|
case "XSDBOOL":
|
|
27002
27009
|
{
|
|
27003
|
-
const method =
|
|
27010
|
+
const method = _builtin_1.BuiltIn.searchBuiltin(tok);
|
|
27004
27011
|
input.scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);
|
|
27005
27012
|
cond_1.Cond.runSyntax(node.findDirectExpression(Expressions.Cond), input);
|
|
27006
27013
|
return new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" });
|
|
@@ -27237,15 +27244,16 @@ class Source {
|
|
|
27237
27244
|
const basic = new basic_types_1.BasicTypes(input);
|
|
27238
27245
|
const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
27239
27246
|
const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();
|
|
27240
|
-
const typeName = typeToken
|
|
27247
|
+
// const typeName = typeToken?.getStr();
|
|
27241
27248
|
/*
|
|
27242
27249
|
console.dir(inferredType);
|
|
27243
27250
|
console.dir(typeToken);
|
|
27244
27251
|
*/
|
|
27245
|
-
if (
|
|
27252
|
+
if (inferredType && typeToken) {
|
|
27246
27253
|
const found = basic.lookupQualifiedName(inferredType.getQualifiedName());
|
|
27247
27254
|
if (found) {
|
|
27248
|
-
|
|
27255
|
+
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);
|
|
27256
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename, { foundQualified: true });
|
|
27249
27257
|
}
|
|
27250
27258
|
else if (inferredType instanceof basic_1.ObjectReferenceType) {
|
|
27251
27259
|
const def = input.scope.findObjectDefinition(inferredType.getQualifiedName());
|
|
@@ -43115,7 +43123,7 @@ class LSPLookup {
|
|
|
43115
43123
|
ret += "\n\n" + this.dumpType(ref.resolved);
|
|
43116
43124
|
}
|
|
43117
43125
|
else if (ref.referenceType === _reference_1.ReferenceType.BuiltinMethodReference) {
|
|
43118
|
-
const builtinDef =
|
|
43126
|
+
const builtinDef = _builtin_1.BuiltIn.searchBuiltin((_e = (_d = ref.resolved) === null || _d === void 0 ? void 0 : _d.getName()) === null || _e === void 0 ? void 0 : _e.toUpperCase());
|
|
43119
43127
|
if (builtinDef === undefined) {
|
|
43120
43128
|
return "Error: builtin method signature not found";
|
|
43121
43129
|
}
|
|
@@ -53712,7 +53720,7 @@ class Registry {
|
|
|
53712
53720
|
}
|
|
53713
53721
|
static abaplintVersion() {
|
|
53714
53722
|
// magic, see build script "version.sh"
|
|
53715
|
-
return "2.113.
|
|
53723
|
+
return "2.113.172";
|
|
53716
53724
|
}
|
|
53717
53725
|
getDDICReferences() {
|
|
53718
53726
|
return this.ddicReferences;
|
|
@@ -61578,7 +61586,7 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
61578
61586
|
const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
|
|
61579
61587
|
for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {
|
|
61580
61588
|
if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference &&
|
|
61581
|
-
|
|
61589
|
+
_builtin_1.BuiltIn.isPredicate(chain.getFirstToken().getStr().toUpperCase())) {
|
|
61582
61590
|
predicate = true;
|
|
61583
61591
|
break;
|
|
61584
61592
|
}
|
|
@@ -61791,6 +61799,15 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
61791
61799
|
cdef = r.resolved;
|
|
61792
61800
|
}
|
|
61793
61801
|
}
|
|
61802
|
+
if (cdef instanceof _typed_identifier_1.TypedIdentifier) {
|
|
61803
|
+
const foo = cdef.getType();
|
|
61804
|
+
if (foo instanceof basic_1.ObjectReferenceType) {
|
|
61805
|
+
cdef = foo.getIdentifier();
|
|
61806
|
+
}
|
|
61807
|
+
else {
|
|
61808
|
+
throw new Error("newParameters, downport, unexpected");
|
|
61809
|
+
}
|
|
61810
|
+
}
|
|
61794
61811
|
if (cdef && cdef.getMethodDefinitions === undefined) {
|
|
61795
61812
|
return undefined; // something wrong
|
|
61796
61813
|
}
|
|
@@ -67352,9 +67369,8 @@ ENDCLASS.`,
|
|
|
67352
67369
|
for (const classDef of file.getInfo().listClassDefinitions()) {
|
|
67353
67370
|
methods = methods.concat(classDef.methods);
|
|
67354
67371
|
}
|
|
67355
|
-
const builtIn = new _builtin_1.BuiltIn();
|
|
67356
67372
|
for (const method of methods) {
|
|
67357
|
-
if (
|
|
67373
|
+
if (_builtin_1.BuiltIn.searchBuiltin(method.name.toUpperCase())) {
|
|
67358
67374
|
const message = `Method name "${method.name}" overwrites built-in SAP function name`;
|
|
67359
67375
|
issues.push(issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key));
|
|
67360
67376
|
}
|
|
@@ -78320,7 +78336,7 @@ class CompareTranspiler {
|
|
|
78320
78336
|
const chain = node.findDirectExpression(core_1.Expressions.MethodCallChain);
|
|
78321
78337
|
if (chain) {
|
|
78322
78338
|
const name = chain.getFirstToken().getStr();
|
|
78323
|
-
if (
|
|
78339
|
+
if (core_1.BuiltIn.isPredicate(name)) {
|
|
78324
78340
|
// todo, this is not completely correct if there is a method shadowing the name
|
|
78325
78341
|
return new chunk_1.Chunk().appendString(`abap.compare.eq(` + traversal.traverse(chain).getCode() + `, abap.builtin.abap_true)`);
|
|
78326
78342
|
}
|
|
@@ -79312,6 +79328,7 @@ __exportStar(__webpack_require__(/*! ./message_number */ "./node_modules/@abapli
|
|
|
79312
79328
|
__exportStar(__webpack_require__(/*! ./method_call_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_body.js"), exports);
|
|
79313
79329
|
__exportStar(__webpack_require__(/*! ./method_call_chain */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_chain.js"), exports);
|
|
79314
79330
|
__exportStar(__webpack_require__(/*! ./method_call_param */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_param.js"), exports);
|
|
79331
|
+
__exportStar(__webpack_require__(/*! ./new_object */ "./node_modules/@abaplint/transpiler/build/src/expressions/new_object.js"), exports);
|
|
79315
79332
|
__exportStar(__webpack_require__(/*! ./method_call */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call.js"), exports);
|
|
79316
79333
|
__exportStar(__webpack_require__(/*! ./method_parameters */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_parameters.js"), exports);
|
|
79317
79334
|
__exportStar(__webpack_require__(/*! ./method_source */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_source.js"), exports);
|
|
@@ -79519,6 +79536,9 @@ class MethodCallChainTranspiler {
|
|
|
79519
79536
|
else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.FieldChain) {
|
|
79520
79537
|
ret.appendChunk(traversal.traverse(c));
|
|
79521
79538
|
}
|
|
79539
|
+
else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.NewObject) {
|
|
79540
|
+
ret.appendChunk(traversal.traverse(c));
|
|
79541
|
+
}
|
|
79522
79542
|
else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ClassName) {
|
|
79523
79543
|
ret = new chunk_1.Chunk().append(traversal.lookupClassOrInterface(c.getFirstToken().getStr(), c.getFirstToken()), c, traversal);
|
|
79524
79544
|
}
|
|
@@ -79798,6 +79818,73 @@ exports.MethodSourceTranspiler = MethodSourceTranspiler;
|
|
|
79798
79818
|
|
|
79799
79819
|
/***/ }),
|
|
79800
79820
|
|
|
79821
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/new_object.js":
|
|
79822
|
+
/*!*******************************************************************************!*\
|
|
79823
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/new_object.js ***!
|
|
79824
|
+
\*******************************************************************************/
|
|
79825
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
79826
|
+
|
|
79827
|
+
"use strict";
|
|
79828
|
+
|
|
79829
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
79830
|
+
exports.NewObjectTranspiler = void 0;
|
|
79831
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
79832
|
+
const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
79833
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
79834
|
+
const type_name_or_infer_1 = __webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js");
|
|
79835
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
79836
|
+
class NewObjectTranspiler {
|
|
79837
|
+
transpile(node, traversal) {
|
|
79838
|
+
const ret = new chunk_1.Chunk();
|
|
79839
|
+
const typeNameOrInfer = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
79840
|
+
if (typeNameOrInfer === undefined) {
|
|
79841
|
+
throw new Error("NewObjectTranspiler: TypeNameOrInfer not found");
|
|
79842
|
+
}
|
|
79843
|
+
let para = "";
|
|
79844
|
+
const parameters = node.findFirstExpression(abaplint.Expressions.ParameterListS);
|
|
79845
|
+
if (parameters) {
|
|
79846
|
+
para = traversal.traverse(parameters).getCode();
|
|
79847
|
+
}
|
|
79848
|
+
const type = new type_name_or_infer_1.TypeNameOrInfer().findType(typeNameOrInfer, traversal);
|
|
79849
|
+
if (type instanceof abaplint.BasicTypes.ObjectReferenceType) {
|
|
79850
|
+
if (node.getChildren()[3].get() instanceof abaplint.Expressions.Source) {
|
|
79851
|
+
// single default parameter
|
|
79852
|
+
const scope = traversal.findCurrentScopeByToken(typeNameOrInfer.getFirstToken());
|
|
79853
|
+
const cdef = traversal.findClassDefinition(type.getIdentifierName(), scope);
|
|
79854
|
+
const constr = this.findConstructor(cdef, scope);
|
|
79855
|
+
const pname = constr?.getParameters().getDefaultImporting()?.toLowerCase();
|
|
79856
|
+
para = `{${pname}: ${traversal.traverse(node.getChildren()[3]).getCode()}}`;
|
|
79857
|
+
}
|
|
79858
|
+
const clas = traversal.lookupClassOrInterface(type.getIdentifierName(), node.getFirstToken());
|
|
79859
|
+
ret.appendString(transpile_types_1.TranspileTypes.toType(type) + ".set(await (new " + clas + "()).constructor_(" + para + "))");
|
|
79860
|
+
}
|
|
79861
|
+
else {
|
|
79862
|
+
throw new Error("NewObjectTranspiler: only ObjectReferenceType currently handled, todo");
|
|
79863
|
+
}
|
|
79864
|
+
return ret;
|
|
79865
|
+
}
|
|
79866
|
+
findConstructor(cdef, spag) {
|
|
79867
|
+
let def = cdef;
|
|
79868
|
+
while (def !== undefined) {
|
|
79869
|
+
const method = def?.getMethodDefinitions().getByName("CONSTRUCTOR");
|
|
79870
|
+
if (method) {
|
|
79871
|
+
return method;
|
|
79872
|
+
}
|
|
79873
|
+
const name = def.getSuperClass();
|
|
79874
|
+
if (name) {
|
|
79875
|
+
def = spag?.findClassDefinition(name);
|
|
79876
|
+
}
|
|
79877
|
+
else {
|
|
79878
|
+
return undefined;
|
|
79879
|
+
}
|
|
79880
|
+
}
|
|
79881
|
+
}
|
|
79882
|
+
}
|
|
79883
|
+
exports.NewObjectTranspiler = NewObjectTranspiler;
|
|
79884
|
+
//# sourceMappingURL=new_object.js.map
|
|
79885
|
+
|
|
79886
|
+
/***/ }),
|
|
79887
|
+
|
|
79801
79888
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/parameter_list_s.js":
|
|
79802
79889
|
/*!*************************************************************************************!*\
|
|
79803
79890
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/parameter_list_s.js ***!
|
|
@@ -80149,6 +80236,10 @@ class SourceTranspiler {
|
|
|
80149
80236
|
ret.append("abap.builtin.boolc(", c, traversal);
|
|
80150
80237
|
post.append(")", c, traversal);
|
|
80151
80238
|
}
|
|
80239
|
+
else if (c instanceof core_1.Nodes.TokenNodeRegex && c.getFirstToken().getStr().toUpperCase() === "XSDBOOL") {
|
|
80240
|
+
ret.append("abap.builtin.xsdbool(", c, traversal);
|
|
80241
|
+
post.append(")", c, traversal);
|
|
80242
|
+
}
|
|
80152
80243
|
else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "VALUE") {
|
|
80153
80244
|
const typ = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
80154
80245
|
if (typ === undefined) {
|
|
@@ -81176,14 +81267,15 @@ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/tr
|
|
|
81176
81267
|
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
81177
81268
|
class TypeNameOrInfer {
|
|
81178
81269
|
findType(node, traversal) {
|
|
81179
|
-
let type;
|
|
81270
|
+
// let type: AbstractType | undefined;
|
|
81180
81271
|
const scope = traversal.findCurrentScopeByToken(node.getFirstToken());
|
|
81181
|
-
if (node.concatTokens() === "#") {
|
|
81182
|
-
|
|
81183
|
-
|
|
81184
|
-
|
|
81185
|
-
|
|
81186
|
-
|
|
81272
|
+
// if (node.concatTokens() === "#") {
|
|
81273
|
+
const type = traversal.lookupInferred(node, scope);
|
|
81274
|
+
/*
|
|
81275
|
+
} else {
|
|
81276
|
+
type = traversal.lookupType(node.getFirstChild() as Nodes.ExpressionNode, scope);
|
|
81277
|
+
}
|
|
81278
|
+
*/
|
|
81187
81279
|
if (type === undefined) {
|
|
81188
81280
|
throw new Error("TypeNameOrInfer, type not found: " + node.concatTokens());
|
|
81189
81281
|
}
|
|
@@ -90636,6 +90728,7 @@ this.INTERNAL_ID = abap.internalIdCounter++;\n`;
|
|
|
90636
90728
|
}
|
|
90637
90729
|
return ret;
|
|
90638
90730
|
}
|
|
90731
|
+
// todo: delete this method?
|
|
90639
90732
|
lookupType(node, scope) {
|
|
90640
90733
|
if (scope === undefined) {
|
|
90641
90734
|
return undefined;
|
|
@@ -90705,9 +90798,10 @@ this.INTERNAL_ID = abap.internalIdCounter++;\n`;
|
|
|
90705
90798
|
lookupInferred(node, scope) {
|
|
90706
90799
|
if (scope === undefined) {
|
|
90707
90800
|
return undefined;
|
|
90708
|
-
|
|
90709
|
-
|
|
90801
|
+
/*
|
|
90802
|
+
} else if (node.concatTokens() !== "#") {
|
|
90710
90803
|
throw new Error("lookupInferred, unexpected, " + node.get());
|
|
90804
|
+
*/
|
|
90711
90805
|
}
|
|
90712
90806
|
return this.findInferredTypeReference(node.getFirstToken());
|
|
90713
90807
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.26",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"author": "abaplint",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@abaplint/core": "^2.113.
|
|
31
|
-
"@abaplint/transpiler": "^2.11.
|
|
30
|
+
"@abaplint/core": "^2.113.172",
|
|
31
|
+
"@abaplint/transpiler": "^2.11.26",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
33
|
"@types/node": "^24.2.1",
|
|
34
34
|
"@types/progress": "^2.0.7",
|