anchor.diff:  
             // if unnamed or named constructor
             if (isConstructor) {
  -            var buf = isDefaultConstructor ? constructor : global;
  +            final buffer = isDefaultConstructor ? constructor : global;
               
               if (isDefaultConstructor) {
  -              buf.write("this[$symDartObj] = ");
  +              buffer.write("this[$symDartObj] = ");
               } else {
                 final String className = this.data["name"];
                 final String constructorName = name.substring(className.length + 1);
                 
  -              buf.write("""
  +              buffer.write("""
                   mdex.$className.$constructorName = function() {
                     var classObj = Object.create(mdex.$className.prototype);
                     classObj[$symDartObj] = 
                 """);
               }
   
  -            final code = data["code"] == null || data["code"].length == 0
  +            final code = data["code"] == null || data["code"].isEmpty
                   ? "function(){}"
                   : "${compiler.mangledNames.getLibraryObject(libraryName)}.${data["code"].split(":")[0].trim()}";
               
  -            (new Func(data,
  -                    params,
  -                    code: code,
  -                    withSemicolon: false,
  -                    transform: FunctionTransformation.NONE))
  -                .render(compiler, buf);
  +            final funcRenderable = new Func(data,
  +                params,
  +                code: code,
  +                withSemicolon: false,
  +                transform: FunctionTransformation.NONE);
  +            
  +            funcRenderable.render(compiler, buffer);
                   
  -            buf.write(".apply(this, arguments);");
  -            
  -            if (isDefaultConstructor)
  +            buffer.write(".apply(this, arguments);");
  +            
  +            if (isDefaultConstructor) {
                 continue;
  +            }
                 
  -            buf.write("""
  +            buffer.write("""
                   classObj[$symDartObj][$symBackup] = {};
                   classObj[$symDartObj][$symJsObj] = this;
                   return classObj;
  
positive.code:         }
  
          if (type == "field") {
            if (names.contains(name) || name.startsWith("_")) continue;
            names.add(name);
  
            // TODO: static fields
            if (c == null || c.staticFields.contains(name)) continue;
            
            final codeParts = data["code"]
                .split("\n")
                .where((name) =>
                    name.length > 0 &&
                    !name.contains(" ") &&
                    name.contains(_FIELD_REGEX))
                .map((name) {
  
negative.code:           .map((f) => compiler.info.getElement(f.split("/")[0], f.split("/")[1]))
            .toList();
  
        for (var index = 0; index < childData.length; index++) {
          final data = childData[index];
          
          final type = data["kind"];
          String name = data["name"];
  