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

95.91% Statements 47/49
100% Branches 13/13
87.5% Functions 7/8
95.91% Lines 47/49

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 45 46 47 48 491x 1x 1x 1x 1x 1x 2288x 2288x 2093x 2093x 195x 195x 195x 195x 195x 1x 1x 195x 195x 1x 1x 1x 126x 126x 49x 49x 77x 77x 1x 1x 76x 76x 1x 1x 1309x 1309x 1x 1x 18x 18x 1x 1x 142x 142x 1x 1x     1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
 
export class IntegerType extends AbstractType {
  private static readonly singletons = new Map<string, IntegerType>();
 
  public static get(input?: AbstractTypeData): IntegerType {
    const key = JSON.stringify(input);
    if (this.singletons.has(key)) {
      return this.singletons.get(key)!;
    }
 
    const ret = new IntegerType(input);
    this.singletons.set(key, ret);
    return ret;
  }
 
  private constructor(input?: AbstractTypeData) {
    super(input);
  }
 
  /** fully qualified symbolic name of the type */
  public getQualifiedName(): string | undefined {
    const qual = this.data?.qualifiedName;
    if (qual === undefined) {
      return "I";
    }
    return qual;
  }
 
  public toText() {
    return "```i```";
  }
 
  public isGeneric() {
    return false;
  }
 
  public toABAP(): string {
    return "i";
  }
 
  public containsVoid() {
    return false;
  }
 
  public toCDS() {
    return "abap.int4";
  }
}