All files / output kernel_call.clas.mjs

33.33% Statements 15/45
100% Branches 2/2
16.66% Functions 1/6
33.33% Lines 15/45

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 451x 1x 1x 1x 1x 1x 1x 1x 1x             1x       1x     1x                                       1x 1x 1x
const {cx_root} = await import("./cx_root.clas.mjs");
// kernel_call.clas.abap
class kernel_call {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'KERNEL_CALL';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {};
  static METHODS = {"CALL": {"visibility": "U", "parameters": {"INPUT": {"type": () => {return new abap.types.Character(4);}, "is_optional": " "}}}};
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
    };
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async call(INPUT) {
    return kernel_call.call(INPUT);
  }
  static async call(INPUT) {
    let input = INPUT?.input;
    let uuid = new abap.types.Hex({length: 16});
    let name = new abap.types.String({qualifiedName: "STRING"});
    let magic = new abap.types.Date({qualifiedName: "D"});
    name.set(INPUT.name);
    if (abap.compare.eq(name, abap.CharacterFactory.get(10, 'RFCControl'))) {
      uuid.set((await abap.Classes['CL_SYSTEM_UUID'].if_system_uuid_static$create_uuid_x16()));
      INPUT.uuid.set(uuid);
    } else if (abap.compare.eq(name, abap.CharacterFactory.get(27, 'CONVERSION_EXIT_ALPHA_INPUT'))) {
      magic = INPUT.output
      if (abap.FunctionModules['CONVERSION_EXIT_ALPHA_INPUT'] === undefined) { if (abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()] === undefined) { throw "CX_SY_DYN_CALL_ILLEGAL_FUNC not found"; } else { throw new abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()]();} }
      await abap.FunctionModules['CONVERSION_EXIT_ALPHA_INPUT']({exporting: {input: input}, importing: {output: magic}});
    } else if (abap.compare.eq(name, abap.CharacterFactory.get(24, 'zcsa/installed_languages'))) {
      return;
    } else {
      abap.statements.write(new abap.types.String().set(`Unknown kernel function: ${abap.templateFormatting(name)}`),{newLine: true});
      abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.IntegerFactory.get(2)));
    }
  }
}
abap.Classes['KERNEL_CALL'] = kernel_call;
export {kernel_call};