Skip to content

Commit 03849e0

Browse files
authored
Upgrade to analyzer 0.39.2+1 and fix using deprecated APIs. (#2093)
1 parent 1e56a66 commit 03849e0

7 files changed

+27
-33
lines changed

lib/src/element_type.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import 'dart:collection';
1010
import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/dart/element/nullability_suffix.dart';
1212
import 'package:analyzer/dart/element/type.dart';
13+
import 'package:analyzer/src/generated/type_system.dart';
1314
import 'package:dartdoc/src/model/model.dart';
1415
import 'package:dartdoc/src/render/element_type_renderer.dart';
1516

@@ -278,8 +279,8 @@ abstract class DefinedElementType extends ElementType {
278279
DartType get instantiatedType {
279280
if (_instantiatedType == null) {
280281
if (!interfaceType.typeArguments.every((t) => t is InterfaceType)) {
281-
_instantiatedType =
282-
packageGraph.typeSystem.instantiateToBounds(interfaceType);
282+
var typeSystem = library.element.typeSystem as TypeSystemImpl;
283+
_instantiatedType = typeSystem.instantiateToBounds(interfaceType);
283284
} else {
284285
_instantiatedType = interfaceType;
285286
}

lib/src/model/extension.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Extension extends Container
3636

3737
/// The instantiated to bounds [extendedType] of this extension is a subtype of
3838
/// [t].
39-
bool isSubtypeOf(DefinedElementType t) => packageGraph.typeSystem
39+
bool isSubtypeOf(DefinedElementType t) => library.typeSystem
4040
.isSubtypeOf(extendedType.instantiatedType, t.instantiatedType);
4141

4242
bool isBoundSupertypeTo(DefinedElementType t) =>
@@ -52,7 +52,7 @@ class Extension extends Container
5252
visited.add(superType);
5353
if (superClass == extendedType.type.element &&
5454
(superType == extendedType.instantiatedType ||
55-
packageGraph.typeSystem
55+
library.typeSystem
5656
.isSubtypeOf(superType, extendedType.instantiatedType))) {
5757
return true;
5858
}

lib/src/model/library.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'package:analyzer/dart/analysis/results.dart';
66
import 'package:analyzer/dart/ast/ast.dart';
77
import 'package:analyzer/dart/element/element.dart';
8+
import 'package:analyzer/dart/element/type_system.dart';
89
import 'package:analyzer/dart/element/visitor.dart';
910
import 'package:analyzer/source/line_info.dart';
1011
import 'package:analyzer/src/dart/analysis/driver.dart';
@@ -77,11 +78,11 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
7778
// Initialize the list of elements defined in this library and
7879
// exported via its export directives.
7980
Set<Element> exportedAndLocalElements =
80-
_libraryElement.exportNamespace.definedNames.values.toSet();
81+
element.exportNamespace.definedNames.values.toSet();
8182
// TODO(jcollins-g): Consider switch to [_libraryElement.topLevelElements].
8283
exportedAndLocalElements
83-
.addAll(getDefinedElements(_libraryElement.definingCompilationUnit));
84-
for (CompilationUnitElement cu in _libraryElement.parts) {
84+
.addAll(getDefinedElements(element.definingCompilationUnit));
85+
for (CompilationUnitElement cu in element.parts) {
8586
exportedAndLocalElements.addAll(getDefinedElements(cu));
8687
}
8788
_exportedAndLocalElements = exportedAndLocalElements.toList();
@@ -105,7 +106,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
105106

106107
List<String> _allOriginalModelElementNames;
107108

108-
bool get isInSdk => _libraryElement.isInSdk;
109+
bool get isInSdk => element.isInSdk;
109110

110111
final Package _package;
111112

@@ -160,11 +161,14 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
160161

161162
@override
162163
CompilationUnitElement get compilationUnitElement =>
163-
(element as LibraryElement).definingCompilationUnit;
164+
element.definingCompilationUnit;
164165

165166
@override
166167
Iterable<Class> get classes => allClasses.where((c) => !c.isErrorOrException);
167168

169+
@override
170+
LibraryElement get element => super.element;
171+
168172
List<Extension> _extensions;
169173

170174
@override
@@ -240,10 +244,8 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
240244
if (_importedExportedLibraries == null) {
241245
_importedExportedLibraries = Set();
242246
Set<LibraryElement> importedExportedLibraryElements = Set();
243-
importedExportedLibraryElements
244-
.addAll((element as LibraryElement).importedLibraries);
245-
importedExportedLibraryElements
246-
.addAll((element as LibraryElement).exportedLibraries);
247+
importedExportedLibraryElements.addAll(element.importedLibraries);
248+
importedExportedLibraryElements.addAll(element.exportedLibraries);
247249
for (LibraryElement l in importedExportedLibraryElements) {
248250
Library lib = ModelElement.from(l, library, packageGraph);
249251
_importedExportedLibraries.add(lib);
@@ -260,7 +262,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
260262
if (_prefixToLibrary == null) {
261263
_prefixToLibrary = {};
262264
// It is possible to have overlapping prefixes.
263-
for (ImportElement i in (element as LibraryElement).imports) {
265+
for (ImportElement i in element.imports) {
264266
// Ignore invalid imports.
265267
if (i.prefix?.name != null && i.importedLibrary != null) {
266268
_prefixToLibrary.putIfAbsent(i.prefix?.name, () => Set());
@@ -401,8 +403,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
401403

402404
InheritanceManager3 get inheritanceManager {
403405
if (_inheritanceManager == null) {
404-
var typeSystem = element.context.typeSystem;
405-
_inheritanceManager = InheritanceManager3(typeSystem);
406+
_inheritanceManager = InheritanceManager3();
406407
}
407408
return _inheritanceManager;
408409
}
@@ -479,6 +480,8 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
479480
return _typedefs;
480481
}
481482

483+
TypeSystem get typeSystem => element.typeSystem;
484+
482485
List<Class> _classes;
483486

484487
List<Class> get allClasses {
@@ -493,8 +496,6 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
493496
return _classes;
494497
}
495498

496-
LibraryElement get _libraryElement => (element as LibraryElement);
497-
498499
Class getClassByName(String name) {
499500
return allClasses.firstWhere((it) => it.name == name, orElse: () => null);
500501
}

lib/src/model/model_element.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -666,9 +666,8 @@ abstract class ModelElement extends Canonicalization
666666

667667
if (candidateLibraries != null) {
668668
candidateLibraries = candidateLibraries.where((l) {
669-
Element lookup = (l.element as LibraryElement)
670-
.exportNamespace
671-
.definedNames[topLevelElement?.name];
669+
Element lookup =
670+
l.element.exportNamespace.definedNames[topLevelElement?.name];
672671
if (lookup is PropertyAccessorElement) {
673672
lookup = (lookup as PropertyAccessorElement).variable;
674673
}

lib/src/model/package_builder.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,7 @@ class PackageBuilder {
4646
RendererFactory rendererFactory = HtmlRenderFactory();
4747

4848
PackageGraph newGraph = PackageGraph.UninitializedPackageGraph(
49-
config,
50-
driver,
51-
await driver.currentSession.typeSystem,
52-
sdk,
53-
hasEmbedderSdkFiles,
54-
rendererFactory);
49+
config, driver, sdk, hasEmbedderSdkFiles, rendererFactory);
5550
await getLibraries(newGraph);
5651
await newGraph.initializePackageGraph();
5752
return newGraph;

lib/src/model/package_graph.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import 'package:analyzer/src/dart/element/member.dart';
1313
import 'package:analyzer/src/generated/sdk.dart';
1414
import 'package:analyzer/src/generated/source.dart';
1515
import 'package:analyzer/src/generated/source_io.dart';
16-
import 'package:analyzer/src/generated/type_system.dart' show Dart2TypeSystem;
1716
import 'package:collection/collection.dart';
1817
import 'package:dartdoc/src/dartdoc_options.dart';
1918
import 'package:dartdoc/src/model/model.dart';
@@ -25,8 +24,8 @@ import 'package:dartdoc/src/tuple.dart';
2524
import 'package:dartdoc/src/warnings.dart';
2625

2726
class PackageGraph {
28-
PackageGraph.UninitializedPackageGraph(this.config, this.driver,
29-
this.typeSystem, this.sdk, this.hasEmbedderSdk, this.rendererFactory)
27+
PackageGraph.UninitializedPackageGraph(this.config, this.driver, this.sdk,
28+
this.hasEmbedderSdk, this.rendererFactory)
3029
: packageMeta = config.topLevelPackageMeta,
3130
session = driver.currentSession {
3231
_packageWarningCounter = PackageWarningCounter(this);
@@ -232,7 +231,6 @@ class PackageGraph {
232231
/// TODO(brianwilkerson) Replace the driver with the session.
233232
final AnalysisDriver driver;
234233
final AnalysisSession session;
235-
final Dart2TypeSystem typeSystem;
236234
final DartSdk sdk;
237235

238236
Map<Source, SdkLibrary> _sdkLibrarySources;
@@ -678,7 +676,7 @@ class PackageGraph {
678676
static Element getBasestElement(Element possibleMember) {
679677
Element element = possibleMember;
680678
while (element is Member) {
681-
element = (element as Member).baseElement;
679+
element = (element as Member).declaration;
682680
}
683681
return element;
684682
}

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ environment:
77
sdk: '>=2.6.0 <3.0.0'
88

99
dependencies:
10-
analyzer: ^0.39.1
10+
analyzer: ^0.39.2+1
1111
args: '>=1.5.0 <2.0.0'
1212
collection: ^1.2.0
1313
crypto: ^2.0.6

0 commit comments

Comments
 (0)