@abaplint/transpiler-cli 2.11.25 → 2.11.27
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 +160 -24
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -3173,7 +3173,7 @@ class Cast extends combi_1.Expression {
|
|
|
3173
3173
|
getRunnable() {
|
|
3174
3174
|
const rparen = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight));
|
|
3175
3175
|
const cast = (0, combi_1.seq)("CAST", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)(let_1.Let), _1.Source, rparen);
|
|
3176
|
-
return (0, combi_1.ver)(version_1.Version.v740sp02, cast);
|
|
3176
|
+
return (0, combi_1.ver)(version_1.Version.v740sp02, cast, version_1.Version.OpenABAP);
|
|
3177
3177
|
}
|
|
3178
3178
|
}
|
|
3179
3179
|
exports.Cast = Cast;
|
|
@@ -3749,16 +3749,14 @@ exports.ConvBody = ConvBody;
|
|
|
3749
3749
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3750
3750
|
exports.CorrespondingBody = void 0;
|
|
3751
3751
|
const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
3752
|
-
const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
|
|
3753
3752
|
const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
|
|
3754
3753
|
const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
|
|
3755
3754
|
const component_chain_1 = __webpack_require__(/*! ./component_chain */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js");
|
|
3756
3755
|
class CorrespondingBody extends combi_1.Expression {
|
|
3757
3756
|
getRunnable() {
|
|
3758
3757
|
const mapping = (0, combi_1.seq)("MAPPING", (0, combi_1.plus)((0, combi_1.seq)(_1.ComponentName, "=", component_chain_1.ComponentChain)));
|
|
3759
|
-
const baseParen = (0, combi_1.seq)("BASE", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
3760
3758
|
const discarding = (0, combi_1.ver)(version_1.Version.v751, "DISCARDING DUPLICATES");
|
|
3761
|
-
return (0, combi_1.seq)((0, combi_1.optPrio)("DEEP"), (0, combi_1.optPrio)(
|
|
3759
|
+
return (0, combi_1.seq)((0, combi_1.optPrio)("DEEP"), (0, combi_1.optPrio)(_1.CorrespondingBodyBase), _1.Source, (0, combi_1.optPrio)(discarding), (0, combi_1.optPrio)(mapping), (0, combi_1.optPrio)("CHANGING CONTROL"), (0, combi_1.optPrio)((0, combi_1.seq)("MAPPING FROM ENTITY", (0, combi_1.optPrio)("USING CONTROL"))), // todo, version something?
|
|
3762
3760
|
(0, combi_1.optPrio)((0, combi_1.seq)("EXCEPT", (0, combi_1.alt)((0, combi_1.plus)(_1.Field), "*"))));
|
|
3763
3761
|
}
|
|
3764
3762
|
}
|
|
@@ -3767,6 +3765,29 @@ exports.CorrespondingBody = CorrespondingBody;
|
|
|
3767
3765
|
|
|
3768
3766
|
/***/ }),
|
|
3769
3767
|
|
|
3768
|
+
/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body_base.js":
|
|
3769
|
+
/*!********************************************************************************************************!*\
|
|
3770
|
+
!*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body_base.js ***!
|
|
3771
|
+
\********************************************************************************************************/
|
|
3772
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3773
|
+
|
|
3774
|
+
"use strict";
|
|
3775
|
+
|
|
3776
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3777
|
+
exports.CorrespondingBodyBase = void 0;
|
|
3778
|
+
const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
3779
|
+
const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
|
|
3780
|
+
const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
|
|
3781
|
+
class CorrespondingBodyBase extends combi_1.Expression {
|
|
3782
|
+
getRunnable() {
|
|
3783
|
+
return (0, combi_1.seq)("BASE", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
3784
|
+
}
|
|
3785
|
+
}
|
|
3786
|
+
exports.CorrespondingBodyBase = CorrespondingBodyBase;
|
|
3787
|
+
//# sourceMappingURL=corresponding_body_base.js.map
|
|
3788
|
+
|
|
3789
|
+
/***/ }),
|
|
3790
|
+
|
|
3770
3791
|
/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js":
|
|
3771
3792
|
/*!************************************************************************************************!*\
|
|
3772
3793
|
!*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js ***!
|
|
@@ -4750,6 +4771,7 @@ __exportStar(__webpack_require__(/*! ./component_chain */ "./node_modules/@abapl
|
|
|
4750
4771
|
__exportStar(__webpack_require__(/*! ./component_compare_simple */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js"), exports);
|
|
4751
4772
|
__exportStar(__webpack_require__(/*! ./value_base */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_base.js"), exports);
|
|
4752
4773
|
__exportStar(__webpack_require__(/*! ./component_compare_single */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js"), exports);
|
|
4774
|
+
__exportStar(__webpack_require__(/*! ./corresponding_body_base */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body_base.js"), exports);
|
|
4753
4775
|
__exportStar(__webpack_require__(/*! ./component_compare */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js"), exports);
|
|
4754
4776
|
__exportStar(__webpack_require__(/*! ./component_cond_sub */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js"), exports);
|
|
4755
4777
|
__exportStar(__webpack_require__(/*! ./component_cond */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js"), exports);
|
|
@@ -6789,7 +6811,7 @@ class Source extends combi_1.Expression {
|
|
|
6789
6811
|
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
6812
|
const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
|
|
6791
6813
|
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
|
-
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)));
|
|
6814
|
+
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)), version_1.Version.OpenABAP);
|
|
6793
6815
|
const conv = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("CONV", _1.TypeNameOrInfer, lparenNoSpace, _1.ConvBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
|
|
6794
6816
|
const swit = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("SWITCH", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)));
|
|
6795
6817
|
const value = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("VALUE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
|
|
@@ -26389,9 +26411,11 @@ class NewObject {
|
|
|
26389
26411
|
if (ret === undefined) {
|
|
26390
26412
|
const objDefinition = input.scope.findObjectDefinition(typeName);
|
|
26391
26413
|
if (objDefinition) {
|
|
26414
|
+
const objref = new basic_1.ObjectReferenceType(objDefinition);
|
|
26415
|
+
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, objref);
|
|
26416
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);
|
|
26392
26417
|
input.scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);
|
|
26393
26418
|
input.scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ConstructorReference, input.filename, { ooName: objDefinition.getName() });
|
|
26394
|
-
const objref = new basic_1.ObjectReferenceType(objDefinition);
|
|
26395
26419
|
const clas = input.scope.findClassDefinition(objref.getIdentifierName());
|
|
26396
26420
|
if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {
|
|
26397
26421
|
const message = clas.getName() + " is abstract, cannot be instantiated";
|
|
@@ -27242,12 +27266,12 @@ class Source {
|
|
|
27242
27266
|
const basic = new basic_types_1.BasicTypes(input);
|
|
27243
27267
|
const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
27244
27268
|
const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();
|
|
27245
|
-
const typeName = typeToken
|
|
27269
|
+
// const typeName = typeToken?.getStr();
|
|
27246
27270
|
/*
|
|
27247
27271
|
console.dir(inferredType);
|
|
27248
27272
|
console.dir(typeToken);
|
|
27249
27273
|
*/
|
|
27250
|
-
if (
|
|
27274
|
+
if (inferredType && typeToken) {
|
|
27251
27275
|
const found = basic.lookupQualifiedName(inferredType.getQualifiedName());
|
|
27252
27276
|
if (found) {
|
|
27253
27277
|
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);
|
|
@@ -53718,7 +53742,7 @@ class Registry {
|
|
|
53718
53742
|
}
|
|
53719
53743
|
static abaplintVersion() {
|
|
53720
53744
|
// magic, see build script "version.sh"
|
|
53721
|
-
return "2.113.
|
|
53745
|
+
return "2.113.173";
|
|
53722
53746
|
}
|
|
53723
53747
|
getDDICReferences() {
|
|
53724
53748
|
return this.ddicReferences;
|
|
@@ -60118,7 +60142,7 @@ ${indentation}${uniqueName2}->if_t100_message~t100key = ${uniqueName1}.\n`;
|
|
|
60118
60142
|
return issue_1.Issue.atToken(lowFile, high.getFirstToken(), "Downport, call function parameter", this.getMetadata().key, this.conf.severity, fix);
|
|
60119
60143
|
}
|
|
60120
60144
|
downportCorrespondingSimple(high, lowFile) {
|
|
60121
|
-
var _a
|
|
60145
|
+
var _a;
|
|
60122
60146
|
if (!(high.get() instanceof Statements.Move)
|
|
60123
60147
|
|| high.getChildren().length !== 4
|
|
60124
60148
|
|| high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== "CORRESPONDING") {
|
|
@@ -60136,9 +60160,10 @@ ${indentation}${uniqueName2}->if_t100_message~t100key = ${uniqueName1}.\n`;
|
|
|
60136
60160
|
const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);
|
|
60137
60161
|
return issue_1.Issue.atToken(lowFile, high.getFirstToken(), "Downport, simple CORRESPONDING move", this.getMetadata().key, this.conf.severity, fix);
|
|
60138
60162
|
}
|
|
60139
|
-
else if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) ===
|
|
60140
|
-
|
|
60141
|
-
code
|
|
60163
|
+
else if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) === 2 && sourceRef.findDirectExpression(Expressions.CorrespondingBodyBase) !== undefined) {
|
|
60164
|
+
const base = sourceRef.findDirectExpression(Expressions.CorrespondingBodyBase);
|
|
60165
|
+
let code = `${target.concatTokens()} = ${base.getChildren()[2].concatTokens()}.\n`;
|
|
60166
|
+
code += `MOVE-CORRESPONDING ${sourceRef.getChildren()[1].concatTokens()} TO ${target.concatTokens()}`;
|
|
60142
60167
|
const start = high.getFirstToken().getStart();
|
|
60143
60168
|
const end = high.getLastToken().getStart();
|
|
60144
60169
|
const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);
|
|
@@ -78240,6 +78265,50 @@ exports.CallTransformationParametersTranspiler = CallTransformationParametersTra
|
|
|
78240
78265
|
|
|
78241
78266
|
/***/ }),
|
|
78242
78267
|
|
|
78268
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/cast.js":
|
|
78269
|
+
/*!*************************************************************************!*\
|
|
78270
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/cast.js ***!
|
|
78271
|
+
\*************************************************************************/
|
|
78272
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
78273
|
+
|
|
78274
|
+
"use strict";
|
|
78275
|
+
|
|
78276
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
78277
|
+
exports.CastTranspiler = void 0;
|
|
78278
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
78279
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
78280
|
+
const type_name_or_infer_1 = __webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js");
|
|
78281
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
78282
|
+
class CastTranspiler {
|
|
78283
|
+
transpile(node, traversal) {
|
|
78284
|
+
const ret = new chunk_1.Chunk();
|
|
78285
|
+
const source = node.findDirectExpression(core_1.Expressions.Source);
|
|
78286
|
+
if (source === undefined) {
|
|
78287
|
+
throw new Error("CastTranspiler, Source not found");
|
|
78288
|
+
}
|
|
78289
|
+
const tni = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
78290
|
+
if (tni === undefined) {
|
|
78291
|
+
throw new Error("CastTranspiler, TypeNameOrInfer not found");
|
|
78292
|
+
}
|
|
78293
|
+
const type = new type_name_or_infer_1.TypeNameOrInfer().findType(tni, traversal);
|
|
78294
|
+
const target = transpile_types_1.TranspileTypes.toType(type);
|
|
78295
|
+
const lett = node.findDirectExpression(core_1.Expressions.Let);
|
|
78296
|
+
if (lett !== undefined) {
|
|
78297
|
+
throw new Error("CastTranspiler, Let todo");
|
|
78298
|
+
}
|
|
78299
|
+
ret.appendString("await abap.statements.cast(")
|
|
78300
|
+
.appendString(target)
|
|
78301
|
+
.appendString(", ")
|
|
78302
|
+
.appendChunk(traversal.traverse(source))
|
|
78303
|
+
.append(")", node.getLastToken(), traversal);
|
|
78304
|
+
return ret;
|
|
78305
|
+
}
|
|
78306
|
+
}
|
|
78307
|
+
exports.CastTranspiler = CastTranspiler;
|
|
78308
|
+
//# sourceMappingURL=cast.js.map
|
|
78309
|
+
|
|
78310
|
+
/***/ }),
|
|
78311
|
+
|
|
78243
78312
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/compare.js":
|
|
78244
78313
|
/*!****************************************************************************!*\
|
|
78245
78314
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/compare.js ***!
|
|
@@ -78894,6 +78963,51 @@ exports.ConstantTranspiler = ConstantTranspiler;
|
|
|
78894
78963
|
|
|
78895
78964
|
/***/ }),
|
|
78896
78965
|
|
|
78966
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/corresponding_body.js":
|
|
78967
|
+
/*!***************************************************************************************!*\
|
|
78968
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/corresponding_body.js ***!
|
|
78969
|
+
\***************************************************************************************/
|
|
78970
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
78971
|
+
|
|
78972
|
+
"use strict";
|
|
78973
|
+
|
|
78974
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
78975
|
+
exports.CorrespondingBodyTranspiler = void 0;
|
|
78976
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
78977
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
78978
|
+
const type_name_or_infer_1 = __webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js");
|
|
78979
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
78980
|
+
class CorrespondingBodyTranspiler {
|
|
78981
|
+
transpile(typ, body, traversal) {
|
|
78982
|
+
if (!(typ.get() instanceof core_1.Expressions.TypeNameOrInfer)) {
|
|
78983
|
+
throw new Error("CorrespondingBodyTranspiler, Expected TypeNameOrInfer");
|
|
78984
|
+
}
|
|
78985
|
+
const type = new type_name_or_infer_1.TypeNameOrInfer().findType(typ, traversal);
|
|
78986
|
+
let target = transpile_types_1.TranspileTypes.toType(type);
|
|
78987
|
+
let source;
|
|
78988
|
+
for (const child of body.getChildren()) {
|
|
78989
|
+
const c = child.get();
|
|
78990
|
+
if (c instanceof core_1.Expressions.Source && child instanceof core_1.Nodes.ExpressionNode) {
|
|
78991
|
+
source = traversal.traverse(child);
|
|
78992
|
+
}
|
|
78993
|
+
else if (c instanceof core_1.Expressions.CorrespondingBodyBase && child instanceof core_1.Nodes.ExpressionNode) {
|
|
78994
|
+
source = traversal.traverse(child?.findDirectExpression(core_1.Expressions.Source));
|
|
78995
|
+
target = `abap.statements.moveCorresponding(${source.getCode()}, ${target})`;
|
|
78996
|
+
}
|
|
78997
|
+
else {
|
|
78998
|
+
throw new Error("CorrespondingBodyTranspiler, todo, " + c.constructor.name);
|
|
78999
|
+
}
|
|
79000
|
+
}
|
|
79001
|
+
const ret = new chunk_1.Chunk();
|
|
79002
|
+
ret.appendString(`abap.statements.moveCorresponding(${source.getCode()}, ${target})`);
|
|
79003
|
+
return ret;
|
|
79004
|
+
}
|
|
79005
|
+
}
|
|
79006
|
+
exports.CorrespondingBodyTranspiler = CorrespondingBodyTranspiler;
|
|
79007
|
+
//# sourceMappingURL=corresponding_body.js.map
|
|
79008
|
+
|
|
79009
|
+
/***/ }),
|
|
79010
|
+
|
|
78897
79011
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/database_table.js":
|
|
78898
79012
|
/*!***********************************************************************************!*\
|
|
78899
79013
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/database_table.js ***!
|
|
@@ -79315,6 +79429,7 @@ __exportStar(__webpack_require__(/*! ./component_cond */ "./node_modules/@abapli
|
|
|
79315
79429
|
__exportStar(__webpack_require__(/*! ./cond_sub */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond_sub.js"), exports);
|
|
79316
79430
|
__exportStar(__webpack_require__(/*! ./cond */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond.js"), exports);
|
|
79317
79431
|
__exportStar(__webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/expressions/constant.js"), exports);
|
|
79432
|
+
__exportStar(__webpack_require__(/*! ./cast */ "./node_modules/@abaplint/transpiler/build/src/expressions/cast.js"), exports);
|
|
79318
79433
|
__exportStar(__webpack_require__(/*! ./database_table */ "./node_modules/@abaplint/transpiler/build/src/expressions/database_table.js"), exports);
|
|
79319
79434
|
__exportStar(__webpack_require__(/*! ./field_chain */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_chain.js"), exports);
|
|
79320
79435
|
__exportStar(__webpack_require__(/*! ./field_length */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_length.js"), exports);
|
|
@@ -79561,8 +79676,11 @@ class MethodCallChainTranspiler {
|
|
|
79561
79676
|
else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ComponentName) {
|
|
79562
79677
|
ret.append("." + c.concatTokens().toLowerCase(), c, traversal);
|
|
79563
79678
|
}
|
|
79679
|
+
else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.Cast) {
|
|
79680
|
+
ret.appendChunk(traversal.traverse(c));
|
|
79681
|
+
}
|
|
79564
79682
|
else {
|
|
79565
|
-
ret.append("MethodCallChainTranspilerTodo
|
|
79683
|
+
ret.append("MethodCallChainTranspilerTodo$" + c.get().constructor.name, c, traversal);
|
|
79566
79684
|
}
|
|
79567
79685
|
}
|
|
79568
79686
|
const code = ret.getCode();
|
|
@@ -80138,6 +80256,7 @@ const constant_1 = __webpack_require__(/*! ./constant */ "./node_modules/@abapli
|
|
|
80138
80256
|
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
80139
80257
|
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
80140
80258
|
const value_body_1 = __webpack_require__(/*! ./value_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js");
|
|
80259
|
+
const corresponding_body_1 = __webpack_require__(/*! ./corresponding_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/corresponding_body.js");
|
|
80141
80260
|
class SourceTranspiler {
|
|
80142
80261
|
addGet;
|
|
80143
80262
|
constructor(addGet = false) {
|
|
@@ -80219,8 +80338,11 @@ class SourceTranspiler {
|
|
|
80219
80338
|
else if (c.get() instanceof core_1.Expressions.ValueBody) {
|
|
80220
80339
|
continue;
|
|
80221
80340
|
}
|
|
80341
|
+
else if (c.get() instanceof core_1.Expressions.CorrespondingBody) {
|
|
80342
|
+
continue;
|
|
80343
|
+
}
|
|
80222
80344
|
else {
|
|
80223
|
-
ret.appendString("SourceUnknown
|
|
80345
|
+
ret.appendString("SourceUnknown$" + c.get().constructor.name);
|
|
80224
80346
|
}
|
|
80225
80347
|
}
|
|
80226
80348
|
else if (c instanceof core_1.Nodes.TokenNode && (c.getFirstToken().getStr() === "&&" || c.getFirstToken().getStr() === "&")) {
|
|
@@ -80252,6 +80374,17 @@ class SourceTranspiler {
|
|
|
80252
80374
|
ret.appendString(transpile_types_1.TranspileTypes.toType(context));
|
|
80253
80375
|
}
|
|
80254
80376
|
}
|
|
80377
|
+
else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "CORRESPONDING") {
|
|
80378
|
+
const typ = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
80379
|
+
if (typ === undefined) {
|
|
80380
|
+
throw new Error("TypeNameOrInfer not found in CorrespondingBody");
|
|
80381
|
+
}
|
|
80382
|
+
const correspondingBody = node.findDirectExpression(core_1.Expressions.CorrespondingBody);
|
|
80383
|
+
if (correspondingBody === undefined) {
|
|
80384
|
+
throw new Error("CorrespondingBody not found");
|
|
80385
|
+
}
|
|
80386
|
+
ret.appendChunk(new corresponding_body_1.CorrespondingBodyTranspiler().transpile(typ, correspondingBody, traversal));
|
|
80387
|
+
}
|
|
80255
80388
|
else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "REF") {
|
|
80256
80389
|
const infer = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
80257
80390
|
if (infer?.concatTokens() !== "#") {
|
|
@@ -81265,14 +81398,15 @@ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/tr
|
|
|
81265
81398
|
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
81266
81399
|
class TypeNameOrInfer {
|
|
81267
81400
|
findType(node, traversal) {
|
|
81268
|
-
let type;
|
|
81401
|
+
// let type: AbstractType | undefined;
|
|
81269
81402
|
const scope = traversal.findCurrentScopeByToken(node.getFirstToken());
|
|
81270
|
-
if (node.concatTokens() === "#") {
|
|
81271
|
-
|
|
81272
|
-
|
|
81273
|
-
|
|
81274
|
-
|
|
81275
|
-
|
|
81403
|
+
// if (node.concatTokens() === "#") {
|
|
81404
|
+
const type = traversal.lookupInferred(node, scope);
|
|
81405
|
+
/*
|
|
81406
|
+
} else {
|
|
81407
|
+
type = traversal.lookupType(node.getFirstChild() as Nodes.ExpressionNode, scope);
|
|
81408
|
+
}
|
|
81409
|
+
*/
|
|
81276
81410
|
if (type === undefined) {
|
|
81277
81411
|
throw new Error("TypeNameOrInfer, type not found: " + node.concatTokens());
|
|
81278
81412
|
}
|
|
@@ -90725,6 +90859,7 @@ this.INTERNAL_ID = abap.internalIdCounter++;\n`;
|
|
|
90725
90859
|
}
|
|
90726
90860
|
return ret;
|
|
90727
90861
|
}
|
|
90862
|
+
// todo: delete this method?
|
|
90728
90863
|
lookupType(node, scope) {
|
|
90729
90864
|
if (scope === undefined) {
|
|
90730
90865
|
return undefined;
|
|
@@ -90794,9 +90929,10 @@ this.INTERNAL_ID = abap.internalIdCounter++;\n`;
|
|
|
90794
90929
|
lookupInferred(node, scope) {
|
|
90795
90930
|
if (scope === undefined) {
|
|
90796
90931
|
return undefined;
|
|
90797
|
-
|
|
90798
|
-
|
|
90932
|
+
/*
|
|
90933
|
+
} else if (node.concatTokens() !== "#") {
|
|
90799
90934
|
throw new Error("lookupInferred, unexpected, " + node.get());
|
|
90935
|
+
*/
|
|
90800
90936
|
}
|
|
90801
90937
|
return this.findInferredTypeReference(node.getFirstToken());
|
|
90802
90938
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.27",
|
|
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.173",
|
|
31
|
+
"@abaplint/transpiler": "^2.11.27",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
33
|
"@types/node": "^24.2.1",
|
|
34
34
|
"@types/progress": "^2.0.7",
|