@abaplint/transpiler-cli 2.11.94 → 2.11.96
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 +29 -13
- package/package.json +6 -6
package/build/bundle.js
CHANGED
|
@@ -22736,7 +22736,7 @@ class TypeUtils {
|
|
|
22736
22736
|
if (!(sourceRowType instanceof basic_1.StructureType)) {
|
|
22737
22737
|
return false;
|
|
22738
22738
|
}
|
|
22739
|
-
else if (!
|
|
22739
|
+
else if (!this.structureContainsString(sourceRowType)
|
|
22740
22740
|
&& this.structureContainsVoid(sourceRowType) === false) {
|
|
22741
22741
|
return false;
|
|
22742
22742
|
}
|
|
@@ -22746,7 +22746,7 @@ class TypeUtils {
|
|
|
22746
22746
|
if (!(targetRowType instanceof basic_1.StructureType)) {
|
|
22747
22747
|
return false;
|
|
22748
22748
|
}
|
|
22749
|
-
else if (!
|
|
22749
|
+
else if (!this.structureContainsString(targetRowType)
|
|
22750
22750
|
&& this.structureContainsVoid(targetRowType) === false) {
|
|
22751
22751
|
return false;
|
|
22752
22752
|
}
|
|
@@ -24544,7 +24544,7 @@ class CorrespondingBody {
|
|
|
24544
24544
|
}
|
|
24545
24545
|
const base = (_a = node.findDirectExpression(Expressions.CorrespondingBodyBase)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source);
|
|
24546
24546
|
if (base) {
|
|
24547
|
-
source_1.Source.runSyntax(base, input);
|
|
24547
|
+
source_1.Source.runSyntax(base, input, targetType);
|
|
24548
24548
|
}
|
|
24549
24549
|
let type = undefined;
|
|
24550
24550
|
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
@@ -53450,7 +53450,7 @@ class Registry {
|
|
|
53450
53450
|
}
|
|
53451
53451
|
static abaplintVersion() {
|
|
53452
53452
|
// magic, see build script "version.sh"
|
|
53453
|
-
return "2.113.
|
|
53453
|
+
return "2.113.218";
|
|
53454
53454
|
}
|
|
53455
53455
|
getDDICReferences() {
|
|
53456
53456
|
return this.ddicReferences;
|
|
@@ -59488,7 +59488,6 @@ ${indentation}${uniqueName} = ${source.concatTokens()}.\n${indentation}`);
|
|
|
59488
59488
|
const source = high.findExpressionAfterToken("MESSAGE");
|
|
59489
59489
|
if ((source === null || source === void 0 ? void 0 : source.get()) instanceof Expressions.MessageSourceSource
|
|
59490
59490
|
&& ((_a = source.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Source) {
|
|
59491
|
-
;
|
|
59492
59491
|
const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
|
|
59493
59492
|
const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
|
|
59494
59493
|
const firstToken = high.getFirstToken();
|
|
@@ -62920,7 +62919,7 @@ class FullyTypeConstants extends _abap_rule_1.ABAPRule {
|
|
|
62920
62919
|
for (const stat of file.getStatements()) {
|
|
62921
62920
|
if ((stat.get() instanceof Statements.Constant
|
|
62922
62921
|
|| (this.conf.checkData === true && stat.get() instanceof Statements.Data))
|
|
62923
|
-
&&
|
|
62922
|
+
&& !this.isTyped(stat)) {
|
|
62924
62923
|
const type = stat.get() instanceof Statements.Constant ? "constant definition" : "data definition";
|
|
62925
62924
|
let token = (_a = stat.findFirstExpression(expressions_1.NamespaceSimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
62926
62925
|
if (token === undefined) {
|
|
@@ -62935,7 +62934,7 @@ class FullyTypeConstants extends _abap_rule_1.ABAPRule {
|
|
|
62935
62934
|
return issues;
|
|
62936
62935
|
}
|
|
62937
62936
|
isTyped(stat) {
|
|
62938
|
-
return
|
|
62937
|
+
return stat.findFirstExpression(expressions_1.Type) || stat.findFirstExpression(expressions_1.TypeTable);
|
|
62939
62938
|
}
|
|
62940
62939
|
}
|
|
62941
62940
|
exports.FullyTypeConstants = FullyTypeConstants;
|
|
@@ -64148,7 +64147,7 @@ class ImplementMethods extends _abap_rule_1.ABAPRule {
|
|
|
64148
64147
|
return [idef];
|
|
64149
64148
|
}
|
|
64150
64149
|
for (const m of this.findInterfaceMethods(idef)) {
|
|
64151
|
-
if (
|
|
64150
|
+
if (this.isAbstract(m, interfaceInfo, def)) {
|
|
64152
64151
|
continue;
|
|
64153
64152
|
}
|
|
64154
64153
|
if (this.isImplemented(m, def, impl) === false) {
|
|
@@ -64167,6 +64166,23 @@ class ImplementMethods extends _abap_rule_1.ABAPRule {
|
|
|
64167
64166
|
}
|
|
64168
64167
|
return ret;
|
|
64169
64168
|
}
|
|
64169
|
+
isAbstract(m, interfaceInfo, def) {
|
|
64170
|
+
if (interfaceInfo.abstractMethods.includes(m.method.name.toUpperCase())) {
|
|
64171
|
+
return true;
|
|
64172
|
+
}
|
|
64173
|
+
if (!def.superClassName) {
|
|
64174
|
+
return false;
|
|
64175
|
+
}
|
|
64176
|
+
// look up in superclass if method is abstract there
|
|
64177
|
+
const superClass = this.findClass(def.superClassName);
|
|
64178
|
+
const superInterface = superClass === null || superClass === void 0 ? void 0 : superClass.def.interfaces.find(iface => iface.name.toUpperCase() === m.objectName.toUpperCase());
|
|
64179
|
+
if (superClass && superInterface) {
|
|
64180
|
+
return this.isAbstract(m, superInterface, superClass.def);
|
|
64181
|
+
}
|
|
64182
|
+
else {
|
|
64183
|
+
return false;
|
|
64184
|
+
}
|
|
64185
|
+
}
|
|
64170
64186
|
isImplemented(m, def, impl) {
|
|
64171
64187
|
if (impl === undefined) {
|
|
64172
64188
|
return false;
|
|
@@ -74529,9 +74545,9 @@ ENDFORM.`,
|
|
|
74529
74545
|
for (let i = 0; i < statements.length; i++) {
|
|
74530
74546
|
const node = statements[i];
|
|
74531
74547
|
const nodeType = node.get();
|
|
74532
|
-
if (
|
|
74548
|
+
if (nodeType instanceof Statements.MethodImplementation
|
|
74533
74549
|
|| nodeType instanceof Statements.Form
|
|
74534
|
-
|| nodeType instanceof Statements.FunctionModule)
|
|
74550
|
+
|| nodeType instanceof Statements.FunctionModule) {
|
|
74535
74551
|
statementCounter = 0;
|
|
74536
74552
|
continue;
|
|
74537
74553
|
}
|
|
@@ -77653,8 +77669,8 @@ class PopulateTables {
|
|
|
77653
77669
|
if (!this.hasT000) {
|
|
77654
77670
|
return "";
|
|
77655
77671
|
}
|
|
77656
|
-
// todo, this should take the client number from the settings
|
|
77657
|
-
return `INSERT INTO t000 (
|
|
77672
|
+
// todo, this should take the client number from the json abap_transpile.json settings
|
|
77673
|
+
return `INSERT INTO t000 ("mandt", "cccategory", "ccnocliind") VALUES ('123', '', '');`;
|
|
77658
77674
|
}
|
|
77659
77675
|
escape(value) {
|
|
77660
77676
|
let ret = value.replace(/\'/g, "''");
|
|
@@ -77828,7 +77844,7 @@ class SnowflakeDatabaseSchema {
|
|
|
77828
77844
|
this.reg = reg;
|
|
77829
77845
|
}
|
|
77830
77846
|
buildVIEW(_view) {
|
|
77831
|
-
|
|
77847
|
+
return "Error: buildView, todo snowflake";
|
|
77832
77848
|
}
|
|
77833
77849
|
buildTABL(tabl) {
|
|
77834
77850
|
const type = tabl.parseType(this.reg);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.96",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -27,17 +27,17 @@
|
|
|
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.218",
|
|
31
|
+
"@abaplint/transpiler": "^2.11.96",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
|
-
"@types/node": "^24.
|
|
33
|
+
"@types/node": "^24.6.1",
|
|
34
34
|
"@types/progress": "^2.0.7",
|
|
35
35
|
"glob": "=7.2.0",
|
|
36
36
|
"progress": "^2.0.3",
|
|
37
37
|
"ts-json-schema-generator": "^2.4.0",
|
|
38
|
-
"typescript": "^5.9.
|
|
38
|
+
"typescript": "^5.9.3",
|
|
39
39
|
"p-limit": "^3.1.0",
|
|
40
40
|
"webpack-cli": "^6.0.1",
|
|
41
|
-
"webpack": "^5.
|
|
41
|
+
"webpack": "^5.102.0"
|
|
42
42
|
}
|
|
43
43
|
}
|