anchor.diff:            #constructorName.#typeNameProperty = #constructorNameString;
             if (!"name" in #constructorName)
                 #constructorName.name = #constructorNameString;
  -          $desc = $collectedClasses.#constructorName[1];
  +          $desc = $collectedClasses$.#constructorName[1];
             #constructorName.prototype = $desc;
             ''' /* next string is not a raw string */ '''
             if (#hasIsolateSupport) {
  
positive.code:        var dart = #descriptors;
  
         #setupProgramName(dart, 0);
  
         #cspPrecompiledFunctions;
  
         #getInterceptorMethods;
         #oneShotInterceptors;
  
negative.code:       // constructor-functions and getter/setter functions can be stored in the
        // library-description table. Setting properties on these can be moved to
        // finishClasses.
        return js.statement(r"""
          #precompiled = function ($collectedClasses$) {
            #norename;
            var $desc;
            #functions;
            return #result;
          };""",
          {'norename': new jsAst.Comment("// ::norenaming:: "),
           'precompiled': generateEmbeddedGlobalAccess(embeddedNames.PRECOMPILED),
           'functions': cspPrecompiledFunctionFor(outputUnit),
           'result': new jsAst.ArrayInitializer(
                 cspPrecompiledConstructorNamesFor(outputUnit))});
      } else {
        return js.comment("Constructors are generated at runtime.");
      }
  