anchor.diff:        compiler.dumpInfoTask.registerConstantAst(constant.value, assignment);
         assignments.add(assignment);
       }
  -    return new js.Block(assignments);
  +    return wrapPhase('constants', new js.Block(assignments));
     }
   
     /// Emits the static non-final fields section.
     ///
     /// This section initializes all static non-final fields that don't require
     /// an initializer.
  -  js.Block emitStaticNonFinalFields(Fragment fragment) {
  +  js.Statement emitStaticNonFinalFields(Fragment fragment) {
       List<StaticField> fields = fragment.staticNonFinalFields;
       // TODO(floitsch): instead of assigning the fields one-by-one we should
       // create a literal and assign it to the static-state holder.
  
positive.code:         js.js.statement("setOrUpdateLeafTags(#);", js.objectLiteral(leafTags)));
      statements.addAll(subclassAssignments);
  
      return new js.Block(statements);
    }
  }
  
negative.code:       }
      }
  
      return wrapPhase(
          'inheritance',
          js.js.statement('{#; #;}', [
            inheritCalls.map((e) => new js.ExpressionStatement(e)),
            mixinCalls.map((e) => new js.ExpressionStatement(e))
          ]));
    }
  
    /// Emits the setup of method aliases.
  