@abaplint/transpiler
Version:
26 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataTranspiler = void 0;
const abaplint = require("@abaplint/core");
const statements_1 = require("../statements");
const chunk_1 = require("../chunk");
class DataTranspiler {
transpile(node, traversal) {
const begin = node.findDirectStatement(abaplint.Statements.DataBegin);
if (begin === undefined) {
return new chunk_1.Chunk("");
}
const topName = begin.findDirectExpression(abaplint.Expressions.DefinitionName)?.concatTokens().toLowerCase();
const chunk = new statements_1.DataTranspiler().transpile(begin, traversal);
for (const d of node.findDirectStatements(abaplint.Statements.Data)) {
const subName = d.findFirstExpression(abaplint.Expressions.DefinitionName)?.concatTokens().toLowerCase();
if (subName && topName) {
chunk.appendString(statements_1.DataTranspiler.buildValue(d, topName + ".get()." + subName, traversal));
}
}
chunk.appendString("\n");
return chunk;
}
}
exports.DataTranspiler = DataTranspiler;
//# sourceMappingURL=data.js.map