Skip to content

Commit 6981d18

Browse files
committed
Clean up language feature
1 parent 53222e2 commit 6981d18

23 files changed

+2014
-2196
lines changed

lib/resources/docs.dart.js

Lines changed: 1702 additions & 1654 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: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/generator/templates.aot_renderers_for_html.dart

Lines changed: 197 additions & 242 deletions
Large diffs are not rendered by default.

lib/src/generator/templates.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ const _visibleTypes = {
7373
Extension,
7474
ExtensionType,
7575
ExternalItem,
76-
FeatureSet,
7776
FunctionTypeElementType,
7877
InheritingContainer,
7978
LanguageFeature,

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 27 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -2362,7 +2362,7 @@ class _Renderer_Category extends RendererBase<Category> {
23622362
}
23632363
}
23642364

2365-
String renderCategory(CategoryTemplateData context, Template template) {
2365+
String renderCategoryRedirect(CategoryTemplateData context, Template template) {
23662366
var buffer = StringBuffer();
23672367
_render_CategoryTemplateData(context, template.ast, template, buffer);
23682368
return buffer.toString();
@@ -2612,7 +2612,7 @@ class _Renderer_CategoryTemplateData
26122612
}
26132613
}
26142614

2615-
String renderCategoryRedirect(CategoryTemplateData context, Template template) {
2615+
String renderCategory(CategoryTemplateData context, Template template) {
26162616
var buffer = StringBuffer();
26172617
_render_CategoryTemplateData(context, template.ast, template, buffer);
26182618
return buffer.toString();
@@ -9122,133 +9122,6 @@ class _Renderer_ExternalItem extends RendererBase<ExternalItem> {
91229122
}
91239123
}
91249124

9125-
class _Renderer_FeatureSet extends RendererBase<FeatureSet> {
9126-
static final Map<Type, Object> _propertyMapCache = {};
9127-
static Map<String, Property<CT_>> propertyMap<CT_ extends FeatureSet>() =>
9128-
_propertyMapCache.putIfAbsent(
9129-
CT_,
9130-
() => {
9131-
'displayedLanguageFeatures': Property(
9132-
getValue: (CT_ c) => c.displayedLanguageFeatures,
9133-
renderVariable:
9134-
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
9135-
self.renderSimpleVariable(
9136-
c,
9137-
remainingNames,
9138-
'Iterable<LanguageFeature>',
9139-
),
9140-
9141-
renderIterable:
9142-
(
9143-
CT_ c,
9144-
RendererBase<CT_> r,
9145-
List<MustachioNode> ast,
9146-
StringSink sink,
9147-
) {
9148-
return c.displayedLanguageFeatures.map(
9149-
(e) => _render_LanguageFeature(
9150-
e,
9151-
ast,
9152-
r.template,
9153-
sink,
9154-
parent: r,
9155-
),
9156-
);
9157-
},
9158-
),
9159-
'hasFeatureSet': Property(
9160-
getValue: (CT_ c) => c.hasFeatureSet,
9161-
renderVariable:
9162-
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
9163-
self.renderSimpleVariable(c, remainingNames, 'bool'),
9164-
9165-
getBool: (CT_ c) => c.hasFeatureSet,
9166-
),
9167-
'library': Property(
9168-
getValue: (CT_ c) => c.library,
9169-
renderVariable:
9170-
(CT_ c, Property<CT_> self, List<String> remainingNames) {
9171-
if (remainingNames.isEmpty) {
9172-
return self.getValue(c).toString();
9173-
}
9174-
var name = remainingNames.first;
9175-
var nextProperty = _Renderer_Library.propertyMap()
9176-
.getValue(name);
9177-
return nextProperty.renderVariable(
9178-
self.getValue(c) as Library,
9179-
nextProperty,
9180-
[...remainingNames.skip(1)],
9181-
);
9182-
},
9183-
9184-
isNullValue: (CT_ c) => false,
9185-
9186-
renderValue:
9187-
(
9188-
CT_ c,
9189-
RendererBase<CT_> r,
9190-
List<MustachioNode> ast,
9191-
StringSink sink,
9192-
) {
9193-
_render_Library(
9194-
c.library,
9195-
ast,
9196-
r.template,
9197-
sink,
9198-
parent: r,
9199-
);
9200-
},
9201-
),
9202-
'packageGraph': Property(
9203-
getValue: (CT_ c) => c.packageGraph,
9204-
renderVariable:
9205-
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
9206-
self.renderSimpleVariable(
9207-
c,
9208-
remainingNames,
9209-
'PackageGraph',
9210-
),
9211-
9212-
isNullValue: (CT_ c) => false,
9213-
9214-
renderValue:
9215-
(
9216-
CT_ c,
9217-
RendererBase<CT_> r,
9218-
List<MustachioNode> ast,
9219-
StringSink sink,
9220-
) {
9221-
renderSimple(
9222-
c.packageGraph,
9223-
ast,
9224-
r.template,
9225-
sink,
9226-
parent: r,
9227-
getters: _invisibleGetters['PackageGraph']!,
9228-
);
9229-
},
9230-
),
9231-
},
9232-
)
9233-
as Map<String, Property<CT_>>;
9234-
9235-
_Renderer_FeatureSet(
9236-
FeatureSet context,
9237-
RendererBase<Object>? parent,
9238-
Template template,
9239-
StringSink sink,
9240-
) : super(context, parent, template, sink);
9241-
9242-
@override
9243-
Property<FeatureSet>? getProperty(String key) {
9244-
if (propertyMap<FeatureSet>().containsKey(key)) {
9245-
return propertyMap<FeatureSet>()[key];
9246-
} else {
9247-
return null;
9248-
}
9249-
}
9250-
}
9251-
92529125
void _render_Field(
92539126
Field context,
92549127
List<MustachioNode> ast,
@@ -11631,8 +11504,8 @@ class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> {
1163111504
);
1163211505
},
1163311506
),
11634-
'displayedLanguageFeatures': Property(
11635-
getValue: (CT_ c) => c.displayedLanguageFeatures,
11507+
'displayedClassModifiers': Property(
11508+
getValue: (CT_ c) => c.displayedClassModifiers,
1163611509
renderVariable:
1163711510
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
1163811511
self.renderSimpleVariable(
@@ -11648,7 +11521,7 @@ class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> {
1164811521
List<MustachioNode> ast,
1164911522
StringSink sink,
1165011523
) {
11651-
return c.displayedLanguageFeatures.map(
11524+
return c.displayedClassModifiers.map(
1165211525
(e) => _render_LanguageFeature(
1165311526
e,
1165411527
ast,
@@ -11758,6 +11631,14 @@ class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> {
1175811631
);
1175911632
},
1176011633
),
11634+
'hasDisplayedClassModifiers': Property(
11635+
getValue: (CT_ c) => c.hasDisplayedClassModifiers,
11636+
renderVariable:
11637+
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
11638+
self.renderSimpleVariable(c, remainingNames, 'bool'),
11639+
11640+
getBool: (CT_ c) => c.hasDisplayedClassModifiers,
11641+
),
1176111642
'hasModifiers': Property(
1176211643
getValue: (CT_ c) => c.hasModifiers,
1176311644
renderVariable:
@@ -12594,8 +12475,8 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1259412475
CT_,
1259512476
() => {
1259612477
..._Renderer_Object.propertyMap<CT_>(),
12597-
'featureDescription': Property(
12598-
getValue: (CT_ c) => c.featureDescription,
12478+
'description': Property(
12479+
getValue: (CT_ c) => c.description,
1259912480
renderVariable:
1260012481
(CT_ c, Property<CT_> self, List<String> remainingNames) {
1260112482
if (remainingNames.isEmpty) {
@@ -12611,7 +12492,7 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1261112492
);
1261212493
},
1261312494

12614-
isNullValue: (CT_ c) => c.featureDescription == null,
12495+
isNullValue: (CT_ c) => c.description == null,
1261512496

1261612497
renderValue:
1261712498
(
@@ -12621,7 +12502,7 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1262112502
StringSink sink,
1262212503
) {
1262312504
_render_String(
12624-
c.featureDescription!,
12505+
c.description!,
1262512506
ast,
1262612507
r.template,
1262712508
sink,
@@ -12664,8 +12545,8 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1266412545
);
1266512546
},
1266612547
),
12667-
'featureUrl': Property(
12668-
getValue: (CT_ c) => c.featureUrl,
12548+
'name': Property(
12549+
getValue: (CT_ c) => c.name,
1266912550
renderVariable:
1267012551
(CT_ c, Property<CT_> self, List<String> remainingNames) {
1267112552
if (remainingNames.isEmpty) {
@@ -12681,7 +12562,7 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1268112562
);
1268212563
},
1268312564

12684-
isNullValue: (CT_ c) => c.featureUrl == null,
12565+
isNullValue: (CT_ c) => false,
1268512566

1268612567
renderValue:
1268712568
(
@@ -12690,17 +12571,11 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1269012571
List<MustachioNode> ast,
1269112572
StringSink sink,
1269212573
) {
12693-
_render_String(
12694-
c.featureUrl!,
12695-
ast,
12696-
r.template,
12697-
sink,
12698-
parent: r,
12699-
);
12574+
_render_String(c.name, ast, r.template, sink, parent: r);
1270012575
},
1270112576
),
12702-
'name': Property(
12703-
getValue: (CT_ c) => c.name,
12577+
'url': Property(
12578+
getValue: (CT_ c) => c.url,
1270412579
renderVariable:
1270512580
(CT_ c, Property<CT_> self, List<String> remainingNames) {
1270612581
if (remainingNames.isEmpty) {
@@ -12716,7 +12591,7 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1271612591
);
1271712592
},
1271812593

12719-
isNullValue: (CT_ c) => false,
12594+
isNullValue: (CT_ c) => c.url == null,
1272012595

1272112596
renderValue:
1272212597
(
@@ -12725,7 +12600,7 @@ class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
1272512600
List<MustachioNode> ast,
1272612601
StringSink sink,
1272712602
) {
12728-
_render_String(c.name, ast, r.template, sink, parent: r);
12603+
_render_String(c.url!, ast, r.template, sink, parent: r);
1272912604
},
1273012605
),
1273112606
},
@@ -16150,7 +16025,6 @@ class _Renderer_ModelElement extends RendererBase<ModelElement> {
1615016025
..._Renderer_Locatable.propertyMap<CT_>(),
1615116026
..._Renderer_Nameable.propertyMap<CT_>(),
1615216027
..._Renderer_SourceCode.propertyMap<CT_>(),
16153-
..._Renderer_FeatureSet.propertyMap<CT_>(),
1615416028
..._Renderer_DocumentationComment.propertyMap<CT_>(),
1615516029
'annotations': Property(
1615616030
getValue: (CT_ c) => c.annotations,
@@ -19779,7 +19653,7 @@ class _Renderer_Package extends RendererBase<Package> {
1977919653
}
1978019654
}
1978119655

19782-
String renderIndex(PackageTemplateData context, Template template) {
19656+
String renderError(PackageTemplateData context, Template template) {
1978319657
var buffer = StringBuffer();
1978419658
_render_PackageTemplateData(context, template.ast, template, buffer);
1978519659
return buffer.toString();
@@ -20137,7 +20011,7 @@ class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> {
2013720011
}
2013820012
}
2013920013

20140-
String renderError(PackageTemplateData context, Template template) {
20014+
String renderIndex(PackageTemplateData context, Template template) {
2014120015
var buffer = StringBuffer();
2014220016
_render_PackageTemplateData(context, template.ast, template, buffer);
2014320017
return buffer.toString();

lib/src/model/container_modifiers.dart

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
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 'package:dartdoc/src/model/language_feature.dart';
6-
75
/// Represents a single modifier applicable to containers.
86
class ContainerModifier implements Comparable<ContainerModifier> {
97
final String name;
@@ -42,10 +40,22 @@ class ContainerModifier implements Comparable<ContainerModifier> {
4240
static const ContainerModifier mixin = ContainerModifier._('mixin', order: 4);
4341
}
4442

45-
extension BuildLanguageFeatureSet on Iterable<ContainerModifier> {
46-
/// Transforms [ContainerModifier]s into a series of [LanguageFeature] objects
47-
/// suitable for rendering as chips. Assumes iterable is sorted.
48-
Iterable<LanguageFeature> get asLanguageFeatureSet =>
49-
where((m) => !m.hideIfPresent.any(contains))
50-
.map((m) => LanguageFeature(m.name));
51-
}
43+
const Map<String, String> classModifierDescriptions = {
44+
'sealed':
45+
'The direct subtypes of this class will be checked for exhaustiveness in switches.',
46+
'abstract': 'This type can not be directly constructed.',
47+
'base':
48+
'This class or mixin can only be extended (not implemented or mixed in).',
49+
'interface': 'This class can only be implemented (not extended or mixed in).',
50+
'final': 'This class can neither be extended, implemented, nor mixed in.',
51+
'mixin': 'This class can be used as a class and a mixin.',
52+
};
53+
54+
const Map<String, String> classModifierUrls = {
55+
'sealed': 'https://dart.dev/language/class-modifiers#sealed',
56+
'abstract': 'https://dart.dev/language/class-modifiers#abstract',
57+
'base': 'https://dart.dev/language/class-modifiers#base',
58+
'interface': 'https://dart.dev/language/class-modifiers#interface',
59+
'final': 'https://dart.dev/language/class-modifiers#final',
60+
'mixin': 'https://dart.dev/language/mixins#class-mixin-or-mixin-class',
61+
};

lib/src/model/feature_set.dart

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

0 commit comments

Comments
 (0)