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 19029x 19029x   19029x     19029x 19029x 19029x 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";
  }
}