All files / src/abap/types/basic packed_type.ts

88.88% Statements 40/45
77.77% Branches 7/9
87.5% Functions 7/8
88.88% Lines 40/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 128x 128x   128x     128x 128x 128x 1x 1x 21x 21x 1x 1x 22x 22x 1x 1x 2x 2x 1x 1x 2x 2x 1x 1x 141x 141x 1x 1x 5x 5x 1x 1x     1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
 
export class PackedType extends AbstractType {
  private readonly length: number;
  private readonly decimals: number;
 
  public constructor(length: number, decimals: number, extra?: AbstractTypeData) {
    super(extra);
    if (length <= 0) {
      throw new Error("Bad LENGTH, Packed");
    } else if (decimals < 0) {
      throw new Error("Bad DECIMALS, Packed");
    }
    this.length = length;
    this.decimals = decimals;
  }
 
  public getLength() {
    return this.length;
  }
 
  public getDecimals() {
    return this.decimals;
  }
 
  public toText() {
    return "```p LENGTH " + this.getLength() + " DECIMALS " + this.getDecimals() + "```";
  }
 
  public toABAP(): string {
    return "p LENGTH " + this.getLength() + " DECIMALS " + this.getDecimals();
  }
 
  public isGeneric() {
    return false;
  }
 
  public containsVoid() {
    return false;
  }
 
  public toCDS() {
    return "abap.TODO_PACKED";
  }
}