check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addExtensionDeclaration((node) {
final onClause = node.onClause;
if (onClause == null) return;
final extendedType = onClause.extendedType.type;
if (extendedType is! InterfaceType) return;
final targetMemberNames = <String>{};
for (final method in extendedType.methods) {
final name = method.name;
if (name != null) targetMemberNames.add(name);
}
for (final getter in extendedType.getters) {
final name = getter.name;
if (name != null) targetMemberNames.add(name);
}
for (final setter in extendedType.setters) {
final name = setter.name;
if (name != null) targetMemberNames.add(name);
}
for (final member in node.body.members) {
if (member is MethodDeclaration) {
if (targetMemberNames.contains(member.name.lexeme)) {
reportAtToken(member.name);
}
}
}
});
}