All files / output zcl_abapgit_flow_logic.clas.locals.mjs

100% Statements 57/57
90% Branches 9/10
61.53% Functions 8/13
100% Lines 57/57

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 571x 1x 2x 2x 2x 2x 2x 2x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 5x 5x 5x 5x 5x 2x 5x 5x 5x 5x 5x 2x 5x 5x 5x 5x 5x 5x 5x 2x 8x 8x 8x 8x 2x 1x 1x
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_flow_logic.clas.locals_imp.abap
class lcl_sha1_stack {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_FLOW_LOGIC-LCL_SHA1_STACK';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"MT_LIST": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "");}, "visibility": "I", "is_constant": " ", "is_class": " "}};
  static METHODS = {"CLEAR": {"visibility": "U", "parameters": {"RO_STACK": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "LCL_SHA1_STACK", RTTIName: "\\CLASS-POOL=ZCL_ABAPGIT_FLOW_LOGIC\\CLASS=LCL_SHA1_STACK"});}, "is_optional": " "}}},
  "PUSH": {"visibility": "U", "parameters": {"IV_SHA1": {"type": () => {return new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"});}, "is_optional": " "}}},
  "POP": {"visibility": "U", "parameters": {"RV_SHA1": {"type": () => {return new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"});}, "is_optional": " "}}},
  "SIZE": {"visibility": "U", "parameters": {"RV_SIZE": {"type": () => {return new abap.types.Integer({qualifiedName: "I"});}, "is_optional": " "}}}};
  #mt_list;
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "clear": this.clear.bind(this),
      "push": this.push.bind(this),
      "pop": this.pop.bind(this),
      "size": this.size.bind(this),
    };
    this.#mt_list = abap.types.TableFactory.construct(new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "");
    this.FRIENDS_ACCESS_INSTANCE["mt_list"] = this.#mt_list;
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async clear() {
    let ro_stack = new abap.types.ABAPObject({qualifiedName: "LCL_SHA1_STACK", RTTIName: "\\CLASS-POOL=ZCL_ABAPGIT_FLOW_LOGIC\\CLASS=LCL_SHA1_STACK"});
    this.#mt_list.clear();
    ro_stack.set(this.me);
    return ro_stack;
  }
  async push(INPUT) {
    let iv_sha1 = INPUT?.iv_sha1;
    if (iv_sha1?.getQualifiedName === undefined || iv_sha1.getQualifiedName() !== "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_SHA1") { iv_sha1 = undefined; }
    if (iv_sha1 === undefined) { iv_sha1 = new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}).set(INPUT.iv_sha1); }
    abap.statements.insertInternal({data: iv_sha1, index: abap.IntegerFactory.get(1), table: this.#mt_list});
  }
  async pop() {
    let rv_sha1 = new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"});
    abap.statements.readTable(this.#mt_list,{index: abap.IntegerFactory.get(1),
      into: rv_sha1});
    abap.statements.assert(abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0)));
    await abap.statements.deleteInternal(this.#mt_list,{index: abap.IntegerFactory.get(1)});
    return rv_sha1;
  }
  async size() {
    let rv_size = new abap.types.Integer({qualifiedName: "I"});
    rv_size.set(abap.builtin.lines({val: this.#mt_list}));
    return rv_size;
  }
}
abap.Classes['CLAS-ZCL_ABAPGIT_FLOW_LOGIC-LCL_SHA1_STACK'] = lcl_sha1_stack;
export {lcl_sha1_stack};