Skip to content

Commit f7d996a

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Support for dependencies on mixin members, tests.
Change-Id: I9cccc5959d0b5702539b569dce8e5d8e14615adc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/421902 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent dd0a62e commit f7d996a

File tree

4 files changed

+2567
-297
lines changed

4 files changed

+2567
-297
lines changed

pkg/analyzer/lib/src/fine/requirement_failure.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ class TopLevelIdMismatch extends TopLevelFailure {
9494
});
9595
}
9696

97-
class TopLevelNotClass extends TopLevelFailure {
98-
TopLevelNotClass({
97+
class TopLevelNotInterface extends TopLevelFailure {
98+
TopLevelNotInterface({
9999
required super.libraryUri,
100100
required super.name,
101101
});

pkg/analyzer/lib/src/fine/requirements.dart

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ class BundleRequirementsManifest {
129129
for (var interfaceEntry in libraryEntry.value.entries) {
130130
var interfaceName = interfaceEntry.key;
131131
var interfaceItem = libraryManifest.items[interfaceName];
132-
if (interfaceItem is! ClassItem) {
133-
return TopLevelNotClass(
132+
if (interfaceItem is! InterfaceItem) {
133+
return TopLevelNotInterface(
134134
libraryUri: libraryUri,
135135
name: interfaceName,
136136
);
@@ -185,17 +185,12 @@ class BundleRequirementsManifest {
185185
return;
186186
}
187187

188-
// TODO(scheglov): support other elements
189-
if (element is! ClassElement2) {
190-
return;
191-
}
192-
193188
var interfacesMap = interfaceMembers[libraryElement.uri] ??= {};
194189

195190
var interfaceName = element.lookupName!.asLookupName;
196191
var interfaceMap = interfacesMap[interfaceName] ??= {};
197192

198-
var classItem = manifest.items[interfaceName] as ClassItem?;
193+
var classItem = manifest.items[interfaceName] as InterfaceItem?;
199194
// TODO(scheglov): can this happen?
200195
if (classItem == null) {
201196
return;

0 commit comments

Comments
 (0)