@@ -173,34 +173,51 @@ class LibraryTemplateData extends TemplateData<Library>
173173}
174174
175175/// 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 > {
179177 MixinTemplateData (
180178 TemplateOptions htmlOptions,
181179 PackageGraph packageGraph,
182180 Library library,
183- this . mixin ,
181+ Mixin mixin ,
184182 LibrarySidebar _sidebarForLibrary,
185183 ContainerSidebar _sidebarForContainer)
186184 : super (htmlOptions, packageGraph, library, mixin , _sidebarForLibrary,
187185 _sidebarForContainer);
188186
187+ Mixin get mixin => clazz;
188+
189189 @override
190190 Mixin get self => mixin ;
191191}
192192
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+
193209/// 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 >
195212 implements TemplateDataWithLibrary <T >, TemplateDataWithContainer <T > {
196- final Class clazz;
213+ final InheritingContainer clazz;
197214 @override
198215 final Library library;
199216 Class _objectType;
200217 final LibrarySidebar _sidebarForLibrary;
201218 final ContainerSidebar _sidebarForContainer;
202219
203- ClassTemplateData (
220+ InheritingContainerTemplateData (
204221 TemplateOptions htmlOptions,
205222 PackageGraph packageGraph,
206223 this .library,
@@ -335,7 +352,7 @@ class ConstructorTemplateData extends TemplateData<Constructor>
335352 'for the Dart programming language.' ;
336353}
337354
338- class EnumTemplateData extends ClassTemplateData <Enum > {
355+ class EnumTemplateData extends InheritingContainerTemplateData <Enum > {
339356 EnumTemplateData (
340357 TemplateOptions htmlOptions,
341358 PackageGraph packageGraph,
0 commit comments