Skip to content

[api_summary] Track contractual pkg:meta annotations (@protected, @internal, etc.) #2465

Description

@kevmoo

Currently, api_summary tracks @experimental, @Deprecated, and @visibleForTesting, but ignores other contractual annotations in pkg:meta, such as @protected, @internal, @visibleForOverriding, and @mustCallSuper. Adding or modifying these annotations imposes usage restrictions on downstream consumers and constitutes a breaking API change.

Example

Changing:

class C {
  void f() {}
}

to:

import 'package:meta/meta.dart';
class C {
  @protected
  void f() {}
}

currently produces identical api_summary output.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions