File: inferentialTypingObjectLiteralMethod2.types

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (43 lines) | stat: -rw-r--r-- 1,017 bytes parent folder | download | duplicates (2)
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
=== tests/cases/compiler/inferentialTypingObjectLiteralMethod2.ts ===
interface Int<T, U> {
>Int : Int<T, U>
>T : T
>U : U

    [s: string]: (x: T) => U;
>s : string
>x : T
>T : T
>U : U
}
declare function foo<T, U>(x: T, y: Int<T, U>, z: Int<U, T>): T;
>foo : <T, U>(x: T, y: Int<T, U>, z: Int<U, T>) => T
>T : T
>U : U
>x : T
>T : T
>y : Int<T, U>
>Int : Int<T, U>
>T : T
>U : U
>z : Int<U, T>
>Int : Int<T, U>
>U : U
>T : T
>T : T

foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } });
>foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string
>foo : <T, U>(x: T, y: Int<T, U>, z: Int<U, T>) => T
>"" : ""
>{ method(p1) { return p1.length } } : { method(p1: string): number; }
>method : (p1: string) => number
>p1 : string
>p1.length : number
>p1 : string
>length : number
>{ method(p2) { return undefined } } : { method(p2: number): any; }
>method : (p2: number) => any
>p2 : number
>undefined : undefined