anchor.diff:      return internalError("not supported.");
     }
   
  +  @override
     get allSupertypes => internalError("not supported.");
   
  +  @override
     List<ConstructorElement> get constructors => internalError("not supported.");
   
  +  @override
     List<FieldElement> get fields => internalError("not supported.");
   
  +  @override
     bool get hasNonFinalField => internalError("not supported.");
   
  +  @override
     bool get hasReferenceToSuper => internalError("not supported.");
   
  +  @override
     bool get hasStaticMember => internalError("not supported.");
   
  +  @override
     get interfaces => internalError("not supported.");
   
  +  @override
     bool get isAbstract => internalError("not supported.");
   
  +  @override
     bool get isEnum => internalError("not supported.");
   
  +  @override
     bool get isMixinApplication => internalError("not supported.");
   
  +  @override
     bool get isOrInheritsProxy => internalError("not supported.");
   
  +  @override
     bool get isProxy => internalError("not supported.");
   
  +  @override
     bool get isValidMixin => internalError("not supported.");
   
  +  @override
     get typeParameters => internalError("not supported.");
   
  +  @override
     List<MethodElement> get methods => internalError("not supported.");
   
  +  @override
     get mixins => internalError("not supported.");
   
  +  @override
     get supertype => internalError("not supported.");
   
  +  @override
     ConstructorElement get unnamedConstructor => internalError("not supported.");
   
  +  @override
     FieldElement getField(String name) => internalError("not supported.");
   
  +  @override
     PropertyAccessorElement getGetter(String name) {
       return internalError("not supported.");
     }
   
  +  @override
     MethodElement getMethod(String name) => internalError("not supported.");
   
  +  @override
     ConstructorElement getNamedConstructor(String name) {
       return internalError("not supported.");
     }
   
  +  @override
     PropertyAccessorElement getSetter(String name) {
       return internalError("not supported.");
     }
   
  +  @override
     bool isSuperConstructorAccessible(ConstructorElement constructor) {
       return internalError("not supported.");
     }
   
  +  @override
     MethodElement lookUpConcreteMethod(
         String methodName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     PropertyAccessorElement lookUpGetter(
         String getterName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     PropertyAccessorElement lookUpInheritedConcreteGetter(
         String getterName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     MethodElement lookUpInheritedConcreteMethod(
         String methodName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     PropertyAccessorElement lookUpInheritedConcreteSetter(
         String setterName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     MethodElement lookUpInheritedMethod(
         String methodName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     MethodElement lookUpMethod(String methodName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     PropertyAccessorElement lookUpSetter(
         String setterName, LibraryElement library) {
       return internalError("not supported.");
     }
   
  +  @override
     NamedCompilationUnitMember computeNode() => internalError("not supported.");
   
  +  @override
     InterfaceType get type => internalError("not supported.");
   }
   
  
positive.code: import 'package:analyzer/dart/ast/ast.dart';
  import 'package:analyzer/dart/element/element.dart';
  import 'package:analyzer/dart/element/type.dart';
  
  import 'package:front_end/src/fasta/builder/builder.dart' show Builder;
  
  import 'package:front_end/src/fasta/errors.dart' show internalError;
  import 'package:analyzer/src/generated/source.dart';
  
  abstract class MockElement extends Builder implements Element, LocalElement {
    final ElementKind kind;
  
    MockElement(this.kind) : super(null, -1, null);
  
    get librarySource => internalError("not supported.");
  
    get source => internalError("not supported.");
  
    get context => internalError("not supported.");
  
    String get displayName => internalError("not supported.");
  
    String get documentationComment => internalError("not supported.");
  
    Element get enclosingElement => internalError("not supported.");
  
    int get id => internalError("not supported.");
  
    bool get isDeprecated => internalError("not supported.");
  
    bool get isFactory => internalError("not supported.");
  
    bool get isJS => internalError("not supported.");
  
    bool get isOverride => internalError("not supported.");
  
    bool get isPrivate => internalError("not supported.");
  
    bool get isProtected => internalError("not supported.");
  
    bool get isPublic => internalError("not supported.");
  
    bool get isRequired => internalError("not supported.");
  
    bool get isSynthetic => internalError("not supported.");
  
    LibraryElement get library => internalError("not supported.");
  
    get location => internalError("not supported.");
  
    get metadata => internalError("not supported.");
  
    String get name => internalError("not supported.");
  
    String get fullNameForErrors => name;
  
    int get nameLength => internalError("not supported.");
  
    int get nameOffset => -1;
  
    get unit => internalError("not supported.");
  
    accept<T>(visitor) => internalError("not supported.");
  
    String computeDocumentationComment() => internalError("not supported.");
  
    computeNode() => internalError("not supported.");
  
    getAncestor<E>(predicate) => internalError("not supported.");
  
    String getExtendedDisplayName(String shortName) {
      return internalError("not supported.");
    }
  
    bool isAccessibleIn(LibraryElement library) {
      return internalError("not supported.");
    }
  
    void visitChildren(visitor) => internalError("not supported.");
  
    String get uri => internalError("not supported.");
  
negative.code:     implements CompilationUnitElement {
    MockCompilationUnitElement() : super(ElementKind.COMPILATION_UNIT);
  
    @override
    List<PropertyAccessorElement> get accessors {
      return internalError("not supported.");
    }
  
    @override
    LibraryElement get enclosingElement => internalError("not supported.");
  
    @override
    List<ClassElement> get enums => internalError("not supported.");
  
    @override
    List<FunctionElement> get functions => internalError("not supported.");
  
    @override
    List<FunctionTypeAliasElement> get functionTypeAliases {
      return internalError("not supported.");
    }
  
    @override
    bool get hasLoadLibraryFunction => internalError("not supported.");
  
    @override
    LineInfo get lineInfo => internalError("not supported.");
  
    @override
    List<TopLevelVariableElement> get topLevelVariables {
      return internalError("not supported.");
    }
  
    @override
    List<ClassElement> get types => internalError("not supported.");
  
    @override
    ClassElement getEnum(String name) => internalError("not supported.");
  
    @override
    ClassElement getType(String name) => internalError("not supported.");
  
    @override
    CompilationUnit computeNode() => internalError("not supported.");
  }
  
  