File: controlFlowInstanceofExtendsFunction.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 (75 lines) | stat: -rw-r--r-- 3,232 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
=== tests/cases/conformance/controlFlow/controlFlowInstanceofExtendsFunction.ts ===
declare global {
>global : Symbol(global, Decl(controlFlowInstanceofExtendsFunction.ts, 0, 0))

    interface Function {
>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(controlFlowInstanceofExtendsFunction.ts, 0, 16))

        now(): string;
>now : Symbol(Function.now, Decl(controlFlowInstanceofExtendsFunction.ts, 1, 24))
    }
}

Function.prototype.now = function () {
>Function.prototype.now : Symbol(Function.now, Decl(controlFlowInstanceofExtendsFunction.ts, 1, 24))
>Function.prototype : Symbol(FunctionConstructor.prototype, Decl(lib.es5.d.ts, --, --))
>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(controlFlowInstanceofExtendsFunction.ts, 0, 16))
>prototype : Symbol(FunctionConstructor.prototype, Decl(lib.es5.d.ts, --, --))
>now : Symbol(Function.now, Decl(controlFlowInstanceofExtendsFunction.ts, 1, 24))

    return "now"
}

class X {
>X : Symbol(X, Decl(controlFlowInstanceofExtendsFunction.ts, 8, 1))

    static now() {
>now : Symbol(X.now, Decl(controlFlowInstanceofExtendsFunction.ts, 10, 9))

        return {}
    }

    why() {
>why : Symbol(X.why, Decl(controlFlowInstanceofExtendsFunction.ts, 13, 5))

    }
}

class Y {
>Y : Symbol(Y, Decl(controlFlowInstanceofExtendsFunction.ts, 18, 1))

}

console.log(X.now()) // works as expected
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>X.now : Symbol(X.now, Decl(controlFlowInstanceofExtendsFunction.ts, 10, 9))
>X : Symbol(X, Decl(controlFlowInstanceofExtendsFunction.ts, 8, 1))
>now : Symbol(X.now, Decl(controlFlowInstanceofExtendsFunction.ts, 10, 9))

console.log(Y.now()) // works as expected
>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>console : Symbol(console, Decl(lib.dom.d.ts, --, --))
>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --))
>Y.now : Symbol(Function.now, Decl(controlFlowInstanceofExtendsFunction.ts, 1, 24))
>Y : Symbol(Y, Decl(controlFlowInstanceofExtendsFunction.ts, 18, 1))
>now : Symbol(Function.now, Decl(controlFlowInstanceofExtendsFunction.ts, 1, 24))

export const x: X | number = Math.random() > 0.5 ? new X() : 1
>x : Symbol(x, Decl(controlFlowInstanceofExtendsFunction.ts, 27, 12))
>X : Symbol(X, Decl(controlFlowInstanceofExtendsFunction.ts, 8, 1))
>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --))
>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --))
>X : Symbol(X, Decl(controlFlowInstanceofExtendsFunction.ts, 8, 1))

if (x instanceof X) {
>x : Symbol(x, Decl(controlFlowInstanceofExtendsFunction.ts, 27, 12))
>X : Symbol(X, Decl(controlFlowInstanceofExtendsFunction.ts, 8, 1))

    x.why() // should compile
>x.why : Symbol(X.why, Decl(controlFlowInstanceofExtendsFunction.ts, 13, 5))
>x : Symbol(x, Decl(controlFlowInstanceofExtendsFunction.ts, 27, 12))
>why : Symbol(X.why, Decl(controlFlowInstanceofExtendsFunction.ts, 13, 5))
}