anchor.diff:      _parameterIndex = _parameters.length;
     }
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is an accessor;
  -   * throws an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is an accessor;
  +  /// throws an [IndexError] if there are no more.
     PropertyAccessorElement getAccessor() => _accessors[_accessorIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a class; throws
  -   * an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a class; throws
  +  /// an [IndexError] if there are no more.
     ClassElement getClass() => _classes[_classIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a constructor;
  -   * throws an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a constructor;
  +  /// throws an [IndexError] if there are no more.
     ConstructorElement getConstructor() => _constructors[_constructorIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is an enum; throws
  -   * an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is an enum; throws
  +  /// an [IndexError] if there are no more.
     ClassElement getEnum() => _enums[_enumIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a top level
  -   * function, method, or local function; throws an [IndexError] if there are no
  -   * more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a top level
  +  /// function, method, or local function; throws an [IndexError] if there are
  +  /// no more.
     ExecutableElement getFunction() => _functions[_functionIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a mixin; throws
  -   * an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a mixin; throws
  +  /// an [IndexError] if there are no more.
     ClassElement getMixin() => _mixins[_mixinIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a parameter;
  -   * throws an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a parameter;
  +  /// throws an [IndexError] if there are no more.
     ParameterElement getParameter() => _parameters[_parameterIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a typedef;
  -   * throws an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a typedef;
  +  /// throws an [IndexError] if there are no more.
     FunctionTypeAliasElement getTypedef() => _typedefs[_typedefIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a type
  -   * parameter; throws an [IndexError] if there are no more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a type
  +  /// parameter; throws an [IndexError] if there are no more.
     TypeParameterElement getTypeParameter() =>
         _typeParameters[_typeParameterIndex++];
   
  -  /**
  -   * Returns the next non-synthetic child of [element] which is a top level
  -   * variable, field, or local variable; throws an [IndexError] if there are no
  -   * more.
  -   */
  +  /// Returns the next non-synthetic child of [element] which is a top level
  +  /// variable, field, or local variable; throws an [IndexError] if there are no
  +  /// more.
     VariableElement getVariable() => _variables[_variableIndex++];
   
  -  /**
  -   * Verifies that all non-synthetic children of [element] have been obtained
  -   * from their corresponding "get" method calls; if not, throws a [StateError].
  -   */
  +  /// Verifies that all non-synthetic children of [element] have been obtained
  +  /// from their corresponding "get" method calls; if not, throws a
  +  /// [StateError].
     void validate() {
       void check(List<Element> elements, int index) {
         if (elements != null && elements.length != index) {
  
positive.code: }
  
  class _ElementMismatchException extends AnalysisException {
    /**
     * Creates an exception to refer to the given [compilationUnit], [element],
     * and [cause].
     */
    _ElementMismatchException(
        CompilationUnitElement compilationUnit, Element element,
        [CaughtException cause = null])
  
negative.code:     }
    }
  
    /// Recurses through the element model and AST, verifying that all elements
    /// are matched.
    ///
    /// Executes [callback] with [_walker] pointing to the given [walker] (which
    /// should be a new instance of [ElementWalker]).  Once [callback] returns,
    /// uses [ElementWalker.validate] to verify that all expected elements have
    /// been matched.
    void _walk(ElementWalker walker, void callback()) {
      ElementWalker outerWalker = _walker;
      _walker = walker;
  