@@ -99,9 +99,9 @@ abstract class TemplateData<T extends Documentable> extends TemplateDataBase {
9999 @override
100100 T get self;
101101
102- String ? get aboveSidebarPath;
102+ String ? get aboveSidebarPath => self.aboveSidebarPath ;
103103
104- String ? get belowSidebarPath;
104+ String ? get belowSidebarPath => self.belowSidebarPath ;
105105
106106 String _layoutTitle (String name, String kind, {required bool isDeprecated}) =>
107107 _packageGraph.rendererFactory.templateRenderer
@@ -135,11 +135,6 @@ class PackageTemplateData extends TemplateData<Package> {
135135 @override
136136 Package get self => package;
137137
138- @override
139- String ? get aboveSidebarPath => null ;
140- @override
141- String ? get belowSidebarPath => null ;
142-
143138 @override
144139 String get layoutTitle =>
145140 _layoutTitle (package.name, package.kind.toString (), isDeprecated: false );
@@ -201,11 +196,6 @@ class CategoryTemplateData extends TemplateData<Category>
201196
202197 @override
203198 Category get self => category;
204-
205- @override
206- String ? get aboveSidebarPath => null ;
207- @override
208- String ? get belowSidebarPath => null ;
209199}
210200
211201class LibraryTemplateData extends TemplateData <Library >
@@ -230,11 +220,6 @@ class LibraryTemplateData extends TemplateData<Library>
230220
231221 @override
232222 Library get self => library;
233-
234- @override
235- String ? get aboveSidebarPath => self.aboveSidebarPath;
236- @override
237- String ? get belowSidebarPath => self.belowSidebarPath;
238223}
239224
240225/// Template data for Mixin declarations.
@@ -290,11 +275,6 @@ abstract class InheritingContainerTemplateData<T extends InheritingContainer>
290275 @override
291276 T get self => clazz;
292277
293- @override
294- String ? get aboveSidebarPath => self.aboveSidebarPath;
295- @override
296- String ? get belowSidebarPath => self.belowSidebarPath;
297-
298278 @override
299279 String get title =>
300280 '${clazz .name } ${clazz .kind } - ${library .name } library - Dart API' ;
@@ -332,11 +312,6 @@ class ExtensionTemplateData<T extends Extension> extends TemplateData<T>
332312 @override
333313 T get self => extension ;
334314
335- @override
336- String ? get aboveSidebarPath => self.aboveSidebarPath;
337- @override
338- String ? get belowSidebarPath => self.belowSidebarPath;
339-
340315 @override
341316 String get title =>
342317 '${extension .name } ${extension .kind } - ${library .name } library - Dart API' ;
@@ -353,6 +328,45 @@ class ExtensionTemplateData<T extends Extension> extends TemplateData<T>
353328 List <Documentable > get navLinks => [_packageGraph.defaultPackage, library];
354329}
355330
331+ final class ExtensionTypeTemplateData <T extends ExtensionType >
332+ extends TemplateData <T >
333+ with OneDirectoryDown
334+ implements TemplateDataWithLibrary <T >, TemplateDataWithContainer <T > {
335+ final T extensionType;
336+ @override
337+ final Library library;
338+
339+ ExtensionTypeTemplateData (
340+ super .htmlOptions,
341+ super .packageGraph,
342+ this .library,
343+ this .extensionType,
344+ );
345+
346+ @override
347+ Container get container => extensionType;
348+
349+ @override
350+ T get self => extensionType;
351+
352+ @override
353+ String get title =>
354+ '${extensionType .name } ${extensionType .kind } - ${library .name } library -'
355+ ' Dart API' ;
356+ @override
357+ String get metaDescription =>
358+ 'API docs for the ${extensionType .name } ${extensionType .kind } from the '
359+ '${library .name } library, for the Dart programming language.' ;
360+
361+ @override
362+ String get layoutTitle =>
363+ _layoutTitle (extensionType.name, extensionType.kind.toString (),
364+ isDeprecated: false );
365+
366+ @override
367+ List <Documentable > get navLinks => [_packageGraph.defaultPackage, library];
368+ }
369+
356370class ConstructorTemplateData extends TemplateData <Constructor >
357371 with TwoDirectoriesDown
358372 implements
@@ -376,11 +390,6 @@ class ConstructorTemplateData extends TemplateData<Constructor>
376390 @override
377391 Constructor get self => constructor;
378392
379- @override
380- String ? get aboveSidebarPath => self.aboveSidebarPath;
381- @override
382- String ? get belowSidebarPath => self.belowSidebarPath;
383-
384393 @override
385394 String get layoutTitle => _layoutTitle (constructor.name, constructor.fullKind,
386395 isDeprecated: constructor.isDeprecated);
@@ -428,11 +437,6 @@ class FunctionTemplateData extends TemplateData<ModelFunction>
428437 @override
429438 ModelFunction get self => function;
430439
431- @override
432- String ? get aboveSidebarPath => self.aboveSidebarPath;
433- @override
434- String ? get belowSidebarPath => self.belowSidebarPath;
435-
436440 @override
437441 String get title =>
438442 '${function .name } function - ${library .name } library - Dart API' ;
@@ -470,11 +474,6 @@ class MethodTemplateData extends TemplateData<Method>
470474 @override
471475 Method get self => method;
472476
473- @override
474- String ? get aboveSidebarPath => self.aboveSidebarPath;
475- @override
476- String ? get belowSidebarPath => self.belowSidebarPath;
477-
478477 @override
479478 String get title =>
480479 '${method .name } method - ${container .name } ${container .kind } - '
@@ -515,11 +514,6 @@ class PropertyTemplateData extends TemplateData<Field>
515514 @override
516515 Field get self => property;
517516
518- @override
519- String ? get aboveSidebarPath => self.aboveSidebarPath;
520- @override
521- String ? get belowSidebarPath => self.belowSidebarPath;
522-
523517 @override
524518 String get title => '${property .name } ${property .kind } - '
525519 '${container .name } ${container .kind } - '
@@ -555,11 +549,6 @@ class TypedefTemplateData extends TemplateData<Typedef>
555549 @override
556550 Typedef get self => typeDef;
557551
558- @override
559- String ? get aboveSidebarPath => self.aboveSidebarPath;
560- @override
561- String ? get belowSidebarPath => self.belowSidebarPath;
562-
563552 @override
564553 String get title =>
565554 '${typeDef .name } typedef - ${library .name } library - Dart API' ;
@@ -592,11 +581,6 @@ class TopLevelPropertyTemplateData extends TemplateData<TopLevelVariable>
592581 @override
593582 TopLevelVariable get self => property;
594583
595- @override
596- String ? get aboveSidebarPath => self.aboveSidebarPath;
597- @override
598- String ? get belowSidebarPath => self.belowSidebarPath;
599-
600584 @override
601585 String get title =>
602586 '${property .name } $_type - ${library .name } library - Dart API' ;
0 commit comments