svoid test_tok_selfType() {
  testTranspilationFunction2 tok_selfType(
    "class Bla<A> { selfType x() { this; } }",
      "class Bla<A> { Bla<A> x() { this; } }",
    "class Bla<A extends B> { selfType x() { this; } }",
      "class Bla<A extends B> { Bla<A> x() { this; } }",
    "interface BB { selfType x(); }",
      "interface BB { BB x(); }",
    "class Blume { Class x = selfType.class; Class y() { ret selfType.class; } }",
      "class Blume { Class x = Blume.class; Class y() { ret Blume.class; } }",
    "class Blume<A> { Class x = selfType.class; Class y() { ret selfType.class; } }",
      "class Blume<A> { Class x = Blume.class; Class y() { ret Blume.class; } }",
   "enum BB { a; selfType x(); }",
      "enum BB { a; BB x(); }",
    "class Bla<A> { selfType x() { new selfType(); } }",
      "class Bla<A> { Bla<A> x() { new Bla<A>(); } }",
    "class Bla<A extends Comparable<A>> { selfType x() { new selfType(); } }",
      "class Bla<A extends Comparable<A>> { Bla<A> x() { new Bla<A>(); } }",
    "class HelloMe { selfType x(O o) { ret (selfType) o; } }",
      "class HelloMe { HelloMe x(O o) { ret (HelloMe) o; } }",
    "class A { A a; { if (a cast selfType) a.x(); } }",
      "class A { A a; { if (a cast A) a.x(); } }",
   );
}