=== tests/cases/compiler/declFileGenericType2.ts === declare module templa.mvc { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) interface IModel { >IModel : IModel, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) } } declare module templa.mvc { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) interface IController { >IController : IController, Symbol(IController, Decl(declFileGenericType2.ts, 5, 27)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 6, 26)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : IModel, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) } } declare module templa.mvc { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) class AbstractController implements mvc.IController { >AbstractController : AbstractController, Symbol(AbstractController, Decl(declFileGenericType2.ts, 9, 27)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 10, 29)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : IModel, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) >mvc.IController : any, Symbol(IController, Decl(declFileGenericType2.ts, 5, 27)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : IController, Symbol(IController, Decl(declFileGenericType2.ts, 5, 27)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 10, 29)) } } declare module templa.mvc.composite { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >composite : any, Symbol(composite, Decl(declFileGenericType2.ts, 13, 26)) interface ICompositeControllerModel extends mvc.IModel { >ICompositeControllerModel : ICompositeControllerModel, Symbol(ICompositeControllerModel, Decl(declFileGenericType2.ts, 13, 37)) >mvc.IModel : any, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : IModel, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) getControllers(): mvc.IController[]; >getControllers : () => IController[], Symbol(getControllers, Decl(declFileGenericType2.ts, 14, 60)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : IController, Symbol(IController, Decl(declFileGenericType2.ts, 5, 27)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : IModel, Symbol(IModel, Decl(declFileGenericType2.ts, 1, 27)) } } module templa.dom.mvc { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >dom : typeof dom, Symbol(dom, Decl(declFileGenericType2.ts, 18, 14), Decl(declFileGenericType2.ts, 23, 14), Decl(declFileGenericType2.ts, 32, 14)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 18, 18), Decl(declFileGenericType2.ts, 23, 18), Decl(declFileGenericType2.ts, 32, 18)) export interface IElementController extends templa.mvc.IController { >IElementController : IElementController, Symbol(IElementController, Decl(declFileGenericType2.ts, 18, 23)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 19, 40)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : templa.mvc.IModel, Symbol(templa.mvc.IModel, Decl(declFileGenericType2.ts, 1, 27)) >templa.mvc.IController : any, Symbol(templa.mvc.IController, Decl(declFileGenericType2.ts, 5, 27)) >templa.mvc : typeof templa.mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof templa.mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : templa.mvc.IController, Symbol(templa.mvc.IController, Decl(declFileGenericType2.ts, 5, 27)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 19, 40)) } } // Module module templa.dom.mvc { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >dom : typeof dom, Symbol(dom, Decl(declFileGenericType2.ts, 18, 14), Decl(declFileGenericType2.ts, 23, 14), Decl(declFileGenericType2.ts, 32, 14)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 18, 18), Decl(declFileGenericType2.ts, 23, 18), Decl(declFileGenericType2.ts, 32, 18)) export class AbstractElementController extends templa.mvc.AbstractController implements IElementController { >AbstractElementController : AbstractElementController, Symbol(AbstractElementController, Decl(declFileGenericType2.ts, 23, 23)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 25, 43)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : templa.mvc.IModel, Symbol(templa.mvc.IModel, Decl(declFileGenericType2.ts, 1, 27)) >templa.mvc.AbstractController : any, Symbol(templa.mvc.AbstractController, Decl(declFileGenericType2.ts, 9, 27)) >templa.mvc : typeof templa.mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : typeof templa.mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >AbstractController : templa.mvc.AbstractController, Symbol(templa.mvc.AbstractController, Decl(declFileGenericType2.ts, 9, 27)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 25, 43)) >IElementController : IElementController, Symbol(IElementController, Decl(declFileGenericType2.ts, 18, 23)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 25, 43)) constructor() { super(); >super() : void >super : typeof templa.mvc.AbstractController, Symbol(templa.mvc.AbstractController, Decl(declFileGenericType2.ts, 9, 27)) } } } // Module module templa.dom.mvc.composite { >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >dom : typeof dom, Symbol(dom, Decl(declFileGenericType2.ts, 18, 14), Decl(declFileGenericType2.ts, 23, 14), Decl(declFileGenericType2.ts, 32, 14)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 18, 18), Decl(declFileGenericType2.ts, 23, 18), Decl(declFileGenericType2.ts, 32, 18)) >composite : typeof composite, Symbol(composite, Decl(declFileGenericType2.ts, 32, 22)) export class AbstractCompositeElementController extends templa.dom.mvc.AbstractElementController { >AbstractCompositeElementController : AbstractCompositeElementController, Symbol(AbstractCompositeElementController, Decl(declFileGenericType2.ts, 32, 33)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 33, 52)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >composite : any, Symbol(templa.mvc.composite, Decl(declFileGenericType2.ts, 13, 26)) >ICompositeControllerModel : templa.mvc.composite.ICompositeControllerModel, Symbol(templa.mvc.composite.ICompositeControllerModel, Decl(declFileGenericType2.ts, 13, 37)) >templa.dom.mvc.AbstractElementController : any, Symbol(AbstractElementController, Decl(declFileGenericType2.ts, 23, 23)) >templa.dom.mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 18, 18), Decl(declFileGenericType2.ts, 23, 18), Decl(declFileGenericType2.ts, 32, 18)) >templa.dom : typeof dom, Symbol(dom, Decl(declFileGenericType2.ts, 18, 14), Decl(declFileGenericType2.ts, 23, 14), Decl(declFileGenericType2.ts, 32, 14)) >templa : typeof templa, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >dom : typeof dom, Symbol(dom, Decl(declFileGenericType2.ts, 18, 14), Decl(declFileGenericType2.ts, 23, 14), Decl(declFileGenericType2.ts, 32, 14)) >mvc : typeof mvc, Symbol(mvc, Decl(declFileGenericType2.ts, 18, 18), Decl(declFileGenericType2.ts, 23, 18), Decl(declFileGenericType2.ts, 32, 18)) >AbstractElementController : AbstractElementController, Symbol(AbstractElementController, Decl(declFileGenericType2.ts, 23, 23)) >ModelType : ModelType, Symbol(ModelType, Decl(declFileGenericType2.ts, 33, 52)) public _controllers: templa.mvc.IController[]; >_controllers : templa.mvc.IController[], Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IController : templa.mvc.IController, Symbol(templa.mvc.IController, Decl(declFileGenericType2.ts, 5, 27)) >templa : any, Symbol(templa, Decl(declFileGenericType2.ts, 0, 0), Decl(declFileGenericType2.ts, 4, 1), Decl(declFileGenericType2.ts, 8, 1), Decl(declFileGenericType2.ts, 12, 1), Decl(declFileGenericType2.ts, 17, 1), Decl(declFileGenericType2.ts, 21, 1), Decl(declFileGenericType2.ts, 30, 1)) >mvc : any, Symbol(mvc, Decl(declFileGenericType2.ts, 1, 22), Decl(declFileGenericType2.ts, 5, 22), Decl(declFileGenericType2.ts, 9, 22), Decl(declFileGenericType2.ts, 13, 22)) >IModel : templa.mvc.IModel, Symbol(templa.mvc.IModel, Decl(declFileGenericType2.ts, 1, 27)) constructor() { super(); >super() : void >super : typeof AbstractElementController, Symbol(AbstractElementController, Decl(declFileGenericType2.ts, 23, 23)) this._controllers = []; >this._controllers = [] : undefined[] >this._controllers : templa.mvc.IController[], Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) >this : AbstractCompositeElementController, Symbol(AbstractCompositeElementController, Decl(declFileGenericType2.ts, 32, 33)) >_controllers : templa.mvc.IController[], Symbol(_controllers, Decl(declFileGenericType2.ts, 33, 179)) >[] : undefined[] } } }