Skip to content

Commit 47fe3b6

Browse files
authored
Render type parameters in generic parameters. (#3670)
1 parent d5661fc commit 47fe3b6

File tree

2 files changed

+174
-102
lines changed

2 files changed

+174
-102
lines changed

lib/src/render/parameter_renderer.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,22 @@ abstract class ParameterRenderer {
164164
: modelType.returnType.linkedName;
165165
buffer.write(typeName(returnTypeName));
166166
buffer.write(' ${parameterName(param.name)}');
167+
168+
// Writes out the generic type parameters for a function type.
169+
// TODO(kallentu): Pull this type parameter generation into a helper for
170+
// other renderers that also do this same work.
171+
if (modelType is FunctionTypeElementType) {
172+
if (modelType.typeFormals.isNotEmpty) {
173+
if (!modelType.typeFormals.every((t) => t.name == 'dynamic')) {
174+
buffer
175+
..write('&lt;<wbr><span class="type-parameter">')
176+
..writeAll(modelType.typeFormals.map((t) => t.name),
177+
'</span>, <span class="type-parameter">')
178+
..write('</span>&gt;');
179+
}
180+
}
181+
}
182+
167183
if (!modelType.isTypedef && modelType is DefinedElementType) {
168184
buffer.write('(');
169185
buffer.write(renderLinkedParams(

0 commit comments

Comments
 (0)