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

73.17% Statements 30/41
60% Branches 3/5
42.86% Functions 3/7
73.17% Lines 30/41

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 411x 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
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;
  }
}