File: recursiveClassBaseType.symbols

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 (47 lines) | stat: -rw-r--r-- 1,738 bytes parent folder | download | duplicates (3)
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
=== tests/cases/compiler/recursiveClassBaseType.ts ===
// Repro from #44281

declare const p: <T>(fn: () => T) => T;
>p : Symbol(p, Decl(recursiveClassBaseType.ts, 2, 13))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 2, 18))
>fn : Symbol(fn, Decl(recursiveClassBaseType.ts, 2, 21))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 2, 18))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 2, 18))

declare const Base: <T>(val: T) => { new(): T };
>Base : Symbol(Base, Decl(recursiveClassBaseType.ts, 4, 13))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 4, 21))
>val : Symbol(val, Decl(recursiveClassBaseType.ts, 4, 24))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 4, 21))
>T : Symbol(T, Decl(recursiveClassBaseType.ts, 4, 21))

class C extends Base({ x: p<C[]>(() => []) }) { }
>C : Symbol(C, Decl(recursiveClassBaseType.ts, 4, 48))
>Base : Symbol(Base, Decl(recursiveClassBaseType.ts, 4, 13))
>x : Symbol(x, Decl(recursiveClassBaseType.ts, 6, 22))
>p : Symbol(p, Decl(recursiveClassBaseType.ts, 2, 13))
>C : Symbol(C, Decl(recursiveClassBaseType.ts, 4, 48))

// Repro from #44359

abstract class Base1 {
>Base1 : Symbol(Base1, Decl(recursiveClassBaseType.ts, 6, 49))

    abstract root(): Derived1;
>root : Symbol(Base1.root, Decl(recursiveClassBaseType.ts, 10, 22))
>Derived1 : Symbol(Derived1, Decl(recursiveClassBaseType.ts, 12, 1))
}

class Derived1 extends class extends Base1 {
>Derived1 : Symbol(Derived1, Decl(recursiveClassBaseType.ts, 12, 1))
>Base1 : Symbol(Base1, Decl(recursiveClassBaseType.ts, 6, 49))

    root() {
>root : Symbol((Anonymous class).root, Decl(recursiveClassBaseType.ts, 14, 44))

        return undefined as any;
>undefined : Symbol(undefined)
    }
}
{ }