@@ -36,7 +36,13 @@ abstract class TemplateData<T extends Documentable> {
3636 String get kind => self is ModelElement ? (self as ModelElement ).kind : null ;
3737
3838 List get navLinks;
39- Documentable get parent => navLinks.isNotEmpty ? navLinks.last : null ;
39+ List get navLinksWithGenerics => [];
40+ Documentable get parent {
41+ if (navLinksWithGenerics.isEmpty) {
42+ return navLinks.isNotEmpty ? navLinks.last : null ;
43+ }
44+ return navLinksWithGenerics.last;
45+ }
4046
4147 bool get includeVersion => false ;
4248
@@ -236,7 +242,9 @@ class ConstructorTemplateData extends TemplateData<Constructor> {
236242 String get layoutTitle => _layoutTitle (
237243 constructor.name, constructor.fullKind, constructor.isDeprecated);
238244 @override
239- List get navLinks => [package, library, clazz];
245+ List get navLinks => [package, library];
246+ @override
247+ List get navLinksWithGenerics => [clazz];
240248 @override
241249 Iterable <Subnav > getSubNavItems () => _gatherSubnavForInvokable (constructor);
242250 @override
@@ -331,7 +339,9 @@ class MethodTemplateData extends TemplateData<Method> {
331339 'API docs for the ${method .name } method from the ${clazz .name } class, '
332340 'for the Dart programming language.' ;
333341 @override
334- List get navLinks => [package, library, clazz];
342+ List get navLinks => [package, library];
343+ @override
344+ List get navLinksWithGenerics => [clazz];
335345 @override
336346 Iterable <Subnav > getSubNavItems () => _gatherSubnavForInvokable (method);
337347 @override
@@ -361,7 +371,9 @@ class PropertyTemplateData extends TemplateData<Field> {
361371 'API docs for the ${property .name } $type from the ${clazz .name } class, '
362372 'for the Dart programming language.' ;
363373 @override
364- List get navLinks => [package, library, clazz];
374+ List get navLinks => [package, library];
375+ @override
376+ List get navLinksWithGenerics => [clazz];
365377 @override
366378 String get htmlBase => '../..' ;
367379
0 commit comments