All files / output cl_abap_refdescr.clas.mjs

78.78% Statements 52/66
77.77% Branches 7/9
35.29% Functions 6/17
78.78% Lines 52/66

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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 661x 1x 1x 106x 106x 106x 106x 106x 106x 106x 1x 1x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x     106x       106x     106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 1x 1x 1x 1x 106x     106x           106x 1x 1x
const {cl_abap_datadescr} = await import("./cl_abap_datadescr.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// cl_abap_refdescr.clas.abap
class cl_abap_refdescr extends cl_abap_datadescr {
  static STATIC_SUPER = cl_abap_datadescr;
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CL_ABAP_REFDESCR';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"REFERENCED": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"});}, "visibility": "I", "is_constant": " ", "is_class": " "}};
  static METHODS = {"GET_REFERENCED_TYPE": {"visibility": "U", "parameters": {"TYPE": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}},
  "GET_REF_TO_DATA": {"visibility": "U", "parameters": {"P_RESULT": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}},
  "GET_REF_TO_OBJECT": {"visibility": "U", "parameters": {"P_RESULT": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}},
  "CREATE": {"visibility": "U", "parameters": {"P_RESULT": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}, "P_REFERENCED_TYPE": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}}};
  #referenced;
  constructor() {
    const sup = super();
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "SUPER": sup.FRIENDS_ACCESS_INSTANCE,
      "get_referenced_type": this.get_referenced_type.bind(this),
    };
    this.#referenced = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"});
    this.FRIENDS_ACCESS_INSTANCE["referenced"] = this.#referenced;
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async get_ref_to_object() {
    return cl_abap_refdescr.get_ref_to_object();
  }
  static async get_ref_to_object() {
    let p_result = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});
    return p_result;
  }
  async create(INPUT) {
    return cl_abap_refdescr.create(INPUT);
  }
  static async create(INPUT) {
    let p_result = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});
    let p_referenced_type = INPUT?.p_referenced_type;
    if (p_referenced_type?.getQualifiedName === undefined || p_referenced_type.getQualifiedName() !== "CL_ABAP_TYPEDESCR") { p_referenced_type = undefined; }
    if (p_referenced_type === undefined) { p_referenced_type = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"}).set(INPUT.p_referenced_type); }
    p_result.set(await (new abap.Classes['CL_ABAP_REFDESCR']()).constructor_());
    p_result.get().FRIENDS_ACCESS_INSTANCE["referenced"].set(p_referenced_type);
    return p_result;
  }
  async get_referenced_type() {
    let type = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_TYPEDESCR", RTTIName: "\\CLASS=CL_ABAP_TYPEDESCR"});
    type.set(this.#referenced);
    return type;
  }
  async get_ref_to_data() {
    return cl_abap_refdescr.get_ref_to_data();
  }
  static async get_ref_to_data() {
    let p_result = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_REFDESCR", RTTIName: "\\CLASS=CL_ABAP_REFDESCR"});
    let foo = new abap.types.DataReference(new abap.types.Character(4));
    await abap.statements.cast(p_result, (await abap.Classes['CL_ABAP_TYPEDESCR'].describe_by_data({p_data: foo})));
    return p_result;
  }
}
abap.Classes['CL_ABAP_REFDESCR'] = cl_abap_refdescr;
export {cl_abap_refdescr};