checkStructure method
Indexes the Dart files among files, the text files of the rendered
app of result by path, runs the structural rules of its present roles
with the data it collected and the texts, and checks the symbols of
their interfaces.
owners names who generated each file; the rules of the roles check
only files with an owner.
Throws an ArgumentError if the case of result did not resolve.
Implementation
List<SmfIssue> checkStructure(
ContractResult result, {
required Map<String, String> files,
required Map<String, ContributionOrigin> owners,
}) {
final (:indexes, :issues) = _index(files, owners);
return [...issues, ..._structureIssues(result, indexes, files, owners)];
}