All files / output cl_abap_classdescr.clas.mjs

70.83% Statements 34/48
100% Branches 4/4
27.27% Functions 3/11
70.83% Lines 34/48

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 481x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 1x 6x 6x 6x 1x     1x                 1x         1x 1x 1x
const {cl_abap_objectdescr} = await import("./cl_abap_objectdescr.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// cl_abap_classdescr.clas.abap
class cl_abap_classdescr extends cl_abap_objectdescr {
  static STATIC_SUPER = cl_abap_objectdescr;
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CL_ABAP_CLASSDESCR';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"CLASS_KIND": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "U", "is_constant": " ", "is_class": " "},
  "CREATE_VISIBILITY": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "U", "is_constant": " ", "is_class": " "}};
  static METHODS = {"GET_CLASS_NAME": {"visibility": "U", "parameters": {"P_NAME": {"type": () => {return new abap.types.Character(200, {"qualifiedName":"abap_abstypename"});}, "is_optional": " ", "parm_kind": "R", "type_name": "CharacterType"}, "P_OBJECT": {"type": () => {return new abap.types.ABAPObject({qualifiedName: undefined, RTTIName: undefined});}, "is_optional": " ", "parm_kind": "I", "type_name": "GenericObjectReferenceType"}}},
  "GET_SUPER_CLASS_TYPE": {"visibility": "U", "parameters": {"P_DESCR_REF": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "CL_ABAP_CLASSDESCR", RTTIName: "\\CLASS=CL_ABAP_CLASSDESCR"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}}};
  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_super_class_type": this.get_super_class_type.bind(this),
    };
    this.class_kind = new abap.types.String({qualifiedName: "STRING"});
    this.create_visibility = new abap.types.String({qualifiedName: "STRING"});
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async get_class_name(INPUT) {
    return cl_abap_classdescr.get_class_name(INPUT);
  }
  static async get_class_name(INPUT) {
    let p_name = new abap.types.Character(200, {"qualifiedName":"abap_abstypename"});
    let p_object = INPUT?.p_object;
    if (p_object === undefined) { p_object = new abap.types.ABAPObject({qualifiedName: undefined, RTTIName: undefined}).set(INPUT.p_object); }
    let lv_name = new abap.types.String({qualifiedName: "STRING"});
    lv_name.set(p_object.get().constructor.INTERNAL_NAME);
    p_name.set((await abap.Classes['KERNEL_INTERNAL_NAME'].internal_to_rtti({iv_internal: lv_name})));
    return p_name;
  }
  async get_super_class_type() {
    let p_descr_ref = new abap.types.ABAPObject({qualifiedName: "CL_ABAP_CLASSDESCR", RTTIName: "\\CLASS=CL_ABAP_CLASSDESCR"});
    abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.CharacterFactory.get(4, 'todo')));
    return p_descr_ref;
  }
}
abap.Classes['CL_ABAP_CLASSDESCR'] = cl_abap_classdescr;
export {cl_abap_classdescr};