diff --git a/analysis_options.yaml b/analysis_options.yaml index aa250c6f40..5c03c8d93e 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -8,10 +8,8 @@ analyzer: # TODO(davidmorgan): update code for this lint. discarded_futures: ignore exclude: - # Prevents extra work during some e2e test runs. - - "dart2js_test/**" - # Common top level directories containing generated files in any package. - ".dart_tool/**" + - "build_runner/test/fixtures/**" linter: rules: diff --git a/build_runner/lib/src/build/resolver/resolver.dart b/build_runner/lib/src/build/resolver/resolver.dart index 7a3fcb7cd9..bcc4d70677 100644 --- a/build_runner/lib/src/build/resolver/resolver.dart +++ b/build_runner/lib/src/build/resolver/resolver.dart @@ -2,8 +2,6 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -// ignore_for_file: deprecated_member_use until analyzer 7 support is dropped. - import 'dart:async'; import 'dart:collection'; import 'dart:isolate'; @@ -11,7 +9,7 @@ import 'dart:isolate'; import 'package:analyzer/dart/analysis/features.dart'; import 'package:analyzer/dart/analysis/results.dart'; import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/dart/element/element2.dart'; +import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/diagnostic/diagnostic.dart'; import 'package:analyzer/error/error.dart'; // ignore: implementation_imports @@ -49,11 +47,11 @@ class PerActionResolver implements ReleasableResolver { this._step, ); - Stream get _librariesFromEntrypoints async* { + Stream get _librariesFromEntrypoints async* { await _resolveIfNecessary(_step.inputId, transitive: true); - final seen = {}; - final toVisit = Queue(); + final seen = {}; + final toVisit = Queue(); // keep a copy of entry points in case [_resolveIfNecessary] is called // before this stream is done. @@ -74,11 +72,11 @@ class PerActionResolver implements ReleasableResolver { // model manually. yield current; final toCrawl = - current.firstFragment.libraryImports2 - .map((import) => import.importedLibrary2) + current.firstFragment.libraryImports + .map((import) => import.importedLibrary) .followedBy( - current.firstFragment.libraryExports2.map( - (export) => export.exportedLibrary2, + current.firstFragment.libraryExports.map( + (export) => export.exportedLibrary, ), ) .nonNulls @@ -90,16 +88,16 @@ class PerActionResolver implements ReleasableResolver { } @override - Stream get libraries async* { + Stream get libraries async* { yield* _delegate.sdkLibraries; yield* _librariesFromEntrypoints.where((library) => !library.isInSdk); } @override - Future findLibraryByName(String libraryName) => + Future findLibraryByName(String libraryName) => _step.trackStage('findLibraryByName $libraryName', () async { await for (final library in libraries) { - if (library.name3 == libraryName) return library; + if (library.name == libraryName) return library; } return null; }); @@ -135,7 +133,7 @@ class PerActionResolver implements ReleasableResolver { }); @override - Future libraryFor( + Future libraryFor( AssetId assetId, { bool allowSyntaxErrors = false, }) => _step.trackStage('libraryFor $assetId', () async { @@ -189,7 +187,7 @@ class PerActionResolver implements ReleasableResolver { } @override - Future assetIdForElement(Element2 element) => + Future assetIdForElement(Element element) => _delegate.assetIdForElement(element); } @@ -199,7 +197,7 @@ class AnalyzerResolver implements ReleasableResolver { final AnalyzeActivityPool _driverPool; final SharedResourcePool _readAndWritePool; - Future>? _sdkLibraries; + Future>? _sdkLibraries; AnalyzerResolver( this._driver, @@ -269,7 +267,7 @@ class AnalyzerResolver implements ReleasableResolver { final parsedResult = _driver.currentSession.getParsedUnit(path) as ParsedUnitResult; if (!allowSyntaxErrors && - parsedResult.errors.any((e) => e.severity == Severity.error)) { + parsedResult.diagnostics.any((e) => e.severity == Severity.error)) { throw SyntaxErrorInAssetException(assetId, [parsedResult]); } return parsedResult.unit; @@ -277,7 +275,7 @@ class AnalyzerResolver implements ReleasableResolver { } @override - Future libraryFor( + Future libraryFor( AssetId assetId, { bool allowSyntaxErrors = false, }) async { @@ -302,21 +300,19 @@ class AnalyzerResolver implements ReleasableResolver { ); if (!allowSyntaxErrors) { - final errors = await _syntacticErrorsFor(library.element2); + final errors = await _syntacticErrorsFor(library.element); if (errors.isNotEmpty) { throw SyntaxErrorInAssetException(assetId, errors); } } - return library.element2; + return library.element; } /// Finds syntax errors in files related to the [element]. /// /// This includes the main library and existing part files. - Future> _syntacticErrorsFor( - LibraryElement2 element, - ) async { + Future> _syntacticErrorsFor(LibraryElement element) async { final existingSources = []; for (final fragment in element.fragments) { @@ -335,8 +331,9 @@ class AnalyzerResolver implements ReleasableResolver { for (final path in paths) { final result = await _driver.currentSession.getErrors(path); if (result is ErrorsResult && - result.errors.any( - (error) => error.errorCode.type == ErrorType.SYNTACTIC_ERROR, + result.diagnostics.any( + (error) => + error.diagnosticCode.type == DiagnosticType.SYNTACTIC_ERROR, )) { relevantResults.add(result); } @@ -351,13 +348,13 @@ class AnalyzerResolver implements ReleasableResolver { void release() {} @override - Stream get libraries { + Stream get libraries { // We don't know what libraries to expose without leaking libraries written // by later phases. throw UnimplementedError(); } - Stream get sdkLibraries { + Stream get sdkLibraries { final loadLibraries = _sdkLibraries ??= Future.sync(() { final publicSdkUris = _driver.sdkLibraryUris.where( @@ -370,7 +367,7 @@ class AnalyzerResolver implements ReleasableResolver { final result = await _driver.currentSession.getLibraryByUri(uri.toString()) as LibraryElementResult; - return result.element2; + return result.element; }); }), ); @@ -380,28 +377,28 @@ class AnalyzerResolver implements ReleasableResolver { } @override - Future findLibraryByName(String libraryName) { + Future findLibraryByName(String libraryName) { // We don't know what libraries to expose without leaking libraries written // by later phases. throw UnimplementedError(); } @override - Future assetIdForElement(Element2 element) async { - if (element is MultiplyDefinedElement2) { - throw UnresolvableAssetException('${element.name3} is ambiguous'); + Future assetIdForElement(Element element) async { + if (element is MultiplyDefinedElement) { + throw UnresolvableAssetException('${element.name} is ambiguous'); } final source = element.firstFragment.libraryFragment?.source; if (source == null) { throw UnresolvableAssetException( - '${element.name3} does not have a source', + '${element.name} does not have a source', ); } final uri = source.uri; if (!uri.isScheme('package') && !uri.isScheme('asset')) { - throw UnresolvableAssetException('${element.name3} in ${source.uri}'); + throw UnresolvableAssetException('${element.name} in ${source.uri}'); } return AssetId.resolve(source.uri); }