Version 2.16.0-39.0.dev

Merge commit '6bf4e4645c6d13ba5d8e540f664b850523473572' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 8061657..a58388c 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -774,14 +774,8 @@
     // We use affected files to remove library elements, and we can only get
     // these library elements when we link or load them, using library cycles.
     // And we get library cycles by asking `directReferencedFiles`.
-    while (true) {
-      final knownFiles = this.knownFiles.toList();
-      for (var file in knownFiles.toList()) {
-        file.directReferencedFiles;
-      }
-      if (this.knownFiles.length == knownFiles.length) {
-        break;
-      }
+    for (var file in knownFiles.toList()) {
+      file.directReferencedFiles;
     }
 
     collectAffected(FileState file) {
diff --git a/tools/VERSION b/tools/VERSION
index 8488061..076e78e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 16
 PATCH 0
-PRERELEASE 38
+PRERELEASE 39
 PRERELEASE_PATCH 0
\ No newline at end of file