File: inferringClassMembersFromAssignments4.symbols

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (30 lines) | stat: -rw-r--r-- 779 bytes parent folder | download
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
//// [tests/cases/conformance/salsa/inferringClassMembersFromAssignments4.ts] ////

=== a.js ===
class Base {
>Base : Symbol(Base, Decl(a.js, 0, 0))

    m() {
>m : Symbol(Base.m, Decl(a.js, 0, 12))

        this.p = 1
>this.p : Symbol(Base.p, Decl(a.js, 1, 9))
>this : Symbol(Base, Decl(a.js, 0, 0))
>p : Symbol(Base.p, Decl(a.js, 1, 9))
    }
}
class Derived extends Base {
>Derived : Symbol(Derived, Decl(a.js, 4, 1))
>Base : Symbol(Base, Decl(a.js, 0, 0))

    m() {
>m : Symbol(Derived.m, Decl(a.js, 5, 28))

        // should be OK, and p should have type number | undefined from its base
        this.p = 1
>this.p : Symbol(Base.p, Decl(a.js, 1, 9))
>this : Symbol(Derived, Decl(a.js, 4, 1))
>p : Symbol(Derived.p, Decl(a.js, 6, 9))
    }
}