File: thisTypeInClasses.js

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 (90 lines) | stat: -rw-r--r-- 1,869 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
//// [thisTypeInClasses.ts]
class C1 {
    x: this;
    f(x: this): this { return undefined; }
}

class C2 {
    [x: string]: this;
}

interface Foo<T> {
    x: T;
    y: this;
}

class C3 {
    a: this[];
    b: [this, this];
    c: this | Date;
    d: this & Date;
    e: (((this)));
    f: (x: this) => this;
    g: new (x: this) => this;
    h: Foo<this>;
    i: Foo<this | (() => this)>;
    j: (x: any) => x is this;
}

declare class C4 {
    x: this;
    f(x: this): this;
}

class C5 {
    foo() {
        let f1 = (x: this): this => this;
        let f2 = (x: this) => this;
        let f3 = (x: this) => (y: this) => this;
        let f4 = (x: this) => {
            let g = (y: this) => {
                return () => this;
            }
            return g(this);
        }
    }
    bar() {
        let x1 = <this>undefined;
        let x2 = undefined as this;
    }
}


//// [thisTypeInClasses.js]
var C1 = /** @class */ (function () {
    function C1() {
    }
    C1.prototype.f = function (x) { return undefined; };
    return C1;
}());
var C2 = /** @class */ (function () {
    function C2() {
    }
    return C2;
}());
var C3 = /** @class */ (function () {
    function C3() {
    }
    return C3;
}());
var C5 = /** @class */ (function () {
    function C5() {
    }
    C5.prototype.foo = function () {
        var _this = this;
        var f1 = function (x) { return _this; };
        var f2 = function (x) { return _this; };
        var f3 = function (x) { return function (y) { return _this; }; };
        var f4 = function (x) {
            var g = function (y) {
                return function () { return _this; };
            };
            return g(_this);
        };
    };
    C5.prototype.bar = function () {
        var x1 = undefined;
        var x2 = undefined;
    };
    return C5;
}());