File: controlFlowForCatchAndFinally.symbols

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 (135 lines) | stat: -rw-r--r-- 7,452 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
128
129
130
131
132
133
134
135
=== tests/cases/compiler/controlFlowForCatchAndFinally.ts ===
type Page = {close(): Promise<void>; content(): Promise<string>};
>Page : Symbol(Page, Decl(controlFlowForCatchAndFinally.ts, 0, 0))
>close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 0, 13))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>content : Symbol(content, Decl(controlFlowForCatchAndFinally.ts, 0, 36))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))

type Browser = {close(): Promise<void>};
>Browser : Symbol(Browser, Decl(controlFlowForCatchAndFinally.ts, 0, 65))
>close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 1, 16))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))

declare function test1(): Promise<Browser>;
>test1 : Symbol(test1, Decl(controlFlowForCatchAndFinally.ts, 1, 40))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>Browser : Symbol(Browser, Decl(controlFlowForCatchAndFinally.ts, 0, 65))

declare function test2(obj: Browser): Promise<Page>;
>test2 : Symbol(test2, Decl(controlFlowForCatchAndFinally.ts, 2, 43))
>obj : Symbol(obj, Decl(controlFlowForCatchAndFinally.ts, 3, 23))
>Browser : Symbol(Browser, Decl(controlFlowForCatchAndFinally.ts, 0, 65))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>Page : Symbol(Page, Decl(controlFlowForCatchAndFinally.ts, 0, 0))

async function test(): Promise<string> {
>test : Symbol(test, Decl(controlFlowForCatchAndFinally.ts, 3, 52))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))

    let browser: Browser | undefined = undefined;
>browser : Symbol(browser, Decl(controlFlowForCatchAndFinally.ts, 5, 7))
>Browser : Symbol(Browser, Decl(controlFlowForCatchAndFinally.ts, 0, 65))
>undefined : Symbol(undefined)

    let page: Page | undefined = undefined;
>page : Symbol(page, Decl(controlFlowForCatchAndFinally.ts, 6, 7))
>Page : Symbol(Page, Decl(controlFlowForCatchAndFinally.ts, 0, 0))
>undefined : Symbol(undefined)

    try {
        browser = await test1();
>browser : Symbol(browser, Decl(controlFlowForCatchAndFinally.ts, 5, 7))
>test1 : Symbol(test1, Decl(controlFlowForCatchAndFinally.ts, 1, 40))

        page = await test2(browser);
>page : Symbol(page, Decl(controlFlowForCatchAndFinally.ts, 6, 7))
>test2 : Symbol(test2, Decl(controlFlowForCatchAndFinally.ts, 2, 43))
>browser : Symbol(browser, Decl(controlFlowForCatchAndFinally.ts, 5, 7))

        return await page.content();;
>page.content : Symbol(content, Decl(controlFlowForCatchAndFinally.ts, 0, 36))
>page : Symbol(page, Decl(controlFlowForCatchAndFinally.ts, 6, 7))
>content : Symbol(content, Decl(controlFlowForCatchAndFinally.ts, 0, 36))

    } finally {
        if (page) {
>page : Symbol(page, Decl(controlFlowForCatchAndFinally.ts, 6, 7))

            await page.close(); // ok
>page.close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 0, 13))
>page : Symbol(page, Decl(controlFlowForCatchAndFinally.ts, 6, 7))
>close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 0, 13))
        }

        if (browser) {
>browser : Symbol(browser, Decl(controlFlowForCatchAndFinally.ts, 5, 7))

            await browser.close(); // ok
>browser.close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 1, 16))
>browser : Symbol(browser, Decl(controlFlowForCatchAndFinally.ts, 5, 7))
>close : Symbol(close, Decl(controlFlowForCatchAndFinally.ts, 1, 16))
        }
    }
}

declare class Aborter { abort(): void };
>Aborter : Symbol(Aborter, Decl(controlFlowForCatchAndFinally.ts, 20, 1))
>abort : Symbol(Aborter.abort, Decl(controlFlowForCatchAndFinally.ts, 22, 23))

class Foo {
>Foo : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))

    abortController: Aborter | undefined = undefined;
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>Aborter : Symbol(Aborter, Decl(controlFlowForCatchAndFinally.ts, 20, 1))
>undefined : Symbol(undefined)

    async operation() {
>operation : Symbol(Foo.operation, Decl(controlFlowForCatchAndFinally.ts, 24, 53))

        if (this.abortController !== undefined) {
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>undefined : Symbol(undefined)

            this.abortController.abort();
>this.abortController.abort : Symbol(Aborter.abort, Decl(controlFlowForCatchAndFinally.ts, 22, 23))
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>abort : Symbol(Aborter.abort, Decl(controlFlowForCatchAndFinally.ts, 22, 23))

            this.abortController = undefined;
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>undefined : Symbol(undefined)
        }
        try {
            this.abortController = new Aborter();
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>Aborter : Symbol(Aborter, Decl(controlFlowForCatchAndFinally.ts, 20, 1))

        } catch (error) {
>error : Symbol(error, Decl(controlFlowForCatchAndFinally.ts, 33, 17))

            if (this.abortController !== undefined) {
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>undefined : Symbol(undefined)

                this.abortController.abort(); // ok
>this.abortController.abort : Symbol(Aborter.abort, Decl(controlFlowForCatchAndFinally.ts, 22, 23))
>this.abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>this : Symbol(Foo, Decl(controlFlowForCatchAndFinally.ts, 22, 40))
>abortController : Symbol(Foo.abortController, Decl(controlFlowForCatchAndFinally.ts, 23, 11))
>abort : Symbol(Aborter.abort, Decl(controlFlowForCatchAndFinally.ts, 22, 23))
            }
        }
    }
}