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

75.55% Statements 34/45
66.66% Branches 4/6
50% Functions 4/8
75.55% Lines 34/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 9x 9x   9x     9x 9x 9x 1x 1x 3x 3x 1x 1x 3x 3x 1x 1x     1x 1x     1x 1x     1x 1x 1x 1x 1x 1x     1x
import {AbstractType} from "./_abstract_type";
 
export class PackedType extends AbstractType {
  private readonly length: number;
  private readonly decimals: number;
 
  public constructor(length: number, decimals: number, qualifiedName?: string) {
    super(qualifiedName);
    if (length <= 0) {
      throw new Error("Bad LENGTH");
    } else if (decimals < 0) {
      throw new Error("Bad DECIMALS");
    }
    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";
  }
}