Skip to content

Commit 88df88c

Browse files
authored
Remove the unnecessary Privacy mixin (#3794)
1 parent d050cb4 commit 88df88c

11 files changed

+22
-35
lines changed

lib/src/element_type.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import 'package:meta/meta.dart';
2020

2121
/// Base class representing a type in Dartdoc. It wraps a [DartType], and
2222
/// may link to a [ModelElement].
23-
abstract class ElementType with CommentReferable, Nameable implements Privacy {
23+
abstract class ElementType with CommentReferable, Nameable {
2424
final DartType type;
2525
@override
2626
final PackageGraph packageGraph;

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16301,7 +16301,6 @@ const _invisibleGetters = {
1630116301
'allHrefs',
1630216302
'allImplementersAdded',
1630316303
'allInheritableElements',
16304-
'allLibraries',
1630516304
'allLibrariesAdded',
1630616305
'analysisContext',
1630716306
'breadcrumbName',

lib/src/model/annotation.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ final class Annotation extends Attribute {
5555
'non-callable element used as annotation?: ${_annotation.element}')
5656
};
5757

58-
@override
5958
bool get isPublic {
6059
final modelType = _modelType;
6160
if (!modelType.isPublic) {

lib/src/model/attribute.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:collection/collection.dart';
6-
import 'package:dartdoc/src/model/privacy.dart';
76
import 'package:meta/meta.dart';
87

98
int byAttributeOrdering(Attribute a, Attribute b) {
@@ -16,7 +15,7 @@ int byAttributeOrdering(Attribute a, Attribute b) {
1615
///
1716
/// These include both explicit annotations in code (e.g. `deprecated`) as well
1817
/// as others added by the documentation system (e.g. 'no setter').
19-
abstract class Attribute implements Privacy {
18+
abstract class Attribute {
2019
// A name, only used for sorting.
2120
@visibleForOverriding
2221
final String name;
@@ -57,9 +56,6 @@ abstract class Attribute implements Privacy {
5756
final class _BuiltInAttribute extends Attribute {
5857
const _BuiltInAttribute(super.name, super.sortGroup);
5958

60-
@override
61-
bool get isPublic => false;
62-
6359
@override
6460
String get linkedName => name;
6561

lib/src/model/documentation.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ class Documentation {
3737
// situation where one public getter might set both fields, but might only
3838
// set one. We have this awkward check to make sure we set both fields if
3939
// we'll need both fields.
40-
assert(_element.isCanonical);
40+
assert(
41+
_element.isCanonical,
42+
"generating docs for non-canonical element: '$_element' "
43+
"('${_element.runtimeType}', ${_element.hashCode}), representing "
44+
"'${_element.element}'",
45+
);
4146
return _asHtml;
4247
}
4348

lib/src/model/model.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ export 'package.dart';
3939
export 'package_builder.dart';
4040
export 'package_graph.dart';
4141
export 'parameter.dart';
42-
export 'privacy.dart';
4342
export 'source_code_mixin.dart';
4443
export 'top_level_container.dart';
4544
export 'top_level_variable.dart';

lib/src/model/model_element.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ abstract class ModelElement
6969
Indexable,
7070
FeatureSet,
7171
DocumentationComment
72-
implements Comparable<ModelElement>, Documentable, Privacy {
72+
implements Comparable<ModelElement>, Documentable {
7373
// TODO(jcollins-g): This really wants a "member that has a type" class.
7474
final Member? _originalMember;
7575
final Library _library;

lib/src/model/nameable.dart

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ import 'package:dartdoc/src/model/container.dart';
1111
import 'package:dartdoc/src/model/library.dart';
1212
import 'package:dartdoc/src/model/model_element.dart';
1313
import 'package:dartdoc/src/model/package_graph.dart';
14-
import 'package:dartdoc/src/model/privacy.dart';
1514

1615
/// Something that has a name.
17-
mixin Nameable implements Privacy {
16+
mixin Nameable {
1817
String get name;
1918

2019
/// A qualified name, mostly for use in the web search functionality, and for
@@ -27,7 +26,16 @@ mixin Nameable implements Privacy {
2726
/// The name to use in breadcrumbs in the rendered documentation.
2827
String get breadcrumbName => name;
2928

30-
@override
29+
/// Whether this is "package-public."
30+
///
31+
/// A "package-public" element satisfies the following requirements:
32+
/// * is not documented with the `@nodoc` directive,
33+
/// * for a library, is found in a package's top-level 'lib' directory, and
34+
/// not found in it's 'lib/src' directory,
35+
/// * for a library member, is in a _public_ library's exported namespace, and
36+
/// is not privately named, nor an unnamed extension,
37+
/// * for a container (class, enum, extension, extension type, mixin) member,
38+
/// is in a _public_ container, and is not privately named.
3139
bool get isPublic => name.isNotEmpty && !name.startsWith('_');
3240

3341
@override

lib/src/model/package.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ const String htmlBasePlaceholder = r'%%__HTMLBASE_dartdoc_internal__%%';
2929
/// A [LibraryContainer] that contains [Library] objects related to a particular
3030
/// package.
3131
class Package extends LibraryContainer
32-
with Nameable, Locatable, Warnable, CommentReferable
33-
implements Privacy {
32+
with Nameable, Locatable, Warnable, CommentReferable {
3433
@override
3534
final String name;
3635

lib/src/model/privacy.dart

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

lib/src/model_utils.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,6 @@ extension IterableOfDocumentableExtension<E extends Documentable>
9595
Iterable<E> get whereDocumented => where((e) => e.isDocumented).wherePublic;
9696
}
9797

98-
extension IterableOfNameableExtension<E extends Privacy> on Iterable<E> {
98+
extension IterableOfNameableExtension<E extends Nameable> on Iterable<E> {
9999
Iterable<E> get wherePublic => where((e) => e.isPublic);
100100
}

0 commit comments

Comments
 (0)