Avoid deprecated analyzer apis

This commit is contained in:
Simon Binder 2021-04-21 20:39:08 +02:00
parent 17f43bc9fc
commit 3d6537ccfb
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
4 changed files with 29 additions and 10 deletions

View File

@ -1,3 +1,4 @@
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/dart/element/type.dart';
@ -37,10 +38,12 @@ abstract class BackendTask {
final library = element.library; final library = element.library;
if (library == null) return null; if (library == null) return null;
final resolvedLibrary = final info = await library.session.getResolvedLibraryByElement2(library);
await library.session.getResolvedLibraryByElement(library); if (info is ResolvedLibraryResult) {
return info.getElementDeclaration(element)?.node;
return resolvedLibrary.getElementDeclaration(element)?.node; } else {
return null;
}
} }
/// Checks whether a file at [uri] exists. /// Checks whether a file at [uri] exists.

View File

@ -1,11 +1,13 @@
//@dart=2.9 //@dart=2.9
import 'dart:async'; import 'dart:async';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/analysis/session.dart'; import 'package:analyzer/dart/analysis/session.dart';
import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart';
import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/dart/element/type.dart';
import 'package:build/build.dart'; import 'package:build/build.dart';
import 'package:moor_generator/src/backends/backend.dart';
import 'package:source_gen/source_gen.dart'; import 'package:source_gen/source_gen.dart';
/// A serialized version of a [DartType]. /// A serialized version of a [DartType].
@ -121,7 +123,12 @@ class TypeDeserializer {
// ignore: literal_only_boolean_expressions // ignore: literal_only_boolean_expressions
while (true) { while (true) {
try { try {
return session.getLibraryByUri(uri.toString()); final info = await session.getLibraryByUri2(uri.toString());
if (info is LibraryElementResult) {
return info.element;
} else {
throw NotALibraryException(uri);
}
} on InconsistentAnalysisException { } on InconsistentAnalysisException {
_lastSession = null; // Invalidate session, then try again _lastSession = null; // Invalidate session, then try again
session = await _obtainSession(); session = await _obtainSession();

View File

@ -2,14 +2,15 @@
// ignore_for_file: implementation_imports // ignore_for_file: implementation_imports
import 'dart:async'; import 'dart:async';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/file_system/file_system.dart'; import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/dart/analysis/driver.dart'; import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/generated/source.dart' show SourceKind;
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:moor_generator/src/analyzer/options.dart'; import 'package:moor_generator/src/analyzer/options.dart';
import 'package:moor_generator/src/analyzer/runner/file_graph.dart'; import 'package:moor_generator/src/analyzer/runner/file_graph.dart';
import 'package:moor_generator/src/analyzer/session.dart'; import 'package:moor_generator/src/analyzer/session.dart';
import 'package:moor_generator/src/backends/backend.dart';
import 'package:moor_generator/src/services/ide/moor_ide.dart'; import 'package:moor_generator/src/services/ide/moor_ide.dart';
import 'package:moor_generator/src/utils/options_reader.dart' as options; import 'package:moor_generator/src/utils/options_reader.dart' as options;
@ -131,12 +132,20 @@ class MoorDriver implements AnalysisDriverGeneric {
} }
Future<LibraryElement> resolveDart(String path) async { Future<LibraryElement> resolveDart(String path) async {
final result = await dartDriver.currentSession.getResolvedLibrary(path); final result = await dartDriver.currentSession.getResolvedLibrary2(path);
if (result is ResolvedLibraryResult) {
return result.element; return result.element;
} }
throw NotALibraryException(Uri.parse(path));
}
Future<bool> isDartLibrary(String path) async { Future<bool> isDartLibrary(String path) async {
return await dartDriver.getSourceKind(path) == SourceKind.LIBRARY; final info = dartDriver.getFileSync2(path);
if (info is FileResult) {
return !info.isPart;
}
return false;
} }
bool doesFileExist(String path) { bool doesFileExist(String path) {

View File

@ -28,7 +28,7 @@ dependencies:
sqlparser: ^0.15.0 sqlparser: ^0.15.0
# Dart analysis # Dart analysis
analyzer: "^1.1.0" analyzer: "^1.5.0"
analyzer_plugin_fork: "^0.5.0" analyzer_plugin_fork: "^0.5.0"
source_span: ^1.5.5 source_span: ^1.5.5