=== tests/cases/conformance/types/typeAliases/classDoesNotDependOnBaseTypes.ts === var x: StringTree; >x : Symbol(x, Decl(classDoesNotDependOnBaseTypes.ts, 0, 3)) >StringTree : Symbol(StringTree, Decl(classDoesNotDependOnBaseTypes.ts, 4, 1)) if (typeof x !== "string") { >x : Symbol(x, Decl(classDoesNotDependOnBaseTypes.ts, 0, 3)) x[0] = ""; >x : Symbol(x, Decl(classDoesNotDependOnBaseTypes.ts, 0, 3)) x[0] = new StringTreeCollection; >x : Symbol(x, Decl(classDoesNotDependOnBaseTypes.ts, 0, 3)) >StringTreeCollection : Symbol(StringTreeCollection, Decl(classDoesNotDependOnBaseTypes.ts, 9, 1)) } type StringTree = string | StringTreeCollection; >StringTree : Symbol(StringTree, Decl(classDoesNotDependOnBaseTypes.ts, 4, 1)) >StringTreeCollection : Symbol(StringTreeCollection, Decl(classDoesNotDependOnBaseTypes.ts, 9, 1)) class StringTreeCollectionBase { >StringTreeCollectionBase : Symbol(StringTreeCollectionBase, Decl(classDoesNotDependOnBaseTypes.ts, 6, 48)) [n: number]: StringTree; >n : Symbol(n, Decl(classDoesNotDependOnBaseTypes.ts, 8, 5)) >StringTree : Symbol(StringTree, Decl(classDoesNotDependOnBaseTypes.ts, 4, 1)) } class StringTreeCollection extends StringTreeCollectionBase { } >StringTreeCollection : Symbol(StringTreeCollection, Decl(classDoesNotDependOnBaseTypes.ts, 9, 1)) >StringTreeCollectionBase : Symbol(StringTreeCollectionBase, Decl(classDoesNotDependOnBaseTypes.ts, 6, 48))