@@ -617,21 +617,41 @@ class CollectReportPage extends DiagnosticPage {
617
617
var driverMapValues = server.driverMap.values.toList ();
618
618
var contexts = [];
619
619
collectedData['contexts' ] = contexts;
620
+
620
621
Set <String > uniqueKnownFiles = {};
621
- for (var data in driverMapValues) {
622
+ for (var driver in driverMapValues) {
622
623
var contextData = {};
623
624
contexts.add (contextData);
624
625
// We don't include the name because the name might include confidential
625
626
// information.
626
- var knownFiles = data .knownFiles.map ((f) => f.path).toSet ();
627
- contextData['priorityFiles' ] = data .priorityFiles.length;
628
- contextData['addedFiles' ] = data .addedFiles.length;
627
+ var knownFiles = driver .knownFiles.map ((f) => f.path).toSet ();
628
+ contextData['priorityFiles' ] = driver .priorityFiles.length;
629
+ contextData['addedFiles' ] = driver .addedFiles.length;
629
630
contextData['knownFiles' ] = knownFiles.length;
630
631
uniqueKnownFiles.addAll (knownFiles);
631
632
632
- var collectedOptionsData = _collectOptionsData (data );
633
+ var collectedOptionsData = _collectOptionsData (driver );
633
634
contextData['lints' ] = collectedOptionsData.lints.sorted ();
634
635
contextData['plugins' ] = collectedOptionsData.plugins.toList ();
636
+
637
+ Set <LibraryCycle > cycles = {};
638
+ var contextRoot = driver.analysisContext! .contextRoot;
639
+ for (var filePath in contextRoot.analyzedFiles ()) {
640
+ var fileState = driver.fsState.getFileForPath (filePath);
641
+ var kind = fileState.kind;
642
+ if (kind is LibraryFileKind ) {
643
+ cycles.add (kind.libraryCycle);
644
+ }
645
+ }
646
+ var cycleData = < int , int > {};
647
+ for (var cycle in cycles) {
648
+ cycleData[cycle.size] = (cycleData[cycle.size] ?? 0 ) + 1 ;
649
+ }
650
+ var sortedCycleData = < int , int > {};
651
+ for (var size in cycleData.keys.toList ()..sort ()) {
652
+ sortedCycleData[size] = cycleData[size]! ;
653
+ }
654
+ contextData['libraryCycleData' ] = sortedCycleData;
635
655
}
636
656
collectedData['uniqueKnownFiles' ] = uniqueKnownFiles.length;
637
657
}
0 commit comments