check method
void
check(
- DcqRegistry registry
)
Implementation
@override
void check(
DcqRegistry registry,
) {
registry.addSwitchStatement((node) {
final unit = node.root as CompilationUnit;
final lineInfo = unit.lineInfo;
final members = node.members;
if (members.length < 3) return;
for (var i = 1; i < members.length; i++) {
final prev = members[i - 1];
final curr = members[i];
if (prev.statements.length < 2) continue;
final prevEndLine = lineInfo.getLocation(prev.end).lineNumber;
var currStartLine = lineInfo.getLocation(curr.offset).lineNumber;
Token? comment = curr.beginToken.precedingComments;
while (comment != null) {
final commentLine = lineInfo.getLocation(comment.offset).lineNumber;
if (commentLine < currStartLine) {
currStartLine = commentLine;
}
comment = comment.next;
}
if (currStartLine - prevEndLine < 2) {
reportAtNode(curr);
}
}
});
}