@@ -528,6 +528,7 @@ class Class extends ModelElement implements EnclosedElement {
528528 // problem if we want to show that info later.
529529 List <ElementType > get mixins => _mixins;
530530
531+ @override
531532 String get nameWithGenerics {
532533 if (! modelType.isParameterizedType) return name;
533534 return '$name <${_typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
@@ -1221,15 +1222,24 @@ class Method extends ModelElement
12211222 implements EnclosedElement {
12221223 bool _isInherited = false ;
12231224 Class _enclosingClass;
1225+ List <TypeParameter > typeParameters = [];
12241226
12251227 Method (MethodElement element, Library library) : super (element, library) {
12261228 _modelType = new ElementType (_method.type, this );
1229+ _calcTypeParameters ();
12271230 }
12281231
12291232 Method .inherited (MethodElement element, this ._enclosingClass, Library library)
12301233 : super (element, library) {
12311234 _modelType = new ElementType (_method.type, this );
12321235 _isInherited = true ;
1236+ _calcTypeParameters ();
1237+ }
1238+
1239+ void _calcTypeParameters () {
1240+ typeParameters = _method.typeParameters.map ((f) {
1241+ return new TypeParameter (f, library);
1242+ }).toList ();
12331243 }
12341244
12351245 @override
@@ -1263,6 +1273,18 @@ class Method extends ModelElement
12631273
12641274 String get linkedReturnType => modelType.createLinkedReturnTypeName ();
12651275
1276+ @override
1277+ String get nameWithGenerics {
1278+ if (typeParameters.isEmpty) return name;
1279+ return '$name <${typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
1280+ }
1281+
1282+ @override
1283+ String get genericParameters {
1284+ if (typeParameters.isEmpty) return '' ;
1285+ return '<${typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
1286+ }
1287+
12661288 @override
12671289 Method get overriddenElement {
12681290 ClassElement parent = element.enclosingElement;
@@ -1482,6 +1504,10 @@ abstract class ModelElement implements Comparable, Nameable, Documentable {
14821504 @override
14831505 String get name => element.name;
14841506
1507+ String get nameWithGenerics => name;
1508+
1509+ String get genericParameters => '' ;
1510+
14851511 @override
14861512 String get oneLineDoc => _documentation.asOneLiner;
14871513
@@ -1673,11 +1699,7 @@ abstract class ModelElement implements Comparable, Nameable, Documentable {
16731699 }
16741700 }
16751701
1676- var classContent = '' ;
1677- if (isDeprecated) {
1678- classContent = 'class="deprecated" ' ;
1679- }
1680-
1702+ var classContent = isDeprecated ? 'class="deprecated" ' : '' ;
16811703 return '<a ${classContent }href="${href }">$name </a>' ;
16821704 }
16831705
@@ -1726,9 +1748,18 @@ abstract class ModelElement implements Comparable, Nameable, Documentable {
17261748class ModelFunction extends ModelElement
17271749 with SourceCodeMixin
17281750 implements EnclosedElement {
1751+ List <TypeParameter > typeParameters = [];
1752+
17291753 ModelFunction (FunctionElement element, Library library)
17301754 : super (element, library) {
17311755 _modelType = new ElementType (_func.type, this );
1756+ _calcTypeParameters ();
1757+ }
1758+
1759+ void _calcTypeParameters () {
1760+ typeParameters = _func.typeParameters.map ((f) {
1761+ return new TypeParameter (f, library);
1762+ }).toList ();
17321763 }
17331764
17341765 @override
@@ -1747,6 +1778,18 @@ class ModelFunction extends ModelElement
17471778
17481779 String get linkedReturnType => modelType.createLinkedReturnTypeName ();
17491780
1781+ @override
1782+ String get nameWithGenerics {
1783+ if (typeParameters.isEmpty) return name;
1784+ return '$name <${typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
1785+ }
1786+
1787+ @override
1788+ String get genericParameters {
1789+ if (typeParameters.isEmpty) return '' ;
1790+ return '<${typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
1791+ }
1792+
17501793 FunctionElement get _func => (element as FunctionElement );
17511794}
17521795
@@ -2240,6 +2283,7 @@ class Typedef extends ModelElement
22402283 ? modelType.createLinkedReturnTypeName ()
22412284 : _typedef.returnType.name;
22422285
2286+ @override
22432287 String get nameWithGenerics {
22442288 if (! modelType.isParameterizedType) return name;
22452289 return '$name <${_typeParameters .map ((t ) => t .name ).join (', ' )}>' ;
0 commit comments