@abaplint/runtime
Version:
Transpiler - Runtime
28 lines • 974 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.moveCorresponding = moveCorresponding;
const types_1 = require("../types");
function moveCorresponding(source, target) {
if (source instanceof types_1.FieldSymbol) {
if (source.isAssigned() === false) {
throw new Error("GETWA_NOT_ASSIGNED");
}
return moveCorresponding(source.getPointer(), target);
}
if (target instanceof types_1.FieldSymbol) {
if (target.isAssigned() === false) {
throw new Error("GETWA_NOT_ASSIGNED");
}
return moveCorresponding(source, target.getPointer());
}
for (const n in source.get()) {
if (target.get()[n] instanceof types_1.Structure) {
moveCorresponding(source.get()[n], target.get()[n]);
}
else {
target.get()[n]?.set(source.get()[n]);
}
}
return target;
}
//# sourceMappingURL=move_corresponding.js.map