getParts method
Implementation
@visibleForTesting
List<String> getParts(ParsedUnitResult parsed) {
Iterable<String> parts() sync* {
final lines = parsed.content.split('\n');
const avoid = ['export', 'import', 'library', 'as', 'show', 'hide', '//'];
for (final line in lines) {
final trimmed = line.trim();
if (trimmed.isEmpty) continue;
if (avoid.any(trimmed.startsWith)) continue;
if (!trimmed.startsWith('part')) {
break;
}
if (trimmed.split("'") case [_, final String part, ...]) {
yield fs.path.normalize(
fs.path.join(fs.path.dirname(parsed.path), part),
);
}
}
}
return parts().toList();
}