| Index: pkg/compiler/lib/src/elements/elements.dart
|
| diff --git a/pkg/compiler/lib/src/elements/elements.dart b/pkg/compiler/lib/src/elements/elements.dart
|
| index 7c538b5906a3470fc5834d6cab81d74e086ee0e8..c9ae2558c4c029b22e1100530d8ec7fa946feaf6 100644
|
| --- a/pkg/compiler/lib/src/elements/elements.dart
|
| +++ b/pkg/compiler/lib/src/elements/elements.dart
|
| @@ -1392,8 +1392,23 @@ abstract class ClassElement extends TypeDeclarationElement
|
|
|
| /// `true` if this class is an enum declaration.
|
| bool get isEnumClass;
|
| +
|
| + /// `true` if this class is a mixin application, either named or unnamed.
|
| bool get isMixinApplication;
|
| +
|
| + /// `true` if this class is a named mixin application, e.g.
|
| + ///
|
| + /// class NamedMixinApplication = SuperClass with MixinClass;
|
| + ///
|
| + bool get isNamedMixinApplication;
|
| +
|
| + /// `true` if this class is an unnamed mixin application, e.g. the synthesized
|
| + /// `SuperClass+MixinClass` mixin application class in:
|
| + ///
|
| + /// class Class extends SuperClass with MixinClass {}
|
| + ///
|
| bool get isUnnamedMixinApplication;
|
| +
|
| bool get hasBackendMembers;
|
| bool get hasLocalScopeMembers;
|
|
|
| @@ -1404,13 +1419,19 @@ abstract class ClassElement extends TypeDeclarationElement
|
| /// implementing the interface or by providing a [call] method.
|
| bool implementsFunction(Compiler compiler);
|
|
|
| + /// Returns `true` if this class extends [cls] directly or indirectly.
|
| + ///
|
| + /// This method is not to be used for checking type hierarchy and assignments,
|
| + /// because it does not take parameterized types into account.
|
| bool isSubclassOf(ClassElement cls);
|
| - /// Returns true if `this` explicitly/nominally implements [intrface].
|
| +
|
| + /// Returns `true` if this class explicitly implements [intrface].
|
| ///
|
| /// Note that, if [intrface] is the `Function` class, this method returns
|
| /// false for a class that has a `call` method but does not explicitly
|
| /// implement `Function`.
|
| bool implementsInterface(ClassElement intrface);
|
| +
|
| bool hasFieldShadowedBy(Element fieldMember);
|
|
|
| /// Returns `true` if this class has a @proxy annotation.
|
|
|