File: declarationFiles.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (127 lines) | stat: -rw-r--r-- 1,852 bytes parent folder | download | duplicates (5)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
=== tests/cases/conformance/types/thisType/declarationFiles.ts ===
class C1 {
>C1 : C1

    x: this;
>x : this

    f(x: this): this { return undefined; }
>f : (x: this) => this
>x : this
>undefined : undefined

    constructor(x: this) { }
>x : any
}

class C2 {
>C2 : C2

    [x: string]: this;
>x : string
}

interface Foo<T> {
    x: T;
>x : T

    y: this;
>y : this
}

class C3 {
>C3 : C3

    a: this[];
>a : this[]

    b: [this, this];
>b : [this, this]

    c: this | Date;
>c : this | Date

    d: this & Date;
>d : this & Date

    e: (((this)));
>e : this

    f: (x: this) => this;
>f : (x: this) => this
>x : this

    g: new (x: this) => this;
>g : new (x: this) => this
>x : this

    h: Foo<this>;
>h : Foo<this>

    i: Foo<this | (() => this)>;
>i : Foo<this | (() => this)>

    j: (x: any) => x is this;
>j : (x: any) => x is this
>x : any
}

class C4 {
>C4 : C4

    x1 = { a: this };
>x1 : { a: this; }
>{ a: this } : { a: this; }
>a : this
>this : this

    x2 = [this];
>x2 : this[]
>[this] : this[]
>this : this

    x3 = [{ a: this }];
>x3 : { a: this; }[]
>[{ a: this }] : { a: this; }[]
>{ a: this } : { a: this; }
>a : this
>this : this

    x4 = () => this;
>x4 : () => this
>() => this : () => this
>this : this

    f1() {
>f1 : () => { a: this; }

        return { a: this };
>{ a: this } : { a: this; }
>a : this
>this : this
    }
    f2() {
>f2 : () => this[]

        return [this];
>[this] : this[]
>this : this
    }
    f3() {
>f3 : () => { a: this; }[]

        return [{ a: this }];
>[{ a: this }] : { a: this; }[]
>{ a: this } : { a: this; }
>a : this
>this : this
    }
    f4() {
>f4 : () => () => this

        return () => this;
>() => this : () => this
>this : this
    }
}