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

84.44% Statements 38/45
75% Branches 6/8
75% Functions 6/8
84.44% Lines 38/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 18247x 18247x   18247x     18247x 18247x 18247x 1x 1x 5x 5x 1x 1x 5x 5x 1x 1x 2x 2x 1x 1x     1x 1x 14x 14x 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";
  }
}