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

91.66% Statements 44/48
100% Branches 8/8
75% Functions 6/8
91.66% Lines 44/48

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 481x 1x 1x 1x 1x 1x 1721x 1721x 1486x 1486x 235x 235x 235x 235x 235x 1x 1x 1x 1x 1x 235x 235x 235x 1x 1x 62x 62x 1x 1x     1x 1x 5x 5x 1x 1x 316x 316x 1x 1x 5x 5x 1x 1x     1x
import {AbstractType} from "./_abstract_type";
 
export class VoidType extends AbstractType {
  private static readonly singletons = new Map<string, VoidType>();
 
  public static get(voided: string | undefined, qualifiedName?: string): VoidType {
    const key = JSON.stringify({voided, qualifiedName});
    if (this.singletons.has(key)) {
      return this.singletons.get(key)!;
    }
 
    const ret = new VoidType(voided, qualifiedName);
    this.singletons.set(key, ret);
    return ret;
  }
 
  // this contains the name of the type that was the original reason for the void
  private readonly voided: string | undefined;
 
  private constructor(voided: string | undefined, qualifiedName?: string) {
    super({qualifiedName: qualifiedName});
    this.voided = voided;
  }
 
  public getVoided(): string | undefined {
    return this.voided;
  }
 
  public toABAP(): string {
    return this.voided || "VOIDEDtoABAP";
  }
 
  public toText() {
    return "Void(" + this.voided + ")";
  }
 
  public isGeneric() {
    return false;
  }
 
  public containsVoid() {
    return true;
  }
 
  public toCDS() {
    return "abap.TODO_VOID";
  }
}