anchor.diff:    String _state;
   
     /**
  -   *
      * While processing data bindings, Angular passes through multiple states. When testing or
      * debugging, it can be useful to access the current `state`, which is one of the following:
      *
  -   * * null
  -   * * apply
  -   * * digest
  -   * * flush
  -   * * assert
  -   *
  -   * ##null
  +   * * `null`
  +   * * `STATE_APPLY`
  +   * * `STATE_DIGEST`
  +   * * `STATE_FLUSH`
  +   * * `STATE_FLUSH_ASSERT`
  +   *
  +   * ## `null`
      *
      *  Angular is not currently processing changes
      *
  -   * ##apply
  +   * ## `STATE_APPLY`
      *
      * The apply state begins by executing the optional expression within the context of
      * angular change detection mechanism. Any exceptions are delegated to [ExceptionHandler]. At the
      * end of apply state RootScope enters the digest followed by flush phase (optionally if asserts
      * enabled run assert phase.)
      *
  -   * ##digest
  +   * ## `STATE_DIGEST`
      *
      * The apply state begins by processing the async queue,
      * followed by change detection
  
positive.code:   RootScope get rootScope => this;
    bool get isAttached => true;
  
  /**
    * Propagates changes between different parts of the application model. Normally called by
    * [VMTurnZone] right before DOM rendering to initiate data binding. May also be called directly
    * for unit testing.
  
negative.code:     return group.watch(ast, reactionFn);
    }
  
    /**
     * Evaluates the [expression] against the current scope and returns the result. Note that, the
     * expression data is relative to the data within the scope. Therefore an expression such as
     * `a + b` will deference variables `a` and `b` and return a result so long as `a` and `b`
     * exist on the scope.
     *
     * * [expression]: The expression that will be evaluated. This can be either a Function or a
     *   String.
     * * [locals]: A Map that will override any matching context members for the purposes of the
     *   evaluation.
     */
    dynamic eval(expression, [Map locals]) {
      assert(isAttached);
      assert(expression == null ||
  