1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
=== 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 : any
>mvc : any
>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 : any
>mvc : any
>IModel : IModel
>mvc.IController : any
>mvc : typeof mvc
>IController : IController<ModelType>
>ModelType : ModelType
}
}
declare module templa.mvc.composite {
>templa : typeof templa
>mvc : typeof mvc
>composite : any
interface ICompositeControllerModel extends mvc.IModel {
>ICompositeControllerModel : ICompositeControllerModel
>mvc.IModel : any
>mvc : typeof mvc
>IModel : IModel
getControllers(): mvc.IController<mvc.IModel>[];
>getControllers : () => IController<IModel>[]
>mvc : any
>IController : IController<ModelType>
>mvc : any
>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 : any
>mvc : any
>IModel : templa.mvc.IModel
>templa.mvc.IController : any
>templa.mvc : typeof templa.mvc
>templa : typeof templa
>mvc : typeof templa.mvc
>IController : templa.mvc.IController<ModelType>
>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 : any
>mvc : any
>IModel : templa.mvc.IModel
>templa.mvc.AbstractController : templa.mvc.AbstractController<ModelType>
>templa.mvc : typeof templa.mvc
>templa : typeof templa
>mvc : typeof templa.mvc
>AbstractController : typeof templa.mvc.AbstractController
>ModelType : ModelType
>IElementController : IElementController<ModelType>
>ModelType : ModelType
constructor() {
super();
>super() : void
>super : typeof templa.mvc.AbstractController
}
}
}
// 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 : any
>mvc : any
>composite : any
>ICompositeControllerModel : templa.mvc.composite.ICompositeControllerModel
>templa.dom.mvc.AbstractElementController : AbstractElementController<ModelType>
>templa.dom.mvc : typeof mvc
>templa.dom : typeof dom
>templa : typeof templa
>dom : typeof dom
>mvc : typeof mvc
>AbstractElementController : typeof AbstractElementController
>ModelType : ModelType
public _controllers: templa.mvc.IController<templa.mvc.IModel>[];
>_controllers : templa.mvc.IController<templa.mvc.IModel>[]
>templa : any
>mvc : any
>IController : templa.mvc.IController<ModelType>
>templa : any
>mvc : any
>IModel : templa.mvc.IModel
constructor() {
super();
>super() : void
>super : typeof AbstractElementController
this._controllers = [];
>this._controllers = [] : undefined[]
>this._controllers : templa.mvc.IController<templa.mvc.IModel>[]
>this : this
>_controllers : templa.mvc.IController<templa.mvc.IModel>[]
>[] : undefined[]
}
}
}
|