Skip to content

Commit 40af8ea

Browse files
authored
Remove the TypedefRenderer. (#3675)
* Remove the TypedefRenderer. * Remove type parameter parameter.
1 parent e01eab3 commit 40af8ea

File tree

3 files changed

+23
-61
lines changed

3 files changed

+23
-61
lines changed

lib/src/model/typedef.dart

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'package:analyzer/dart/element/type.dart';
77
import 'package:dartdoc/src/element_type.dart';
88
import 'package:dartdoc/src/model/comment_referable.dart';
99
import 'package:dartdoc/src/model/model.dart';
10-
import 'package:dartdoc/src/render/typedef_renderer.dart';
1110

1211
abstract class Typedef extends ModelElement
1312
with TypeParameters, Categorization
@@ -28,11 +27,10 @@ abstract class Typedef extends ModelElement
2827
String get nameWithGenerics => '$name${super.genericParameters}';
2928

3029
@override
31-
String get genericParameters => _renderer.renderGenericParameters(this);
30+
String get genericParameters => _renderTypeParameters();
3231

3332
@override
34-
String get linkedGenericParameters =>
35-
_renderer.renderLinkedGenericParameters(this);
33+
String get linkedGenericParameters => _renderTypeParameters(isLinked: true);
3634

3735
@override
3836
String get filePath => '${library.dirName}/${fileStructure.fileName}';
@@ -67,8 +65,6 @@ abstract class Typedef extends ModelElement
6765
.map((f) => getModelFor(f, library) as TypeParameter)
6866
.toList(growable: false);
6967

70-
TypedefRenderer get _renderer => const TypedefRendererHtml();
71-
7268
@override
7369
Iterable<CommentReferable> get referenceParents => [definingLibrary];
7470

@@ -78,6 +74,24 @@ abstract class Typedef extends ModelElement
7874

7975
@override
8076
Map<String, CommentReferable> get referenceChildren => _referenceChildren;
77+
78+
/// Render the the generic type parameters of this typedef.
79+
String _renderTypeParameters({bool isLinked = false}) {
80+
if (typeParameters.isEmpty) {
81+
return '';
82+
}
83+
84+
final buffer = StringBuffer('&lt;<wbr><span class="type-parameter">');
85+
buffer.writeAll(
86+
typeParameters.map((t) => [
87+
...t.annotations.map((a) => a.linkedNameWithParameters),
88+
isLinked ? t.linkedName : t.name,
89+
].join(' ')),
90+
'</span>, <span class="type-parameter">');
91+
buffer.write('</span>&gt;');
92+
93+
return buffer.toString();
94+
}
8195
}
8296

8397
/// A typedef referring to a non-function typedef that is nevertheless not

lib/src/render/typedef_renderer.dart

Lines changed: 0 additions & 48 deletions
This file was deleted.

test/end2end/model_test.dart

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import 'package:dartdoc/src/model/model.dart';
1717
import 'package:dartdoc/src/package_config_provider.dart';
1818
import 'package:dartdoc/src/package_meta.dart';
1919
import 'package:dartdoc/src/render/parameter_renderer.dart';
20-
import 'package:dartdoc/src/render/typedef_renderer.dart';
2120
import 'package:dartdoc/src/special_elements.dart';
2221
import 'package:dartdoc/src/warnings.dart';
2322
import 'package:test/test.dart';
@@ -4555,13 +4554,10 @@ String? topLevelFunction(int param1, bool param2, Cool coolBeans,
45554554
'NewGenericTypedef&lt;<wbr><span class="type-parameter">T</span>&gt;'));
45564555
});
45574556

4558-
// TODO(jdkoren): Not easy to call TypedefRenderer directly because Typedef
4559-
// inspects its element member. Find a better way when we start to isolate
4560-
// renderer tests.
4561-
test('TypedefRendererHtml renders genericParameters', () {
4562-
expect(TypedefRendererHtml().renderGenericParameters(processMessage),
4557+
test('TypedefRenderer renders genericParameters', () {
4558+
expect(processMessage.genericParameters,
45634559
equals('&lt;<wbr><span class="type-parameter">T</span>&gt;'));
4564-
expect(TypedefRendererHtml().renderGenericParameters(generic),
4560+
expect(generic.genericParameters,
45654561
equals('&lt;<wbr><span class="type-parameter">T</span>&gt;'));
45664562
});
45674563
});

0 commit comments

Comments
 (0)