Upgrade to analyzer 0.39.2+1 and fix using deprecated APIs. (#2093)
diff --git a/lib/src/element_type.dart b/lib/src/element_type.dart
index fc0d5ef..3e9e618 100644
--- a/lib/src/element_type.dart
+++ b/lib/src/element_type.dart
@@ -10,6 +10,7 @@
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/nullability_suffix.dart';
import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/src/generated/type_system.dart';
import 'package:dartdoc/src/model/model.dart';
import 'package:dartdoc/src/render/element_type_renderer.dart';
@@ -278,8 +279,8 @@
DartType get instantiatedType {
if (_instantiatedType == null) {
if (!interfaceType.typeArguments.every((t) => t is InterfaceType)) {
- _instantiatedType =
- packageGraph.typeSystem.instantiateToBounds(interfaceType);
+ var typeSystem = library.element.typeSystem as TypeSystemImpl;
+ _instantiatedType = typeSystem.instantiateToBounds(interfaceType);
} else {
_instantiatedType = interfaceType;
}
diff --git a/lib/src/model/extension.dart b/lib/src/model/extension.dart
index 6755a70..018bcae 100644
--- a/lib/src/model/extension.dart
+++ b/lib/src/model/extension.dart
@@ -36,7 +36,7 @@
/// The instantiated to bounds [extendedType] of this extension is a subtype of
/// [t].
- bool isSubtypeOf(DefinedElementType t) => packageGraph.typeSystem
+ bool isSubtypeOf(DefinedElementType t) => library.typeSystem
.isSubtypeOf(extendedType.instantiatedType, t.instantiatedType);
bool isBoundSupertypeTo(DefinedElementType t) =>
@@ -52,7 +52,7 @@
visited.add(superType);
if (superClass == extendedType.type.element &&
(superType == extendedType.instantiatedType ||
- packageGraph.typeSystem
+ library.typeSystem
.isSubtypeOf(superType, extendedType.instantiatedType))) {
return true;
}
diff --git a/lib/src/model/library.dart b/lib/src/model/library.dart
index aa54ce0..7b511ca 100644
--- a/lib/src/model/library.dart
+++ b/lib/src/model/library.dart
@@ -5,6 +5,7 @@
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/type_system.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/source/line_info.dart';
import 'package:analyzer/src/dart/analysis/driver.dart';
@@ -77,11 +78,11 @@
// Initialize the list of elements defined in this library and
// exported via its export directives.
Set<Element> exportedAndLocalElements =
- _libraryElement.exportNamespace.definedNames.values.toSet();
+ element.exportNamespace.definedNames.values.toSet();
// TODO(jcollins-g): Consider switch to [_libraryElement.topLevelElements].
exportedAndLocalElements
- .addAll(getDefinedElements(_libraryElement.definingCompilationUnit));
- for (CompilationUnitElement cu in _libraryElement.parts) {
+ .addAll(getDefinedElements(element.definingCompilationUnit));
+ for (CompilationUnitElement cu in element.parts) {
exportedAndLocalElements.addAll(getDefinedElements(cu));
}
_exportedAndLocalElements = exportedAndLocalElements.toList();
@@ -105,7 +106,7 @@
List<String> _allOriginalModelElementNames;
- bool get isInSdk => _libraryElement.isInSdk;
+ bool get isInSdk => element.isInSdk;
final Package _package;
@@ -160,11 +161,14 @@
@override
CompilationUnitElement get compilationUnitElement =>
- (element as LibraryElement).definingCompilationUnit;
+ element.definingCompilationUnit;
@override
Iterable<Class> get classes => allClasses.where((c) => !c.isErrorOrException);
+ @override
+ LibraryElement get element => super.element;
+
List<Extension> _extensions;
@override
@@ -240,10 +244,8 @@
if (_importedExportedLibraries == null) {
_importedExportedLibraries = Set();
Set<LibraryElement> importedExportedLibraryElements = Set();
- importedExportedLibraryElements
- .addAll((element as LibraryElement).importedLibraries);
- importedExportedLibraryElements
- .addAll((element as LibraryElement).exportedLibraries);
+ importedExportedLibraryElements.addAll(element.importedLibraries);
+ importedExportedLibraryElements.addAll(element.exportedLibraries);
for (LibraryElement l in importedExportedLibraryElements) {
Library lib = ModelElement.from(l, library, packageGraph);
_importedExportedLibraries.add(lib);
@@ -260,7 +262,7 @@
if (_prefixToLibrary == null) {
_prefixToLibrary = {};
// It is possible to have overlapping prefixes.
- for (ImportElement i in (element as LibraryElement).imports) {
+ for (ImportElement i in element.imports) {
// Ignore invalid imports.
if (i.prefix?.name != null && i.importedLibrary != null) {
_prefixToLibrary.putIfAbsent(i.prefix?.name, () => Set());
@@ -401,8 +403,7 @@
InheritanceManager3 get inheritanceManager {
if (_inheritanceManager == null) {
- var typeSystem = element.context.typeSystem;
- _inheritanceManager = InheritanceManager3(typeSystem);
+ _inheritanceManager = InheritanceManager3();
}
return _inheritanceManager;
}
@@ -479,6 +480,8 @@
return _typedefs;
}
+ TypeSystem get typeSystem => element.typeSystem;
+
List<Class> _classes;
List<Class> get allClasses {
@@ -493,8 +496,6 @@
return _classes;
}
- LibraryElement get _libraryElement => (element as LibraryElement);
-
Class getClassByName(String name) {
return allClasses.firstWhere((it) => it.name == name, orElse: () => null);
}
diff --git a/lib/src/model/model_element.dart b/lib/src/model/model_element.dart
index 8d33b86..b1b4a59 100644
--- a/lib/src/model/model_element.dart
+++ b/lib/src/model/model_element.dart
@@ -666,9 +666,8 @@
if (candidateLibraries != null) {
candidateLibraries = candidateLibraries.where((l) {
- Element lookup = (l.element as LibraryElement)
- .exportNamespace
- .definedNames[topLevelElement?.name];
+ Element lookup =
+ l.element.exportNamespace.definedNames[topLevelElement?.name];
if (lookup is PropertyAccessorElement) {
lookup = (lookup as PropertyAccessorElement).variable;
}
diff --git a/lib/src/model/package_builder.dart b/lib/src/model/package_builder.dart
index 6e0982d..572faed 100644
--- a/lib/src/model/package_builder.dart
+++ b/lib/src/model/package_builder.dart
@@ -46,12 +46,7 @@
RendererFactory rendererFactory = HtmlRenderFactory();
PackageGraph newGraph = PackageGraph.UninitializedPackageGraph(
- config,
- driver,
- await driver.currentSession.typeSystem,
- sdk,
- hasEmbedderSdkFiles,
- rendererFactory);
+ config, driver, sdk, hasEmbedderSdkFiles, rendererFactory);
await getLibraries(newGraph);
await newGraph.initializePackageGraph();
return newGraph;
diff --git a/lib/src/model/package_graph.dart b/lib/src/model/package_graph.dart
index 30d6808..5fd3640 100644
--- a/lib/src/model/package_graph.dart
+++ b/lib/src/model/package_graph.dart
@@ -13,7 +13,6 @@
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
-import 'package:analyzer/src/generated/type_system.dart' show Dart2TypeSystem;
import 'package:collection/collection.dart';
import 'package:dartdoc/src/dartdoc_options.dart';
import 'package:dartdoc/src/model/model.dart';
@@ -25,8 +24,8 @@
import 'package:dartdoc/src/warnings.dart';
class PackageGraph {
- PackageGraph.UninitializedPackageGraph(this.config, this.driver,
- this.typeSystem, this.sdk, this.hasEmbedderSdk, this.rendererFactory)
+ PackageGraph.UninitializedPackageGraph(this.config, this.driver, this.sdk,
+ this.hasEmbedderSdk, this.rendererFactory)
: packageMeta = config.topLevelPackageMeta,
session = driver.currentSession {
_packageWarningCounter = PackageWarningCounter(this);
@@ -232,7 +231,6 @@
/// TODO(brianwilkerson) Replace the driver with the session.
final AnalysisDriver driver;
final AnalysisSession session;
- final Dart2TypeSystem typeSystem;
final DartSdk sdk;
Map<Source, SdkLibrary> _sdkLibrarySources;
@@ -678,7 +676,7 @@
static Element getBasestElement(Element possibleMember) {
Element element = possibleMember;
while (element is Member) {
- element = (element as Member).baseElement;
+ element = (element as Member).declaration;
}
return element;
}
diff --git a/pubspec.yaml b/pubspec.yaml
index e6a69a3..c5e3100 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -7,7 +7,7 @@
sdk: '>=2.6.0 <3.0.0'
dependencies:
- analyzer: ^0.39.1
+ analyzer: ^0.39.2+1
args: '>=1.5.0 <2.0.0'
collection: ^1.2.0
crypto: ^2.0.6