141 lines
3.5 KiB
Plaintext
141 lines
3.5 KiB
Plaintext
=== tests/cases/compiler/declFileGenericType2.ts ===
|
|
|
|
declare module templa.mvc {
|
|
>templa : typeof templa
|
|
>mvc : typeof mvc
|
|
|
|
interface IModel {
|
|
>IModel : IModel
|
|
}
|
|
}
|
|
declare module templa.mvc {
|
|
>templa : typeof templa
|
|
>mvc : typeof mvc
|
|
|
|
interface IController<ModelType extends templa.mvc.IModel> {
|
|
>IController : IController<ModelType>
|
|
>ModelType : ModelType
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
}
|
|
}
|
|
declare module templa.mvc {
|
|
>templa : typeof templa
|
|
>mvc : typeof mvc
|
|
|
|
class AbstractController<ModelType extends templa.mvc.IModel> implements mvc.IController<ModelType> {
|
|
>AbstractController : AbstractController<ModelType>
|
|
>ModelType : ModelType
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
>mvc : mvc
|
|
>IController : IController
|
|
>ModelType : ModelType
|
|
}
|
|
}
|
|
declare module templa.mvc.composite {
|
|
>templa : typeof templa
|
|
>mvc : typeof mvc
|
|
>composite : composite
|
|
|
|
interface ICompositeControllerModel extends mvc.IModel {
|
|
>ICompositeControllerModel : ICompositeControllerModel
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
|
|
getControllers(): mvc.IController<mvc.IModel>[];
|
|
>getControllers : () => IController<IModel>[]
|
|
>mvc : mvc
|
|
>IController : IController
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
}
|
|
}
|
|
module templa.dom.mvc {
|
|
>templa : typeof templa
|
|
>dom : typeof dom
|
|
>mvc : typeof mvc
|
|
|
|
export interface IElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.IController<ModelType> {
|
|
>IElementController : IElementController<ModelType>
|
|
>ModelType : ModelType
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IController : IController
|
|
>ModelType : ModelType
|
|
}
|
|
}
|
|
// Module
|
|
module templa.dom.mvc {
|
|
>templa : typeof templa
|
|
>dom : typeof dom
|
|
>mvc : typeof mvc
|
|
|
|
export class AbstractElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.AbstractController<ModelType> implements IElementController<ModelType> {
|
|
>AbstractElementController : AbstractElementController<ModelType>
|
|
>ModelType : ModelType
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>AbstractController : AbstractController
|
|
>ModelType : ModelType
|
|
>IElementController : IElementController
|
|
>ModelType : ModelType
|
|
|
|
constructor() {
|
|
super();
|
|
>super() : void
|
|
}
|
|
}
|
|
}
|
|
// Module
|
|
module templa.dom.mvc.composite {
|
|
>templa : typeof templa
|
|
>dom : typeof dom
|
|
>mvc : typeof mvc
|
|
>composite : typeof composite
|
|
|
|
export class AbstractCompositeElementController<ModelType extends templa.mvc.composite.ICompositeControllerModel> extends templa.dom.mvc.AbstractElementController<ModelType> {
|
|
>AbstractCompositeElementController : AbstractCompositeElementController<ModelType>
|
|
>ModelType : ModelType
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>composite : composite
|
|
>ICompositeControllerModel : ICompositeControllerModel
|
|
>templa : templa
|
|
>dom : dom
|
|
>mvc : mvc
|
|
>AbstractElementController : AbstractElementController
|
|
>ModelType : ModelType
|
|
|
|
public _controllers: templa.mvc.IController<templa.mvc.IModel>[];
|
|
>_controllers : IController<IModel>[]
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IController : IController
|
|
>templa : templa
|
|
>mvc : mvc
|
|
>IModel : IModel
|
|
|
|
constructor() {
|
|
super();
|
|
>super() : void
|
|
|
|
this._controllers = [];
|
|
>this._controllers = [] : IController<IModel>[]
|
|
>this._controllers : IController<IModel>[]
|
|
>this : AbstractCompositeElementController<ModelType>
|
|
>_controllers : IController<IModel>[]
|
|
>[] : IController<IModel>[]
|
|
}
|
|
}
|
|
}
|
|
|