Skip to content

Commit 91c361a

Browse files
authored
Remove SourceCodeRenderer and TypeParametersRenderer. (#3683)
1 parent 40c470e commit 91c361a

6 files changed

+27
-92
lines changed

Diff for: lib/src/model/accessor.dart

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5+
import 'dart:convert';
6+
57
import 'package:analyzer/dart/element/element.dart';
68
import 'package:analyzer/source/line_info.dart';
79
// ignore: implementation_imports
@@ -10,7 +12,6 @@ import 'package:collection/collection.dart' show IterableExtension;
1012
import 'package:dartdoc/src/element_type.dart';
1113
import 'package:dartdoc/src/model/comment_referable.dart';
1214
import 'package:dartdoc/src/model/model.dart';
13-
import 'package:dartdoc/src/render/source_code_renderer.dart';
1415
import 'package:dartdoc/src/utils.dart';
1516
import 'package:dartdoc/src/warnings.dart';
1617

@@ -49,8 +50,6 @@ class Accessor extends ModelElement implements EnclosedElement {
4950

5051
bool get isSynthetic => element.isSynthetic;
5152

52-
SourceCodeRenderer get _sourceCodeRenderer => const SourceCodeRendererHtml();
53-
5453
// The [enclosingCombo] where this element was defined.
5554
late final GetterSetterCombo definingCombo =
5655
getModelForElement(element.variable) as GetterSetterCombo;
@@ -62,7 +61,7 @@ class Accessor extends ModelElement implements EnclosedElement {
6261
var modelNode = packageGraph.getModelNodeFor(definingCombo.element);
6362
return modelNode == null
6463
? ''
65-
: _sourceCodeRenderer.renderSourceCode(modelNode.sourceCode);
64+
: const HtmlEscape().convert(modelNode.sourceCode);
6665
}
6766

6867
@override

Diff for: lib/src/model/field.dart

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5+
import 'dart:convert';
6+
57
import 'package:analyzer/dart/element/element.dart';
68
import 'package:dartdoc/src/model/attribute.dart';
79
import 'package:dartdoc/src/model/model.dart';
8-
import 'package:dartdoc/src/render/source_code_renderer.dart';
910

1011
class Field extends ModelElement
1112
with GetterSetterCombo, ContainerMember, Inheritable
@@ -149,16 +150,14 @@ class Field extends ModelElement
149150
@override
150151
String? get belowSidebarPath => null;
151152

152-
SourceCodeRenderer get _sourceCodeRenderer => const SourceCodeRendererHtml();
153-
154153
late final String _sourceCode = () {
155154
// We could use a set to figure the dupes out, but that would lose ordering.
156155
var fieldSourceCode = modelNode?.sourceCode ?? '';
157156
var getterSourceCode = getter?.sourceCode ?? '';
158157
var setterSourceCode = setter?.sourceCode ?? '';
159158
var buffer = StringBuffer();
160159
if (fieldSourceCode.isNotEmpty) {
161-
fieldSourceCode = _sourceCodeRenderer.renderSourceCode(fieldSourceCode);
160+
fieldSourceCode = const HtmlEscape().convert(fieldSourceCode);
162161
buffer.write(fieldSourceCode);
163162
}
164163
if (buffer.isNotEmpty) buffer.write('\n\n');

Diff for: lib/src/model/model_element.dart

+1-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import 'package:dartdoc/src/model/prefix.dart';
2525
import 'package:dartdoc/src/model_utils.dart' as utils;
2626
import 'package:dartdoc/src/render/model_element_renderer.dart';
2727
import 'package:dartdoc/src/render/parameter_renderer.dart';
28-
import 'package:dartdoc/src/render/source_code_renderer.dart';
2928
import 'package:dartdoc/src/runtime_stats.dart';
3029
import 'package:dartdoc/src/source_linker.dart';
3130
import 'package:dartdoc/src/special_elements.dart';
@@ -686,8 +685,6 @@ abstract class ModelElement extends Canonicalization
686685
ParameterRenderer get _parameterRendererDetailed =>
687686
const ParameterRendererHtmlList();
688687

689-
SourceCodeRenderer get _sourceCodeRenderer => const SourceCodeRendererHtml();
690-
691688
String get linkedParams => _parameterRenderer.renderLinkedParams(parameters);
692689

693690
String get linkedParamsLines =>
@@ -757,8 +754,7 @@ abstract class ModelElement extends Canonicalization
757754
}();
758755

759756
@override
760-
late final String sourceCode =
761-
_sourceCodeRenderer.renderSourceCode(super.sourceCode);
757+
late final String sourceCode = const HtmlEscape().convert(super.sourceCode);
762758

763759
@override
764760
int compareTo(Object other) {

Diff for: lib/src/model/type_parameter.dart

+20-7
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analyzer/dart/element/element.dart';
66
import 'package:dartdoc/src/element_type.dart';
77
import 'package:dartdoc/src/model/comment_referable.dart';
88
import 'package:dartdoc/src/model/model.dart';
9-
import 'package:dartdoc/src/render/type_parameters_renderer.dart';
109

1110
class TypeParameter extends ModelElement with HasNoPage {
1211
@override
@@ -73,14 +72,28 @@ mixin TypeParameters implements ModelElement {
7372

7473
bool get hasGenericParameters => typeParameters.isNotEmpty;
7574

76-
String get genericParameters =>
77-
_typeParametersRenderer.renderGenericParameters(this);
75+
String get genericParameters => _renderTypeParameters();
7876

79-
String get linkedGenericParameters =>
80-
_typeParametersRenderer.renderLinkedGenericParameters(this);
77+
String get linkedGenericParameters => _renderTypeParameters(isLinked: true);
8178

8279
List<TypeParameter> get typeParameters;
8380

84-
TypeParametersRenderer get _typeParametersRenderer =>
85-
const TypeParametersRendererHtml();
81+
String _renderTypeParameters({bool isLinked = false}) {
82+
if (typeParameters.isEmpty) {
83+
return '';
84+
}
85+
var joined = typeParameters
86+
.map((t) => [
87+
...t.annotations.map((a) => a.linkedNameWithParameters),
88+
isLinked ? t.linkedName : t.name
89+
].join(' '))
90+
.join('</span>, <span class="type-parameter">');
91+
var typeParametersString =
92+
'&lt;<wbr><span class="type-parameter">$joined</span>&gt;';
93+
if (isLinked) {
94+
typeParametersString =
95+
'<span class="signature">$typeParametersString</span>';
96+
}
97+
return typeParametersString;
98+
}
8699
}

Diff for: lib/src/render/source_code_renderer.dart

-27
This file was deleted.

Diff for: lib/src/render/type_parameters_renderer.dart

-45
This file was deleted.

0 commit comments

Comments
 (0)