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
|
=== tests/cases/compiler/genericReversingTypeParameters.ts ===
class BiMap<K, V> {
>BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0))
>K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12))
>V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14))
private inverseBiMap: BiMap<V, K>;
>inverseBiMap : Symbol(BiMap.inverseBiMap, Decl(genericReversingTypeParameters.ts, 0, 19))
>BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0))
>V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14))
>K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12))
public get(key: K): V { return null; }
>get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38))
>key : Symbol(key, Decl(genericReversingTypeParameters.ts, 2, 15))
>K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12))
>V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14))
public inverse(): BiMap<V, K> { return null; }
>inverse : Symbol(BiMap.inverse, Decl(genericReversingTypeParameters.ts, 2, 42))
>BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0))
>V : Symbol(V, Decl(genericReversingTypeParameters.ts, 0, 14))
>K : Symbol(K, Decl(genericReversingTypeParameters.ts, 0, 12))
}
var b = new BiMap<string, number>();
>b : Symbol(b, Decl(genericReversingTypeParameters.ts, 6, 3))
>BiMap : Symbol(BiMap, Decl(genericReversingTypeParameters.ts, 0, 0))
var r1 = b.get('');
>r1 : Symbol(r1, Decl(genericReversingTypeParameters.ts, 7, 3))
>b.get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38))
>b : Symbol(b, Decl(genericReversingTypeParameters.ts, 6, 3))
>get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38))
var i = b.inverse(); // used to get the type wrong here.
>i : Symbol(i, Decl(genericReversingTypeParameters.ts, 8, 3))
>b.inverse : Symbol(BiMap.inverse, Decl(genericReversingTypeParameters.ts, 2, 42))
>b : Symbol(b, Decl(genericReversingTypeParameters.ts, 6, 3))
>inverse : Symbol(BiMap.inverse, Decl(genericReversingTypeParameters.ts, 2, 42))
var r2b = i.get(1);
>r2b : Symbol(r2b, Decl(genericReversingTypeParameters.ts, 9, 3))
>i.get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38))
>i : Symbol(i, Decl(genericReversingTypeParameters.ts, 8, 3))
>get : Symbol(BiMap.get, Decl(genericReversingTypeParameters.ts, 1, 38))
|