Skip to content

Commit

Permalink
Render type parameters in generic parameters. (#3670)
Browse files Browse the repository at this point in the history
  • Loading branch information
kallentu committed Feb 22, 2024
1 parent d5661fc commit 47fe3b6
Show file tree
Hide file tree
Showing 2 changed files with 174 additions and 102 deletions.
16 changes: 16 additions & 0 deletions lib/src/render/parameter_renderer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,22 @@ abstract class ParameterRenderer {
: modelType.returnType.linkedName;
buffer.write(typeName(returnTypeName));
buffer.write(' ${parameterName(param.name)}');

// Writes out the generic type parameters for a function type.
// TODO(kallentu): Pull this type parameter generation into a helper for
// other renderers that also do this same work.
if (modelType is FunctionTypeElementType) {
if (modelType.typeFormals.isNotEmpty) {
if (!modelType.typeFormals.every((t) => t.name == 'dynamic')) {
buffer
..write('&lt;<wbr><span class="type-parameter">')
..writeAll(modelType.typeFormals.map((t) => t.name),
'</span>, <span class="type-parameter">')
..write('</span>&gt;');
}
}
}

if (!modelType.isTypedef && modelType is DefinedElementType) {
buffer.write('(');
buffer.write(renderLinkedParams(
Expand Down
Loading

0 comments on commit 47fe3b6

Please sign in to comment.