=== tests/cases/compiler/genericRecursiveImplicitConstructorErrors2.ts === module TypeScript2 { >TypeScript2 : Symbol(TypeScript2, Decl(genericRecursiveImplicitConstructorErrors2.ts, 0, 0)) export interface DeclKind { }; >DeclKind : Symbol(DeclKind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 0, 20)) export interface PullTypesymbol { }; >PullTypesymbol : Symbol(PullTypesymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 1, 32)) export interface SymbolLinkKind { }; >SymbolLinkKind : Symbol(SymbolLinkKind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 2, 38)) export enum PullSymbolVisibility { >PullSymbolVisibility : Symbol(PullSymbolVisibility, Decl(genericRecursiveImplicitConstructorErrors2.ts, 3, 38)) Private, >Private : Symbol(PullSymbolVisibility.Private, Decl(genericRecursiveImplicitConstructorErrors2.ts, 4, 36)) Public >Public : Symbol(PullSymbolVisibility.Public, Decl(genericRecursiveImplicitConstructorErrors2.ts, 5, 12)) }   export class PullSymbol { >PullSymbol : Symbol(PullSymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 7, 3)) constructor (name: string, declKind: DeclKind) { >name : Symbol(name, Decl(genericRecursiveImplicitConstructorErrors2.ts, 10, 17)) >declKind : Symbol(declKind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 10, 30)) >DeclKind : Symbol(DeclKind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 0, 20)) } // link methods public addOutgoingLink(linkTo: PullSymbol, kind: SymbolLinkKind) { >addOutgoingLink : Symbol(addOutgoingLink, Decl(genericRecursiveImplicitConstructorErrors2.ts, 12, 5)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 27)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 29)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 31)) >linkTo : Symbol(linkTo, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 34)) >PullSymbol : Symbol(PullSymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 7, 3)) >kind : Symbol(kind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 14, 53)) >SymbolLinkKind : Symbol(SymbolLinkKind, Decl(genericRecursiveImplicitConstructorErrors2.ts, 2, 38)) } public getType(): PullTypeSymbol { >getType : Symbol(getType, Decl(genericRecursiveImplicitConstructorErrors2.ts, 16, 5)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 19)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 21)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 23)) >PullTypeSymbol : Symbol(PullTypeSymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 21, 3)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 19)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 21)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 18, 23)) return undefined; >undefined : Symbol(undefined) } } export class PullTypeSymbol extends PullSymbol { >PullTypeSymbol : Symbol(PullTypeSymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 21, 3)) >A : Symbol(A, Decl(genericRecursiveImplicitConstructorErrors2.ts, 22, 31)) >B : Symbol(B, Decl(genericRecursiveImplicitConstructorErrors2.ts, 22, 33)) >C : Symbol(C, Decl(genericRecursiveImplicitConstructorErrors2.ts, 22, 35)) >PullSymbol : Symbol(PullSymbol, Decl(genericRecursiveImplicitConstructorErrors2.ts, 7, 3)) } }