| Index: pkg/dev_compiler/lib/src/compiler/element_helpers.dart
|
| diff --git a/pkg/dev_compiler/lib/src/compiler/element_helpers.dart b/pkg/dev_compiler/lib/src/compiler/element_helpers.dart
|
| index 39a2e471e5182e36e642613d0ec6d3224e6c63fd..79b3feb173e4626936d1840aea8a640a4769f020 100644
|
| --- a/pkg/dev_compiler/lib/src/compiler/element_helpers.dart
|
| +++ b/pkg/dev_compiler/lib/src/compiler/element_helpers.dart
|
| @@ -16,7 +16,12 @@ import 'package:analyzer/dart/ast/ast.dart'
|
| MethodInvocation,
|
| SimpleIdentifier;
|
| import 'package:analyzer/dart/element/element.dart'
|
| - show ClassElement, Element, ExecutableElement, FunctionElement;
|
| + show
|
| + ClassElement,
|
| + Element,
|
| + ExecutableElement,
|
| + FunctionElement,
|
| + LibraryElement;
|
| import 'package:analyzer/dart/element/type.dart'
|
| show DartType, InterfaceType, ParameterizedType;
|
| import 'package:analyzer/src/dart/element/type.dart' show DynamicTypeImpl;
|
| @@ -139,3 +144,16 @@ List<ClassElement> getSuperclasses(ClassElement cls) {
|
| }
|
| return result;
|
| }
|
| +
|
| +List<ClassElement> getImmediateSuperclasses(ClassElement c) {
|
| + var result = <ClassElement>[];
|
| + for (var m in c.mixins.reversed) {
|
| + result.add(m.element);
|
| + }
|
| + var s = c.supertype;
|
| + if (s != null) result.add(s.element);
|
| + return result;
|
| +}
|
| +
|
| +bool isSdkInternalRuntime(LibraryElement l) =>
|
| + l.isInSdk && l.source.uri.toString() == 'dart:_runtime';
|
|
|