anchor.diff:          _unlinkedUnit = unlinkedUnit;
   
     @override
  +  List<ClassElementForLink_Enum> get enums {
  +    if (_enums == null) {
  +      _enums = <ClassElementForLink_Enum>[];
  +      for (UnlinkedEnum unlinkedEnum in _unlinkedUnit.enums) {
  +        _enums.add(new ClassElementForLink_Enum(unlinkedEnum));
  +      }
  +    }
  +    return _enums;
  +  }
  +
  +  /**
  +   * Indicates whether this compilation element is part of the build unit
  +   * currently being linked.
  +   */
     bool get isInBuildUnit;
   
     @override
  
positive.code:     if (_containedNames == null) {
        _containedNames = <String, ReferenceableElementForLink>{};
        // TODO(paulberry): what's the correct way to handle name conflicts?
        for (ClassElementForLink type in types) {
          _containedNames[type.name] = type;
        }
        for (TopLevelVariableElementForLink variable in topLevelVariables) {
          _containedNames[variable.name] = variable;
  
negative.code:   }
  
    @override
    List<ClassElementForLink_Class> get types {
      if (_types == null) {
        _types = <ClassElementForLink_Class>[];
        for (UnlinkedClass unlinkedClass in _unlinkedUnit.classes) {
          _types.add(new ClassElementForLink_Class(this, unlinkedClass));
        }
      }
      return _types;
  