@abaplint/transpiler-cli 2.11.1 → 2.11.2
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 +20 -28
- package/package.json +2 -2
package/build/bundle.js
CHANGED
|
@@ -87119,23 +87119,21 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
|
|
|
87119
87119
|
class SetHandlerTranspiler {
|
|
87120
87120
|
transpile(node, traversal) {
|
|
87121
87121
|
const methods = [];
|
|
87122
|
-
let
|
|
87122
|
+
let eventClass = undefined;
|
|
87123
87123
|
let eventName = undefined;
|
|
87124
87124
|
for (const m of node.findDirectExpressions(abaplint.Expressions.MethodSource)) {
|
|
87125
87125
|
methods.push(new expressions_1.MethodSourceTranspiler().transpile(m, traversal).getCode().replace("await ", ""));
|
|
87126
|
-
if (
|
|
87126
|
+
if (eventClass === undefined) {
|
|
87127
87127
|
const nameToken = m.getFirstToken();
|
|
87128
87128
|
const scope = traversal.findCurrentScopeByToken(nameToken);
|
|
87129
87129
|
const method = traversal.findMethodReference(nameToken, scope);
|
|
87130
87130
|
if (method?.def.isEventHandler() !== true) {
|
|
87131
87131
|
throw new Error(`SetHandlerTranspiler: Method "${nameToken.getStr()}" is not an event handler`);
|
|
87132
87132
|
}
|
|
87133
|
-
const def = traversal.findClassDefinition(method.def.getClassName(), scope);
|
|
87134
|
-
if (def === undefined) {
|
|
87135
|
-
throw new Error(`SetHandlerTranspiler: Class "${method.def.getClassName()}" not found`);
|
|
87136
|
-
}
|
|
87137
87133
|
eventName = method.def.getEventName();
|
|
87138
|
-
|
|
87134
|
+
eventClass = this.findEventClass(method.def, traversal, scope);
|
|
87135
|
+
// className = method.def.getEventClass();
|
|
87136
|
+
// this.findEventClass(def, eventName, traversal, scope);
|
|
87139
87137
|
}
|
|
87140
87138
|
}
|
|
87141
87139
|
let f = undefined;
|
|
@@ -87151,30 +87149,24 @@ class SetHandlerTranspiler {
|
|
|
87151
87149
|
if (activationExpression) {
|
|
87152
87150
|
activation = ", " + new expressions_1.SourceTranspiler().transpile(activationExpression, traversal).getCode();
|
|
87153
87151
|
}
|
|
87154
|
-
return new chunk_1.Chunk().append(`abap.statements.setHandler({EVENT_NAME: "${eventName}", EVENT_CLASS: "${
|
|
87152
|
+
return new chunk_1.Chunk().append(`abap.statements.setHandler({EVENT_NAME: "${eventName}", EVENT_CLASS: "${eventClass}"}, [${methods.join(",")}], ${f}${activation});`, node, traversal);
|
|
87155
87153
|
}
|
|
87156
|
-
findEventClass(
|
|
87157
|
-
let
|
|
87158
|
-
|
|
87159
|
-
|
|
87160
|
-
|
|
87161
|
-
|
|
87162
|
-
|
|
87163
|
-
|
|
87164
|
-
|
|
87165
|
-
const idef = traversal.findInterfaceDefinition(implementing.name, scope);
|
|
87166
|
-
if (idef === undefined) {
|
|
87167
|
-
continue;
|
|
87168
|
-
}
|
|
87169
|
-
for (const event of idef.getEvents()) {
|
|
87170
|
-
if (event.getName().toUpperCase() === eventName?.toUpperCase()) {
|
|
87171
|
-
return traversal.buildInternalName(idef.getName(), idef);
|
|
87172
|
-
}
|
|
87173
|
-
}
|
|
87154
|
+
findEventClass(mdef, traversal, scope) {
|
|
87155
|
+
let def = traversal.findClassDefinition(mdef.getEventClass(), scope);
|
|
87156
|
+
if (def === undefined) {
|
|
87157
|
+
def = traversal.findInterfaceDefinition(mdef.getEventClass(), scope);
|
|
87158
|
+
}
|
|
87159
|
+
// look through super classes
|
|
87160
|
+
while (def?.getSuperClass() !== undefined) {
|
|
87161
|
+
if (def.getEvents().find(e => e.getName().toUpperCase() === mdef.getEventName()?.toUpperCase())) {
|
|
87162
|
+
break;
|
|
87174
87163
|
}
|
|
87175
|
-
|
|
87164
|
+
def = traversal.findClassDefinition(def.getSuperClass(), scope);
|
|
87165
|
+
}
|
|
87166
|
+
if (def === undefined) {
|
|
87167
|
+
throw new Error(`SetHandlerTranspiler: findEventClass "${mdef.getEventClass()}" not found`);
|
|
87176
87168
|
}
|
|
87177
|
-
|
|
87169
|
+
return traversal.buildInternalName(def.getName(), def);
|
|
87178
87170
|
}
|
|
87179
87171
|
}
|
|
87180
87172
|
exports.SetHandlerTranspiler = SetHandlerTranspiler;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.2",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@abaplint/core": "^2.113.151",
|
|
31
|
-
"@abaplint/transpiler": "^2.11.
|
|
31
|
+
"@abaplint/transpiler": "^2.11.2",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
33
|
"@types/node": "^22.17.0",
|
|
34
34
|
"@types/progress": "^2.0.7",
|