UNPKG

@abaplint/transpiler

Version:
28 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldAssignmentTranspiler = void 0; const core_1 = require("@abaplint/core"); const chunk_1 = require("../chunk"); const abaplint = require("@abaplint/core"); const source_1 = require("./source"); class FieldAssignmentTranspiler { transpile(node, traversal, context) { const ret = new chunk_1.Chunk(); const field = node.findDirectExpression(core_1.Expressions.FieldSub); if (field === undefined) { throw new Error("FieldAssignmentTranspiler, Expected FieldSub"); } const source = node.findDirectExpression(core_1.Expressions.Source); if (source === undefined) { throw new Error("FieldAssignmentTranspiler, Expected Source"); } if (context instanceof abaplint.BasicTypes.StructureType) { context = context.getComponentByName(field.concatTokens()); } const sourc = new source_1.SourceTranspiler().transpile(source, traversal, context).getCode(); ret.appendString(`.setField("${field.concatTokens().toLowerCase()}", ${sourc})`); return ret; } } exports.FieldAssignmentTranspiler = FieldAssignmentTranspiler; //# sourceMappingURL=field_assignment.js.map