@@ -173,34 +173,51 @@ class LibraryTemplateData extends TemplateData<Library>
173
173
}
174
174
175
175
/// Template data for Dart 2.1-style mixin declarations.
176
- class MixinTemplateData extends ClassTemplateData <Mixin > {
177
- final Mixin mixin ;
178
-
176
+ class MixinTemplateData extends InheritingContainerTemplateData <Mixin > {
179
177
MixinTemplateData (
180
178
TemplateOptions htmlOptions,
181
179
PackageGraph packageGraph,
182
180
Library library,
183
- this . mixin ,
181
+ Mixin mixin ,
184
182
LibrarySidebar _sidebarForLibrary,
185
183
ContainerSidebar _sidebarForContainer)
186
184
: super (htmlOptions, packageGraph, library, mixin , _sidebarForLibrary,
187
185
_sidebarForContainer);
188
186
187
+ Mixin get mixin => clazz;
188
+
189
189
@override
190
190
Mixin get self => mixin ;
191
191
}
192
192
193
+ /// Template data for Dart classes.
194
+ class ClassTemplateData extends InheritingContainerTemplateData <Class > {
195
+ ClassTemplateData (
196
+ TemplateOptions htmlOptions,
197
+ PackageGraph packageGraph,
198
+ Library library,
199
+ Class clazz,
200
+ LibrarySidebar _sidebarForLibrary,
201
+ ContainerSidebar _sidebarForContainer)
202
+ : super (htmlOptions, packageGraph, library, clazz, _sidebarForLibrary,
203
+ _sidebarForContainer);
204
+
205
+ @override
206
+ Class get clazz => super .clazz;
207
+ }
208
+
193
209
/// Base template data class for [Class] , [Enum] , and [Mixin] .
194
- class ClassTemplateData <T extends Class > extends TemplateData <T >
210
+ abstract class InheritingContainerTemplateData <T extends InheritingContainer >
211
+ extends TemplateData <T >
195
212
implements TemplateDataWithLibrary <T >, TemplateDataWithContainer <T > {
196
- final Class clazz;
213
+ final InheritingContainer clazz;
197
214
@override
198
215
final Library library;
199
216
Class _objectType;
200
217
final LibrarySidebar _sidebarForLibrary;
201
218
final ContainerSidebar _sidebarForContainer;
202
219
203
- ClassTemplateData (
220
+ InheritingContainerTemplateData (
204
221
TemplateOptions htmlOptions,
205
222
PackageGraph packageGraph,
206
223
this .library,
@@ -335,7 +352,7 @@ class ConstructorTemplateData extends TemplateData<Constructor>
335
352
'for the Dart programming language.' ;
336
353
}
337
354
338
- class EnumTemplateData extends ClassTemplateData <Enum > {
355
+ class EnumTemplateData extends InheritingContainerTemplateData <Enum > {
339
356
EnumTemplateData (
340
357
TemplateOptions htmlOptions,
341
358
PackageGraph packageGraph,
0 commit comments