TypeScript/tests/baselines/reference/specializedInheritedConstructors1.types
2015-04-15 16:44:20 -07:00

63 lines
1.3 KiB
Plaintext

=== tests/cases/compiler/specializedInheritedConstructors1.ts ===
interface ViewOptions<TModel> {
>ViewOptions : ViewOptions<TModel>
>TModel : TModel
model: TModel;
>model : TModel
>TModel : TModel
}
class View<TModel> {
>View : View<TModel>
>TModel : TModel
constructor(options: ViewOptions<TModel>) { }
>options : ViewOptions<TModel>
>ViewOptions : ViewOptions<TModel>
>TModel : TModel
model: TModel;
>model : TModel
>TModel : TModel
}
class Model { }
>Model : Model
class MyView extends View<Model> { }
>MyView : MyView
>View : View<TModel>
>Model : Model
var m: ViewOptions<Model> = { model: new Model() };
>m : ViewOptions<Model>
>ViewOptions : ViewOptions<TModel>
>Model : Model
>{ model: new Model() } : { model: Model; }
>model : Model
>new Model() : Model
>Model : typeof Model
var aView = new View({ model: new Model() });
>aView : View<Model>
>new View({ model: new Model() }) : View<Model>
>View : typeof View
>{ model: new Model() } : { model: Model; }
>model : Model
>new Model() : Model
>Model : typeof Model
var aView2 = new View(m);
>aView2 : View<Model>
>new View(m) : View<Model>
>View : typeof View
>m : ViewOptions<Model>
var myView = new MyView(m); // was error
>myView : MyView
>new MyView(m) : MyView
>MyView : typeof MyView
>m : ViewOptions<Model>