Skip to content

Commit 4574e81

Browse files
authored
Convert kind to an enum (#3426)
1 parent 950898f commit 4574e81

36 files changed

+3343
-3291
lines changed

lib/resources/docs.dart.js

Lines changed: 2978 additions & 2869 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/resources/docs.dart.js.map

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/generator/generator_utils.dart

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ String generateCategoryJson(Iterable<Categorization> categories, bool pretty) {
1818
'name': categorization.name,
1919
'qualifiedName': categorization.fullyQualifiedName,
2020
'href': categorization.href,
21-
'type': categorization.kind,
21+
// TODO(srawlins): Rename to 'kind'.
22+
'type': categorization.kind.toString(),
2223
if (categorization.hasCategoryNames)
2324
'categories': categorization.categoryNames,
2425
if (categorization.hasSubCategoryNames)
@@ -34,15 +35,6 @@ String generateCategoryJson(Iterable<Categorization> categories, bool pretty) {
3435
return encoder.convert(indexItems.toList(growable: false));
3536
}
3637

37-
String removeHtmlTags(String? input) {
38-
if (input == null) {
39-
return '';
40-
}
41-
var htmlTag = RegExp(r'<[^>]*>', multiLine: true, caseSensitive: true);
42-
var parsedString = input.replaceAll(htmlTag, '');
43-
return parsedString;
44-
}
45-
4638
String generateSearchIndexJson(Iterable<Indexable> indexedElements, bool pretty,
4739
List<String> packageOrder) {
4840
final indexItems = [
@@ -53,16 +45,16 @@ String generateSearchIndexJson(Iterable<Indexable> indexedElements, bool pretty,
5345
'name': indexable.name,
5446
'qualifiedName': indexable.fullyQualifiedName,
5547
'href': indexable.href,
56-
'type': indexable.kind,
48+
'kind': indexable.kind.index,
5749
'overriddenDepth': indexable.overriddenDepth,
5850
if (indexable is ModelElement) 'packageName': indexable.package.name,
5951
if (indexable is ModelElement)
60-
'desc': removeHtmlTags(indexable.oneLineDoc),
52+
'desc': _removeHtmlTags(indexable.oneLineDoc),
6153
if (indexable is EnclosedElement)
6254
'enclosedBy': {
6355
'name': indexable.enclosingElement.name,
64-
'type': indexable.enclosingElement.kind,
65-
'href': indexable.enclosingElement.href
56+
'kind': indexable.enclosingElement.kind.index,
57+
'href': indexable.enclosingElement.href,
6658
},
6759
}
6860
];
@@ -76,11 +68,17 @@ String generateSearchIndexJson(Iterable<Indexable> indexedElements, bool pretty,
7668
/// The key used in the `index.json` file used to specify the package order.
7769
const packageOrderKey = '__PACKAGE_ORDER__';
7870

71+
String _removeHtmlTags(String? input) =>
72+
input?.replaceAll(_htmlTagPattern, '') ?? '';
73+
74+
final _htmlTagPattern =
75+
RegExp(r'<[^>]*>', multiLine: true, caseSensitive: true);
76+
7977
// Compares two elements, first by fully qualified name, then by kind.
8078
int _compareElementRepresentations<T extends Indexable>(T a, T b) {
8179
final value = compareNatural(a.fullyQualifiedName, b.fullyQualifiedName);
8280
if (value == 0) {
83-
return compareNatural(a.kind, b.kind);
81+
return compareNatural(a.kind.toString(), b.kind.toString());
8482
}
8583
return value;
8684
}

lib/src/generator/template_data.dart

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class PackageTemplateData extends TemplateData<Package> {
142142

143143
@override
144144
String get layoutTitle =>
145-
_layoutTitle(package.name, package.kind, isDeprecated: false);
145+
_layoutTitle(package.name, package.kind.toString(), isDeprecated: false);
146146
@override
147147
String get metaDescription =>
148148
'${package.name} API docs, for the Dart programming language.';
@@ -189,7 +189,8 @@ class CategoryTemplateData extends TemplateData<Category>
189189

190190
@override
191191
String get layoutTitle =>
192-
_layoutTitle(category.name, category.kind, isDeprecated: false);
192+
_layoutTitle(category.name, category.kind.toString(),
193+
isDeprecated: false);
193194

194195
@override
195196
String get metaDescription =>
@@ -224,8 +225,8 @@ class LibraryTemplateData extends TemplateData<Library>
224225
List<Documentable> get navLinks => [_packageGraph.defaultPackage];
225226

226227
@override
227-
String get layoutTitle =>
228-
_layoutTitle(library.name, 'library', isDeprecated: library.isDeprecated);
228+
String get layoutTitle => _layoutTitle(library.name, Kind.library.toString(),
229+
isDeprecated: library.isDeprecated);
229230

230231
@override
231232
Library get self => library;
@@ -346,7 +347,8 @@ class ExtensionTemplateData<T extends Extension> extends TemplateData<T>
346347

347348
@override
348349
String get layoutTitle =>
349-
_layoutTitle(extension.name, extension.kind, isDeprecated: false);
350+
_layoutTitle(extension.name, extension.kind.toString(),
351+
isDeprecated: false);
350352
@override
351353
List<Documentable> get navLinks => [_packageGraph.defaultPackage, library];
352354
}
@@ -435,8 +437,9 @@ class FunctionTemplateData extends TemplateData<ModelFunction>
435437
String get title =>
436438
'${function.name} function - ${library.name} library - Dart API';
437439
@override
438-
String get layoutTitle => _layoutTitle(function.nameWithGenerics, 'function',
439-
isDeprecated: function.isDeprecated);
440+
String get layoutTitle =>
441+
_layoutTitle(function.nameWithGenerics, Kind.function.toString(),
442+
isDeprecated: function.isDeprecated);
440443
@override
441444
String get metaDescription =>
442445
'API docs for the ${function.name} function from the '
@@ -561,8 +564,9 @@ class TypedefTemplateData extends TemplateData<Typedef>
561564
String get title =>
562565
'${typeDef.name} typedef - ${library.name} library - Dart API';
563566
@override
564-
String get layoutTitle => _layoutTitle(typeDef.nameWithGenerics, 'typedef',
565-
isDeprecated: typeDef.isDeprecated);
567+
String get layoutTitle =>
568+
_layoutTitle(typeDef.nameWithGenerics, Kind.typedef.toString(),
569+
isDeprecated: typeDef.isDeprecated);
566570
@override
567571
String get metaDescription =>
568572
'API docs for the ${typeDef.name} typedef from the '

lib/src/generator/templates.aot_renderers_for_html.dart

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ String renderCategory(_i1.CategoryTemplateData context0) {
5353
<h1><span class="kind-category">''');
5454
buffer.writeEscaped(context1.name);
5555
buffer.write('''</span> ''');
56-
buffer.writeEscaped(context1.kind);
56+
buffer.writeEscaped(context1.kind.toString());
5757
buffer.write('''</h1>
5858
''');
5959
buffer.write(_renderCategory_partial_documentation_1(context1));
@@ -250,7 +250,7 @@ String renderCategory(_i1.CategoryTemplateData context0) {
250250
<h5><span class="package-name">''');
251251
buffer.writeEscaped(context0.parent!.name);
252252
buffer.write('''</span> <span class="package-kind">''');
253-
buffer.writeEscaped(context0.parent!.kind);
253+
buffer.writeEscaped(context0.parent!.kind.toString());
254254
buffer.write('''</span></h5>
255255
''');
256256
buffer.write(_renderCategory_partial_packages_10(context0));
@@ -262,7 +262,7 @@ String renderCategory(_i1.CategoryTemplateData context0) {
262262
<h5>''');
263263
buffer.writeEscaped(context0.self.name);
264264
buffer.write(' ');
265-
buffer.writeEscaped(context0.self.kind);
265+
buffer.writeEscaped(context0.self.kind.toString());
266266
buffer.write('''</h5>
267267
''');
268268
buffer.write(_renderCategory_partial_sidebar_for_category_11(context0));
@@ -300,7 +300,7 @@ String renderClass(_i1.ClassTemplateData context0) {
300300
buffer.write('''<h1><span class="kind-class">''');
301301
buffer.write(context1.nameWithGenerics);
302302
buffer.write('''</span> ''');
303-
buffer.writeEscaped(context1.kind);
303+
buffer.writeEscaped(context1.kind.toString());
304304
buffer.write(' ');
305305
buffer.write(_renderClass_partial_feature_set_2(context1));
306306
buffer.write(' ');
@@ -412,7 +412,7 @@ String renderClass(_i1.ClassTemplateData context0) {
412412
<!--<h5>''');
413413
buffer.writeEscaped(context0.parent!.name);
414414
buffer.write(' ');
415-
buffer.writeEscaped(context0.parent!.kind);
415+
buffer.writeEscaped(context0.parent!.kind.toString());
416416
buffer.write('''</h5>-->
417417
<div id="dartdoc-sidebar-left-content"></div>
418418
</div>
@@ -450,7 +450,7 @@ String renderConstructor(_i1.ConstructorTemplateData context0) {
450450
buffer.write('''<h1><span class="kind-constructor">''');
451451
buffer.write(context1.nameWithGenerics);
452452
buffer.write('''</span> ''');
453-
buffer.writeEscaped(context1.kind);
453+
buffer.writeEscaped(context1.kind.toString());
454454
buffer.write(' ');
455455
buffer.write(_renderConstructor_partial_feature_set_2(context1));
456456
buffer.write('''</h1></div>''');
@@ -496,7 +496,7 @@ String renderConstructor(_i1.ConstructorTemplateData context0) {
496496
<h5>''');
497497
buffer.writeEscaped(context0.parent!.name);
498498
buffer.write(' ');
499-
buffer.writeEscaped(context0.parent!.kind);
499+
buffer.writeEscaped(context0.parent!.kind.toString());
500500
buffer.write('''</h5>
501501
</div><!--/.sidebar-offcanvas-left-->
502502
@@ -537,7 +537,7 @@ String renderEnum(_i1.EnumTemplateData context0) {
537537
buffer.write(context1.nameWithGenerics);
538538
buffer.write('''</span>
539539
''');
540-
buffer.writeEscaped(context1.kind);
540+
buffer.writeEscaped(context1.kind.toString());
541541
buffer.write(' ');
542542
buffer.write(_renderEnum_partial_feature_set_2(context1));
543543
buffer.write(' ');
@@ -637,7 +637,7 @@ String renderEnum(_i1.EnumTemplateData context0) {
637637
<h5>''');
638638
buffer.writeEscaped(context0.parent!.name);
639639
buffer.write(' ');
640-
buffer.writeEscaped(context0.parent!.kind);
640+
buffer.writeEscaped(context0.parent!.kind.toString());
641641
buffer.write('''</h5>
642642
</div>
643643
@@ -680,7 +680,7 @@ String renderError(_i1.PackageTemplateData context0) {
680680
<h5><span class="package-name">''');
681681
buffer.writeEscaped(context0.self.name);
682682
buffer.write('''</span> <span class="package-kind">''');
683-
buffer.writeEscaped(context0.self.kind);
683+
buffer.writeEscaped(context0.self.kind.toString());
684684
buffer.write('''</span></h5>
685685
''');
686686
buffer.write(_renderError_partial_packages_2(context0));
@@ -721,7 +721,7 @@ String renderExtension<T extends _i2.Extension>(
721721
buffer.write('''<h1><span class="kind-class">''');
722722
buffer.write(context1.nameWithGenerics);
723723
buffer.write('''</span> ''');
724-
buffer.writeEscaped(context1.kind);
724+
buffer.writeEscaped(context1.kind.toString());
725725
buffer.write(' ');
726726
buffer.write(_renderExtension_partial_feature_set_2(context1));
727727
buffer.write(' ');
@@ -795,7 +795,7 @@ String renderExtension<T extends _i2.Extension>(
795795
<h5>''');
796796
buffer.writeEscaped(context0.parent!.name);
797797
buffer.write(' ');
798-
buffer.writeEscaped(context0.parent!.kind);
798+
buffer.writeEscaped(context0.parent!.kind.toString());
799799
buffer.write('''</h5>
800800
</div>
801801
@@ -833,7 +833,7 @@ String renderFunction(_i1.FunctionTemplateData context0) {
833833
buffer.write('''<h1><span class="kind-function">''');
834834
buffer.write(context1.nameWithGenerics);
835835
buffer.write('''</span> ''');
836-
buffer.writeEscaped(context1.kind);
836+
buffer.writeEscaped(context1.kind.toString());
837837
buffer.write(' ');
838838
buffer.write(_renderFunction_partial_feature_set_2(context1));
839839
buffer.write(' ');
@@ -868,7 +868,7 @@ String renderFunction(_i1.FunctionTemplateData context0) {
868868
<h5>''');
869869
buffer.writeEscaped(context0.parent!.name);
870870
buffer.write(' ');
871-
buffer.writeEscaped(context0.parent!.kind);
871+
buffer.writeEscaped(context0.parent!.kind.toString());
872872
buffer.write('''</h5>
873873
</div><!--/.sidebar-offcanvas-left-->
874874
@@ -950,7 +950,7 @@ String renderIndex(_i1.PackageTemplateData context0) {
950950
<h5 class="hidden-xs"><span class="package-name">''');
951951
buffer.writeEscaped(context0.self.name);
952952
buffer.write('''</span> <span class="package-kind">''');
953-
buffer.writeEscaped(context0.self.kind);
953+
buffer.writeEscaped(context0.self.kind.toString());
954954
buffer.write('''</span></h5>
955955
''');
956956
buffer.write(_renderIndex_partial_packages_4(context0));
@@ -992,7 +992,7 @@ String renderLibrary(_i1.LibraryTemplateData context0) {
992992
buffer.write('''<h1><span class="kind-library">''');
993993
buffer.write(context1.name);
994994
buffer.write('''</span> ''');
995-
buffer.writeEscaped(context1.kind);
995+
buffer.writeEscaped(context1.kind.toString());
996996
buffer.write(' ');
997997
buffer.write(_renderLibrary_partial_feature_set_2(context1));
998998
buffer.write(' ');
@@ -1195,7 +1195,7 @@ String renderLibrary(_i1.LibraryTemplateData context0) {
11951195
<h5><span class="package-name">''');
11961196
buffer.writeEscaped(context0.parent!.name);
11971197
buffer.write('''</span> <span class="package-kind">''');
1198-
buffer.writeEscaped(context0.parent!.kind);
1198+
buffer.writeEscaped(context0.parent!.kind.toString());
11991199
buffer.write('''</span></h5>
12001200
''');
12011201
buffer.write(_renderLibrary_partial_packages_12(context0));
@@ -1207,7 +1207,7 @@ String renderLibrary(_i1.LibraryTemplateData context0) {
12071207
<h5>''');
12081208
buffer.writeEscaped(context0.self.name);
12091209
buffer.write(' ');
1210-
buffer.writeEscaped(context0.self.kind);
1210+
buffer.writeEscaped(context0.self.kind.toString());
12111211
buffer.write('''</h5>
12121212
</div><!--/sidebar-offcanvas-right-->
12131213
@@ -1274,7 +1274,7 @@ String renderMethod(_i1.MethodTemplateData context0) {
12741274
<h5>''');
12751275
buffer.writeEscaped(context0.parent!.name);
12761276
buffer.write(' ');
1277-
buffer.writeEscaped(context0.parent!.kind);
1277+
buffer.writeEscaped(context0.parent!.kind.toString());
12781278
buffer.write('''</h5>
12791279
</div><!--/.sidebar-offcanvas-->
12801280
@@ -1311,7 +1311,7 @@ String renderMixin(_i1.MixinTemplateData context0) {
13111311
buffer.write('''<h1><span class="kind-mixin">''');
13121312
buffer.write(context1.nameWithGenerics);
13131313
buffer.write('''</span> ''');
1314-
buffer.writeEscaped(context1.kind);
1314+
buffer.writeEscaped(context1.kind.toString());
13151315
buffer.write(' ');
13161316
buffer.write(_renderMixin_partial_feature_set_2(context1));
13171317
buffer.write(' ');
@@ -1419,7 +1419,7 @@ String renderMixin(_i1.MixinTemplateData context0) {
14191419
<h5>''');
14201420
buffer.writeEscaped(context0.parent!.name);
14211421
buffer.write(' ');
1422-
buffer.writeEscaped(context0.parent!.kind);
1422+
buffer.writeEscaped(context0.parent!.kind.toString());
14231423
buffer.write('''</h5>
14241424
</div>
14251425
@@ -1456,7 +1456,7 @@ String renderProperty(_i1.PropertyTemplateData context0) {
14561456
buffer.write('''<h1><span class="kind-property">''');
14571457
buffer.writeEscaped(context1.name);
14581458
buffer.write('''</span> ''');
1459-
buffer.writeEscaped(context1.kind);
1459+
buffer.writeEscaped(context1.kind.toString());
14601460
buffer.write(' ');
14611461
buffer.write(_renderProperty_partial_feature_set_2(context1));
14621462
buffer.write('''</h1></div>''');
@@ -1506,7 +1506,7 @@ String renderProperty(_i1.PropertyTemplateData context0) {
15061506
<h5>''');
15071507
buffer.writeEscaped(context0.parent!.name);
15081508
buffer.write(' ');
1509-
buffer.writeEscaped(context0.parent!.kind);
1509+
buffer.writeEscaped(context0.parent!.kind.toString());
15101510
buffer.write('''</h5>
15111511
</div><!--/.sidebar-offcanvas-->
15121512
@@ -1537,7 +1537,7 @@ String renderSearchPage(_i1.PackageTemplateData context0) {
15371537
<h5 class="hidden-xs"><span class="package-name">''');
15381538
buffer.writeEscaped(context0.self.name);
15391539
buffer.write('''</span> <span class="package-kind">''');
1540-
buffer.writeEscaped(context0.self.kind);
1540+
buffer.writeEscaped(context0.self.kind.toString());
15411541
buffer.write('''</span></h5>
15421542
''');
15431543
buffer.write(_renderSearchPage_partial_packages_2(context0));
@@ -1965,7 +1965,7 @@ String renderTopLevelProperty(_i1.TopLevelPropertyTemplateData context0) {
19651965
buffer.write('''<h1><span class="kind-top-level-property">''');
19661966
buffer.write(context1.name);
19671967
buffer.write('''</span> ''');
1968-
buffer.writeEscaped(context1.kind);
1968+
buffer.writeEscaped(context1.kind.toString());
19691969
buffer.write(' ');
19701970
buffer.write(_renderTopLevelProperty_partial_feature_set_2(context1));
19711971
buffer.write(' ');
@@ -2014,7 +2014,7 @@ String renderTopLevelProperty(_i1.TopLevelPropertyTemplateData context0) {
20142014
<h5>''');
20152015
buffer.writeEscaped(context0.parent!.name);
20162016
buffer.write(' ');
2017-
buffer.writeEscaped(context0.parent!.kind);
2017+
buffer.writeEscaped(context0.parent!.kind.toString());
20182018
buffer.write('''</h5>
20192019
</div><!--/.sidebar-offcanvas-left-->
20202020
@@ -2051,7 +2051,7 @@ String renderTypedef(_i1.TypedefTemplateData context0) {
20512051
buffer.write('''<h1><span class="kind-typedef">''');
20522052
buffer.write(context1.nameWithGenerics);
20532053
buffer.write('''</span> ''');
2054-
buffer.writeEscaped(context1.kind);
2054+
buffer.writeEscaped(context1.kind.toString());
20552055
buffer.write(' ');
20562056
buffer.write(_renderTypedef_partial_feature_set_2(context1));
20572057
buffer.write(' ');
@@ -2086,7 +2086,7 @@ String renderTypedef(_i1.TypedefTemplateData context0) {
20862086
<h5>''');
20872087
buffer.writeEscaped(context0.parent!.name);
20882088
buffer.write(' ');
2089-
buffer.writeEscaped(context0.parent!.kind);
2089+
buffer.writeEscaped(context0.parent!.kind.toString());
20902090
buffer.write('''</h5>
20912091
</div><!--/.sidebar-offcanvas-left-->
20922092

0 commit comments

Comments
 (0)