analyzer: Simplify some FileAnalysis usage

ErrorVerifier no longer uses it.

ImportsTracking can be set at creation-time, like other fields, and be
final.

Change-Id: Iac86d571faaeb4419ea54289f48e755a7a8f8a4d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/431900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_analysis.dart b/pkg/analyzer/lib/src/dart/analysis/file_analysis.dart
index 22ef307..c7ce899 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_analysis.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_analysis.dart
@@ -17,7 +17,7 @@
   final CompilationUnitImpl unit;
   final LibraryFragmentImpl element;
   final IgnoreInfo ignoreInfo;
-  late ImportsTracking importsTracking;
+  final ImportsTracking importsTracking;
 
   FileAnalysis({
     required this.file,
@@ -25,5 +25,6 @@
     required this.unit,
     required this.element,
   }) : errorReporter = ErrorReporter(errorListener, file.source),
-       ignoreInfo = IgnoreInfo.forDart(unit, file.content);
+       ignoreInfo = IgnoreInfo.forDart(unit, file.content),
+       importsTracking = element.scope.importsTrackingInit();
 }
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 51bd949..d13bb4a 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -107,7 +107,6 @@
       constructorFieldsVerifier: ConstructorFieldsVerifier(
         typeSystem: _typeSystem,
       ),
-      files: _libraryFiles,
     );
   }
 
@@ -674,14 +673,6 @@
       fileElement: _libraryElement.definingCompilationUnit,
     );
 
-    // Configure scopes for all files to track imports usages.
-    // Associate tracking objects with file objects.
-    for (var fileAnalysis in _libraryFiles.values) {
-      var scope = fileAnalysis.element.scope;
-      var tracking = scope.importsTrackingInit();
-      fileAnalysis.importsTracking = tracking;
-    }
-
     for (var fileAnalysis in _libraryFiles.values) {
       _resolveFile(fileAnalysis);
     }
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index d832b3d..a681826 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -20,7 +20,6 @@
 import 'package:analyzer/error/error.dart';
 import 'package:analyzer/error/listener.dart';
 import 'package:analyzer/src/dart/analysis/analysis_options.dart';
-import 'package:analyzer/src/dart/analysis/file_analysis.dart';
 import 'package:analyzer/src/dart/analysis/file_state.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
 import 'package:analyzer/src/dart/ast/extensions.dart';
@@ -6537,7 +6536,6 @@
   final duplicationDefinitionContext = DuplicationDefinitionContext();
   final LibraryFileKind libraryKind;
   final ConstructorFieldsVerifier constructorFieldsVerifier;
-  final Map<FileState, FileAnalysis> files;
 
   /// A table mapping names to the exported elements.
   final Map<String, Element> _exportedElements = {};
@@ -6554,7 +6552,6 @@
   LibraryVerificationContext({
     required this.libraryKind,
     required this.constructorFieldsVerifier,
-    required this.files,
   });
 
   bool libraryCycleContains(Uri uri) {