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(); } }", ); }