Skip to content

Commit 4f84967

Browse files
authored
Remove the TypeImplementing mixin; unnecessary (#3705)
This mixin on `InheritingContainer` was mixed into all 3 types that extended `InheritingContainer`, so it sort of just carved out some functionality. But I think we've agreed that the amount of carving out has made dartdoc harder to read. This mixin provided 2 fields and 7 getters (2 of which are overrides), which I have just merged into `InheritingContainer, which I have just merged into `InheritingContainer`. I actually made it a little simpler as well, removing `publicImplementers`, which was unnecessary, and renamed `interfaces` to `directInterfaces`, and made that `@visibleForTesting`. Also while working here I saw: * `_isInheritingFrom` only ever takes a non-nullable; simplify that.
1 parent 7b50ea4 commit 4f84967

8 files changed

+222
-359
lines changed

Diff for: lib/src/generator/templates.aot_renderers_for_html.dart

+36-104
Original file line numberDiff line numberDiff line change
@@ -2634,32 +2634,8 @@ String _renderClass_partial_documentation_4(Class context1) =>
26342634
String _renderClass_partial_super_chain_5(Class context1) =>
26352635
_deduplicated_lib_templates__super_chain_html(context1);
26362636

2637-
String _renderClass_partial_interfaces_6(Class context1) {
2638-
final buffer = StringBuffer();
2639-
if (context1.hasPublicInterfaces) {
2640-
buffer.writeln();
2641-
buffer.write('''
2642-
<dt>Implemented types</dt>
2643-
<dd>
2644-
<ul class="comma-separated ''');
2645-
buffer.writeEscaped(context1.relationshipsClass);
2646-
buffer.write('''">''');
2647-
var context2 = context1.publicInterfaces;
2648-
for (var context3 in context2) {
2649-
buffer.writeln();
2650-
buffer.write('''
2651-
<li>''');
2652-
buffer.write(context3.linkedName);
2653-
buffer.write('''</li>''');
2654-
}
2655-
buffer.writeln();
2656-
buffer.write('''
2657-
</ul>
2658-
</dd>''');
2659-
}
2660-
2661-
return buffer.toString();
2662-
}
2637+
String _renderClass_partial_interfaces_6(Class context1) =>
2638+
_deduplicated_lib_templates__interfaces_html(context1);
26632639

26642640
String _renderClass_partial_mixed_in_types_7(Class context1) {
26652641
final buffer = StringBuffer();
@@ -2761,32 +2737,8 @@ String _renderEnum_partial_documentation_4(Enum context1) =>
27612737
String _renderEnum_partial_super_chain_5(Enum context1) =>
27622738
_deduplicated_lib_templates__super_chain_html(context1);
27632739

2764-
String _renderEnum_partial_interfaces_6(Enum context1) {
2765-
final buffer = StringBuffer();
2766-
if (context1.hasPublicInterfaces) {
2767-
buffer.writeln();
2768-
buffer.write('''
2769-
<dt>Implemented types</dt>
2770-
<dd>
2771-
<ul class="comma-separated ''');
2772-
buffer.writeEscaped(context1.relationshipsClass);
2773-
buffer.write('''">''');
2774-
var context2 = context1.publicInterfaces;
2775-
for (var context3 in context2) {
2776-
buffer.writeln();
2777-
buffer.write('''
2778-
<li>''');
2779-
buffer.write(context3.linkedName);
2780-
buffer.write('''</li>''');
2781-
}
2782-
buffer.writeln();
2783-
buffer.write('''
2784-
</ul>
2785-
</dd>''');
2786-
}
2787-
2788-
return buffer.toString();
2789-
}
2740+
String _renderEnum_partial_interfaces_6(Enum context1) =>
2741+
_deduplicated_lib_templates__interfaces_html(context1);
27902742

27912743
String _renderEnum_partial_mixed_in_types_7(Enum context1) {
27922744
final buffer = StringBuffer();
@@ -2921,32 +2873,8 @@ String _renderExtensionType_partial_categorization_3(ExtensionType context1) =>
29212873
String _renderExtensionType_partial_documentation_4(ExtensionType context1) =>
29222874
_deduplicated_lib_templates__documentation_html(context1);
29232875

2924-
String _renderExtensionType_partial_interfaces_5(ExtensionType context1) {
2925-
final buffer = StringBuffer();
2926-
if (context1.hasPublicInterfaces) {
2927-
buffer.writeln();
2928-
buffer.write('''
2929-
<dt>Implemented types</dt>
2930-
<dd>
2931-
<ul class="comma-separated ''');
2932-
buffer.writeEscaped(context1.relationshipsClass);
2933-
buffer.write('''">''');
2934-
var context2 = context1.publicInterfaces;
2935-
for (var context3 in context2) {
2936-
buffer.writeln();
2937-
buffer.write('''
2938-
<li>''');
2939-
buffer.write(context3.linkedName);
2940-
buffer.write('''</li>''');
2941-
}
2942-
buffer.writeln();
2943-
buffer.write('''
2944-
</ul>
2945-
</dd>''');
2946-
}
2947-
2948-
return buffer.toString();
2949-
}
2876+
String _renderExtensionType_partial_interfaces_5(ExtensionType context1) =>
2877+
_deduplicated_lib_templates__interfaces_html(context1);
29502878

29512879
String _renderExtensionType_partial_container_annotations_6(
29522880
ExtensionType context1) =>
@@ -3270,32 +3198,8 @@ String _renderMixin_partial_documentation_4(Mixin context1) =>
32703198
String _renderMixin_partial_super_chain_5(Mixin context1) =>
32713199
_deduplicated_lib_templates__super_chain_html(context1);
32723200

3273-
String _renderMixin_partial_interfaces_6(Mixin context1) {
3274-
final buffer = StringBuffer();
3275-
if (context1.hasPublicInterfaces) {
3276-
buffer.writeln();
3277-
buffer.write('''
3278-
<dt>Implemented types</dt>
3279-
<dd>
3280-
<ul class="comma-separated ''');
3281-
buffer.writeEscaped(context1.relationshipsClass);
3282-
buffer.write('''">''');
3283-
var context2 = context1.publicInterfaces;
3284-
for (var context3 in context2) {
3285-
buffer.writeln();
3286-
buffer.write('''
3287-
<li>''');
3288-
buffer.write(context3.linkedName);
3289-
buffer.write('''</li>''');
3290-
}
3291-
buffer.writeln();
3292-
buffer.write('''
3293-
</ul>
3294-
</dd>''');
3295-
}
3296-
3297-
return buffer.toString();
3298-
}
3201+
String _renderMixin_partial_interfaces_6(Mixin context1) =>
3202+
_deduplicated_lib_templates__interfaces_html(context1);
32993203

33003204
String _renderMixin_partial_annotations_7(Mixin context1) =>
33013205
_deduplicated_lib_templates__annotations_html(context1);
@@ -4518,6 +4422,34 @@ String _deduplicated_lib_templates__super_chain_html(
45184422
return buffer.toString();
45194423
}
45204424

4425+
String _deduplicated_lib_templates__interfaces_html(
4426+
InheritingContainer context0) {
4427+
final buffer = StringBuffer();
4428+
if (context0.hasPublicInterfaces) {
4429+
buffer.writeln();
4430+
buffer.write('''
4431+
<dt>Implemented types</dt>
4432+
<dd>
4433+
<ul class="comma-separated ''');
4434+
buffer.writeEscaped(context0.relationshipsClass);
4435+
buffer.write('''">''');
4436+
var context1 = context0.publicInterfaces;
4437+
for (var context2 in context1) {
4438+
buffer.writeln();
4439+
buffer.write('''
4440+
<li>''');
4441+
buffer.write(context2.linkedName);
4442+
buffer.write('''</li>''');
4443+
}
4444+
buffer.writeln();
4445+
buffer.write('''
4446+
</ul>
4447+
</dd>''');
4448+
}
4449+
4450+
return buffer.toString();
4451+
}
4452+
45214453
String _deduplicated_lib_templates__container_annotations_html(
45224454
Container context0) {
45234455
final buffer = StringBuffer();

0 commit comments

Comments
 (0)