@@ -32,16 +32,14 @@ import 'package:analyzer/src/dart/analysis/file_state.dart';
32
32
import 'package:analyzer/src/dart/analysis/performance_logger.dart' ;
33
33
import 'package:analyzer/src/dart/element/element.dart' ;
34
34
import 'package:analyzer/src/dart/element/handle.dart' ;
35
+ import 'package:analyzer/src/dart/element/inheritance_manager3.dart' ;
35
36
import 'package:analyzer/src/dart/element/member.dart'
36
37
show ExecutableMember, Member, ParameterMember;
37
38
import 'package:analyzer/src/dart/sdk/sdk.dart' ;
38
39
import 'package:analyzer/src/generated/engine.dart' hide AnalysisResult;
39
40
import 'package:analyzer/src/generated/java_io.dart' ;
40
41
import 'package:analyzer/src/generated/resolver.dart'
41
- show
42
- Namespace,
43
- NamespaceBuilder,
44
- InheritanceManager; // ignore: deprecated_member_use
42
+ show Namespace, NamespaceBuilder;
45
43
import 'package:analyzer/src/generated/sdk.dart' ;
46
44
import 'package:analyzer/src/generated/source.dart' ;
47
45
import 'package:analyzer/src/generated/source_io.dart' ;
@@ -1114,14 +1112,25 @@ class Class extends Container
1114
1112
1115
1113
List <ExecutableElement > get _inheritedElements {
1116
1114
if (__inheritedElements == null ) {
1117
- Map <String , ExecutableElement > cmap = definingLibrary.inheritanceManager
1118
- .getMembersInheritedFromClasses (// ignore: deprecated_member_use
1119
- element);
1120
- Map <String , ExecutableElement > imap = definingLibrary.inheritanceManager
1121
- .getMembersInheritedFromInterfaces (// ignore: deprecated_member_use
1122
- element);
1123
- __inheritedElements = List .from (cmap.values)
1124
- ..addAll (imap.values.where ((e) => ! cmap.containsKey (e.name)));
1115
+ var classElement = element as ClassElement ;
1116
+ var classType = classElement.type;
1117
+ if (classType.isObject) {
1118
+ return __inheritedElements = < ExecutableElement > [];
1119
+ }
1120
+
1121
+ var inheritance = definingLibrary.inheritanceManager;
1122
+ var cmap = inheritance.getInheritedConcreteMap (classType);
1123
+ var imap = inheritance.getInheritedMap (classType);
1124
+
1125
+ var combinedMap = < String , ExecutableElement > {};
1126
+ for (var nameObj in cmap.keys) {
1127
+ combinedMap[nameObj.name] = cmap[nameObj];
1128
+ }
1129
+ for (var nameObj in imap.keys) {
1130
+ combinedMap[nameObj.name] ?? = imap[nameObj];
1131
+ }
1132
+
1133
+ __inheritedElements = combinedMap.values.toList ();
1125
1134
}
1126
1135
return __inheritedElements;
1127
1136
}
@@ -2586,14 +2595,12 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
2586
2595
return '${package .baseHref }${library .dirName }/$fileName ' ;
2587
2596
}
2588
2597
2589
- // ignore: deprecated_member_use
2590
- InheritanceManager _inheritanceManager;
2598
+ InheritanceManager3 _inheritanceManager;
2591
2599
2592
- // ignore: deprecated_member_use
2593
- InheritanceManager get inheritanceManager {
2600
+ InheritanceManager3 get inheritanceManager {
2594
2601
if (_inheritanceManager == null ) {
2595
- // ignore: deprecated_member_use
2596
- _inheritanceManager = InheritanceManager (element );
2602
+ var typeSystem = element.context.typeSystem;
2603
+ _inheritanceManager = InheritanceManager3 (typeSystem );
2597
2604
}
2598
2605
return _inheritanceManager;
2599
2606
}
0 commit comments