File: recursivelySpecializedConstructorDeclaration.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 (49 lines) | stat: -rw-r--r-- 2,258 bytes parent folder | download | duplicates (7)
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
=== tests/cases/compiler/recursivelySpecializedConstructorDeclaration.ts ===
module MsPortal.Controls.Base.ItemList {
>MsPortal : Symbol(MsPortal, Decl(recursivelySpecializedConstructorDeclaration.ts, 0, 0))
>Controls : Symbol(Controls, Decl(recursivelySpecializedConstructorDeclaration.ts, 0, 16))
>Base : Symbol(Base, Decl(recursivelySpecializedConstructorDeclaration.ts, 0, 25))
>ItemList : Symbol(ItemList, Decl(recursivelySpecializedConstructorDeclaration.ts, 0, 30))

    export interface Interface<TValue> {
>Interface : Symbol(Interface, Decl(recursivelySpecializedConstructorDeclaration.ts, 0, 40))
>TValue : Symbol(TValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 31))

        // Removing this line fixes the constructor of ItemValue
        options: ViewModel<TValue>;
>options : Symbol(Interface.options, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 40))
>ViewModel : Symbol(ViewModel, Decl(recursivelySpecializedConstructorDeclaration.ts, 10, 5))
>TValue : Symbol(TValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 2, 31))
    }    

    export class ItemValue<T> {
>ItemValue : Symbol(ItemValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 5, 5))
>T : Symbol(T, Decl(recursivelySpecializedConstructorDeclaration.ts, 7, 27))

        constructor(value: T) {
>value : Symbol(value, Decl(recursivelySpecializedConstructorDeclaration.ts, 8, 20))
>T : Symbol(T, Decl(recursivelySpecializedConstructorDeclaration.ts, 7, 27))
        }
    }    
 
    export class ViewModel<TValue> extends ItemValue<TValue> {
>ViewModel : Symbol(ViewModel, Decl(recursivelySpecializedConstructorDeclaration.ts, 10, 5))
>TValue : Symbol(TValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 12, 27))
>ItemValue : Symbol(ItemValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 5, 5))
>TValue : Symbol(TValue, Decl(recursivelySpecializedConstructorDeclaration.ts, 12, 27))
    }
}

// Generates:
/*
declare module MsPortal.Controls.Base.ItemList {
    interface Interface<TValue> {
        options: ViewModel<TValue>;
    }
    class ItemValue<T> {
        constructor(value: T);
    }
    class ViewModel<TValue> extends ItemValue<TValue> {
    }
}
*/