Skip to content

Commit d5661fc

Browse files
authored
Remove CallableElementType. (#3668)
1 parent 13ca5bc commit d5661fc

File tree

4 files changed

+28
-86
lines changed

4 files changed

+28
-86
lines changed

lib/src/element_type.dart

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -406,27 +406,6 @@ mixin Rendered implements ElementType {
406406
ElementTypeRenderer<ElementType> get _renderer;
407407
}
408408

409-
/// A callable type that may or may not be backed by a declaration using the
410-
/// generic function syntax.
411-
class CallableElementType extends DefinedElementType with Rendered, Callable {
412-
CallableElementType._(
413-
FunctionType super.t, super.library, super.packageGraph, super.element)
414-
: super._();
415-
416-
@override
417-
String get name => super.name.isNotEmpty ? super.name : 'Function';
418-
419-
@override
420-
ElementTypeRenderer<CallableElementType> get _renderer =>
421-
const CallableElementTypeRendererHtml();
422-
423-
@override
424-
late final List<ElementType> typeArguments = type.alias?.typeArguments
425-
.map((f) => modelBuilder.typeFrom(f, library))
426-
.toList(growable: false) ??
427-
const [];
428-
}
429-
430409
extension on DartType {
431410
/// The dartdoc nullability suffix for this type in [library].
432411
String nullabilitySuffixWithin(Library library) {

lib/src/render/element_type_renderer.dart

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -176,37 +176,3 @@ class AliasedElementTypeRendererHtml
176176
elementType.aliasArguments,
177177
);
178178
}
179-
180-
class CallableElementTypeRendererHtml
181-
extends ElementTypeRenderer<CallableElementType> {
182-
const CallableElementTypeRendererHtml();
183-
184-
@override
185-
String renderLinkedName(CallableElementType elementType) {
186-
var buffer = StringBuffer()
187-
..write(elementType.nameWithGenerics)
188-
..write('(')
189-
..write(const ParameterRendererHtml()
190-
.renderLinkedParams(elementType.modelElement.parameters,
191-
showNames: false)
192-
.trim())
193-
..write(') → ')
194-
..write(elementType.returnType.linkedName);
195-
return wrapNullabilityParens(elementType, buffer.toString());
196-
}
197-
198-
@override
199-
String renderNameWithGenerics(CallableElementType elementType) {
200-
var buffer = StringBuffer()..write(elementType.name);
201-
if (elementType.typeArguments.isNotEmpty &&
202-
!elementType.typeArguments.every((t) => t.name == 'dynamic')) {
203-
buffer
204-
..write('&lt;')
205-
..writeAll(
206-
elementType.typeArguments.map((t) => t.nameWithGenerics), ', ')
207-
..write('>');
208-
}
209-
buffer.write(elementType.nullabilitySuffix);
210-
return buffer.toString();
211-
}
212-
}

lib/src/render/parameter_renderer.dart

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ abstract class ParameterRenderer {
6565
String required(String required);
6666

6767
String renderLinkedParams(List<Parameter> parameters,
68-
{bool showMetadata = true, bool showNames = true}) {
68+
{bool showMetadata = true}) {
6969
var positionalParams = parameters
7070
.where((Parameter p) => p.isRequiredPositional)
7171
.toList(growable: false);
@@ -77,27 +77,33 @@ abstract class ParameterRenderer {
7777

7878
var buffer = StringBuffer();
7979
if (positionalParams.isNotEmpty) {
80-
_renderLinkedParameterSublist(positionalParams, buffer,
81-
trailingComma:
82-
optionalPositionalParams.isNotEmpty || namedParams.isNotEmpty,
83-
showMetadata: showMetadata,
84-
showNames: showNames);
80+
_renderLinkedParameterSublist(
81+
positionalParams,
82+
buffer,
83+
trailingComma:
84+
optionalPositionalParams.isNotEmpty || namedParams.isNotEmpty,
85+
showMetadata: showMetadata,
86+
);
8587
}
8688
if (optionalPositionalParams.isNotEmpty) {
87-
_renderLinkedParameterSublist(optionalPositionalParams, buffer,
88-
trailingComma: namedParams.isNotEmpty,
89-
openBracket: '[',
90-
closeBracket: ']',
91-
showMetadata: showMetadata,
92-
showNames: showNames);
89+
_renderLinkedParameterSublist(
90+
optionalPositionalParams,
91+
buffer,
92+
trailingComma: namedParams.isNotEmpty,
93+
openBracket: '[',
94+
closeBracket: ']',
95+
showMetadata: showMetadata,
96+
);
9397
}
9498
if (namedParams.isNotEmpty) {
95-
_renderLinkedParameterSublist(namedParams, buffer,
96-
trailingComma: false,
97-
openBracket: '{',
98-
closeBracket: '}',
99-
showMetadata: showMetadata,
100-
showNames: showNames);
99+
_renderLinkedParameterSublist(
100+
namedParams,
101+
buffer,
102+
trailingComma: false,
103+
openBracket: '{',
104+
closeBracket: '}',
105+
showMetadata: showMetadata,
106+
);
101107
}
102108
return orderedList(buffer.toString());
103109
}
@@ -109,7 +115,6 @@ abstract class ParameterRenderer {
109115
String openBracket = '',
110116
String closeBracket = '',
111117
bool showMetadata = true,
112-
bool showNames = true,
113118
}) {
114119
for (var p in parameters) {
115120
var prefix = '';
@@ -128,7 +133,6 @@ abstract class ParameterRenderer {
128133
prefix: prefix,
129134
suffix: suffix,
130135
showMetadata: showMetadata,
131-
showNames: showNames,
132136
);
133137
buffer.write(listItem(parameter(renderedParameter, p.htmlId)));
134138
}
@@ -139,7 +143,6 @@ abstract class ParameterRenderer {
139143
required String prefix,
140144
required String suffix,
141145
bool showMetadata = true,
142-
bool showNames = true,
143146
}) {
144147
final buffer = StringBuffer(prefix);
145148
final modelType = param.modelType;
@@ -160,17 +163,12 @@ abstract class ParameterRenderer {
160163
? modelType.linkedName
161164
: modelType.returnType.linkedName;
162165
buffer.write(typeName(returnTypeName));
163-
if (showNames) {
164-
buffer.write(' ${parameterName(param.name)}');
165-
} else {
166-
buffer.write(' ${parameterName(modelType.name)}');
167-
}
166+
buffer.write(' ${parameterName(param.name)}');
168167
if (!modelType.isTypedef && modelType is DefinedElementType) {
169168
buffer.write('(');
170169
buffer.write(renderLinkedParams(
171170
(modelType as DefinedElementType).modelElement.parameters,
172171
showMetadata: showMetadata,
173-
showNames: showNames,
174172
));
175173
buffer.write(')');
176174
buffer.write(modelType.nullabilitySuffix);
@@ -180,7 +178,6 @@ abstract class ParameterRenderer {
180178
buffer.write(renderLinkedParams(
181179
modelType.parameters,
182180
showMetadata: showMetadata,
183-
showNames: showNames,
184181
));
185182
buffer.write(')');
186183
buffer.write(modelType.nullabilitySuffix);
@@ -189,11 +186,11 @@ abstract class ParameterRenderer {
189186
final linkedTypeName = modelType.linkedName;
190187
if (linkedTypeName.isNotEmpty) {
191188
buffer.write(typeName(linkedTypeName));
192-
if (showNames && param.name.isNotEmpty) {
189+
if (param.name.isNotEmpty) {
193190
buffer.write(' ');
194191
}
195192
}
196-
if (showNames && param.name.isNotEmpty) {
193+
if (param.name.isNotEmpty) {
197194
buffer.write(parameterName(param.name));
198195
}
199196
}

test/end2end/model_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4379,7 +4379,7 @@ String? topLevelFunction(int param1, bool param2, Cool coolBeans,
43794379
test('a function requiring a Future<void> parameter', () {
43804380
expect(
43814381
ParameterRendererHtml().renderLinkedParams(aVoidParameter.parameters,
4382-
showMetadata: true, showNames: true),
4382+
showMetadata: true),
43834383
equals(
43844384
'<span class="parameter" id="aVoidParameter-param-p1"><span class="type-annotation">Future<span class="signature">&lt;<wbr><span class="type-parameter">void</span>&gt;</span></span> <span class="parameter-name">p1</span></span>'));
43854385
});

0 commit comments

Comments
 (0)