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

80% Statements 32/40
100% Branches 5/5
42.85% Functions 3/7
80% Lines 32/40

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 401x 1x 1x 1x 1x 1x 40x 40x 37x 37x 3x 3x 3x 3x 3x 1x 1x 3x 3x 1x 1x     1x 1x 24x 24x 1x 1x     1x 1x     1x 1x     1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
 
export class XStringType extends AbstractType {
  private static readonly singletons = new Map<string, XStringType>();
 
  public static get(input?: AbstractTypeData): XStringType {
    const key = JSON.stringify(input);
    if (this.singletons.has(key)) {
      return this.singletons.get(key)!;
    }
 
    const ret = new XStringType(input);
    this.singletons.set(key, ret);
    return ret;
  }
 
  private constructor(input?: AbstractTypeData) {
    super(input);
  }
 
  public toText() {
    return "```xstring```";
  }
 
  public isGeneric() {
    return false;
  }
 
  public toABAP(): string {
    return "xstring";
  }
 
  public containsVoid() {
    return false;
  }
 
  public toCDS() {
    return "abap.rawstring";
  }
}