anchor.diff:  
     jsAst.Expression constantInitializerExpression(Constant value) {
       return constantEmitter.initializationExpression(value);
  +  }
  +
  +  jsAst.Expression consumeCodeFor(Element element) {
  +    jsAst.Expression result = backend.generatedCode[element];
  +    // Avoid holding on to the generated code for the given element so it
  +    // can be garbage collected once we're done emitting the code for it.
  +    // To keep the key set unchanged, we do this by nulling out the
  +    // value in the map rather than removing the key.
  +    backend.generatedCode[element] = null;
  +    return result;
     }
   
     String get name => 'CodeEmitter';
  
positive.code: 
      for (Element element in Elements.sortedByPosition(elements)) {
        CodeBuffer buffer = bufferForElement(element, eagerBuffer);
        jsAst.Expression code = backend.generatedCode[element];
        String name = namer.getNameOfGlobalFunction(element);
        code = extendWithMetadata(element, code);
        emitStaticFunction(buffer, name, code);
  
negative.code:         || member.isGenerativeConstructorBody()
          || member.isAccessor()) {
        if (member.isAbstract(compiler)) return;
        jsAst.Expression code = consumeCodeFor(member);
        if (code == null) return;
        String name = namer.getNameOfInstanceMember(member);
        if (backend.isInterceptedMethod(member)) {
  