File: selfInLambdas.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (101 lines) | stat: -rw-r--r-- 2,298 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
=== tests/cases/compiler/selfInLambdas.ts ===
interface MouseEvent {
    x: number;
>x : number

    y: number;
>y : number
}

declare var window: Window;
>window : Window

interface Window {
    onmousemove: (ev: MouseEvent) => any;
>onmousemove : (ev: MouseEvent) => any
>ev : MouseEvent
    
}
var o = {
>o : { counter: number; start: () => void; }
>{    counter: 0,    start: function() {        window.onmousemove = () => {            this.counter++            var f = () => this.counter;        }    }} : { counter: number; start: () => void; }

    counter: 0,
>counter : number
>0 : 0

    start: function() {
>start : () => void
>function() {        window.onmousemove = () => {            this.counter++            var f = () => this.counter;        }    } : () => void

        window.onmousemove = () => {
>window.onmousemove = () => {            this.counter++            var f = () => this.counter;        } : () => void
>window.onmousemove : (ev: MouseEvent) => any
>window : Window
>onmousemove : (ev: MouseEvent) => any
>() => {            this.counter++            var f = () => this.counter;        } : () => void

            this.counter++
>this.counter++ : number
>this.counter : number
>this : { counter: number; start: () => void; }
>counter : number

            var f = () => this.counter;
>f : () => number
>() => this.counter : () => number
>this.counter : number
>this : { counter: number; start: () => void; }
>counter : number

        }

    }

}



class X {
>X : X

	private value = "value";
>value : string
>"value" : "value"

	public foo() {
>foo : () => void

		var outer= () => {
>outer : () => void
>() => {            var x = this.value;            var inner = () => {                var y = this.value;			}			inner();		} : () => void

            var x = this.value;
>x : string
>this.value : string
>this : this
>value : string

            var inner = () => {
>inner : () => void
>() => {                var y = this.value;			} : () => void

                var y = this.value;
>y : string
>this.value : string
>this : this
>value : string
			}

			inner();
>inner() : void
>inner : () => void

		};
		outer();
>outer() : void
>outer : () => void
	}

}