@@ -86,10 +86,6 @@ class LibraryAnalyzer {
8686 final Map <FileState , FileAnalysis > _libraryFiles = {};
8787 late final LibraryVerificationContext _libraryVerificationContext;
8888
89- /// One verifier per library so that state of elements can be shared across
90- /// fragments in all files of this library.
91- late final InheritanceOverrideVerifier _inheritanceOverrideVerifier;
92-
9389 final TestingData ? _testingData;
9490 final TypeSystemOperations _typeSystemOperations;
9591
@@ -115,10 +111,6 @@ class LibraryAnalyzer {
115111 typeSystem: _typeSystem,
116112 ),
117113 );
118- _inheritanceOverrideVerifier = InheritanceOverrideVerifier (
119- _typeSystem,
120- _inheritance,
121- );
122114 }
123115
124116 TypeProviderImpl get _typeProvider => _libraryElement.typeProvider;
@@ -341,8 +333,17 @@ class LibraryAnalyzer {
341333 /// Compute diagnostics in [_libraryFiles] , including errors and warnings,
342334 /// lints, and a few other cases.
343335 void _computeDiagnostics () {
336+ var inheritanceOverrideVerifier = InheritanceOverrideVerifier (
337+ _typeSystem,
338+ _inheritance,
339+ diagnosticReportersByFragment: {
340+ for (var fileAnalysis in _libraryFiles.values)
341+ fileAnalysis.fragment: fileAnalysis.diagnosticReporter,
342+ },
343+ );
344+
344345 for (var fileAnalysis in _libraryFiles.values) {
345- _computeVerifyErrors (fileAnalysis);
346+ _computeVerifyErrors (fileAnalysis, inheritanceOverrideVerifier );
346347 }
347348
348349 MemberDuplicateDefinitionVerifier .checkLibrary (
@@ -469,14 +470,17 @@ class LibraryAnalyzer {
469470 ).afterLibrary ();
470471 }
471472
472- void _computeVerifyErrors (FileAnalysis fileAnalysis) {
473+ void _computeVerifyErrors (
474+ FileAnalysis fileAnalysis,
475+ InheritanceOverrideVerifier inheritanceOverrideVerifier,
476+ ) {
473477 var diagnosticReporter = fileAnalysis.diagnosticReporter;
474478 var unit = fileAnalysis.unit;
475479
476480 _computeConstantErrors (fileAnalysis);
477481
478482 // Compute inheritance and override errors.
479- _inheritanceOverrideVerifier .verifyUnit (unit, diagnosticReporter);
483+ inheritanceOverrideVerifier .verifyUnit (unit, diagnosticReporter);
480484
481485 // Use the ErrorVerifier to compute errors.
482486 ErrorVerifier errorVerifier = ErrorVerifier (
0 commit comments