2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/infinitelyExpandingTypesNonGenericBase.ts ===
|
|
|
|
class Functionality<V> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>Functionality : Functionality<V>, Symbol(Functionality, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 0))
|
|
|
|
>V : V, Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
property: Options<V>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>property : Options<V>, Symbol(property, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 24))
|
|
|
|
>Options : Options<T>, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1))
|
|
|
|
>V : V, Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class Base {
|
2015-04-13 23:01:57 +02:00
|
|
|
>Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class A<T> extends Base {
|
2015-04-13 23:01:57 +02:00
|
|
|
>A : A<T>, Symbol(A, Decl(infinitelyExpandingTypesNonGenericBase.ts, 5, 1))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 8))
|
|
|
|
>Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
options: Options<Functionality<T>[]>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>options : Options<Functionality<T>[]>, Symbol(options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 25))
|
|
|
|
>Options : Options<T>, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1))
|
|
|
|
>Functionality : Functionality<V>, Symbol(Functionality, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 0))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 8))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface OptionsBase<T> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>OptionsBase : OptionsBase<T>, Symbol(OptionsBase, Decl(infinitelyExpandingTypesNonGenericBase.ts, 9, 1))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
Options: Options<T>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>Options : Options<T>, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 26))
|
|
|
|
>Options : Options<T>, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface Options<T> extends OptionsBase<T> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>Options : Options<T>, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 15, 18))
|
|
|
|
>OptionsBase : OptionsBase<T>, Symbol(OptionsBase, Decl(infinitelyExpandingTypesNonGenericBase.ts, 9, 1))
|
|
|
|
>T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 15, 18))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function o(type: new () => Base) {
|
2015-04-13 23:01:57 +02:00
|
|
|
>o : (type: new () => Base) => void, Symbol(o, Decl(infinitelyExpandingTypesNonGenericBase.ts, 16, 1))
|
|
|
|
>type : new () => Base, Symbol(type, Decl(infinitelyExpandingTypesNonGenericBase.ts, 19, 11))
|
|
|
|
>Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
o(A);
|
|
|
|
>o(A) : void
|
2015-04-13 23:01:57 +02:00
|
|
|
>o : (type: new () => Base) => void, Symbol(o, Decl(infinitelyExpandingTypesNonGenericBase.ts, 16, 1))
|
|
|
|
>A : typeof A, Symbol(A, Decl(infinitelyExpandingTypesNonGenericBase.ts, 5, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
|