anchor.diff:  
       int previous = 0;
       for (String short in shorts) {
  -      if (useDiffEncoding &&
  -          short.length <= NsmEmitter.MAX_MINIFIED_LENGTH_FOR_DIFF_ENCODING) {
  +      if (short.length <= NsmEmitter.MAX_MINIFIED_LENGTH_FOR_DIFF_ENCODING) {
           int base63 = fromBase88(short);
           int diff = base63 - previous;
           previous = base63;
           String base26Diff = toBase26(diff);
           diffEncoding.write(base26Diff);
         } else {
  -        if (useDiffEncoding || diffEncoding.length != 0) {
  +        if (diffEncoding.length != 0) {
             diffEncoding.write(',');
           }
           diffEncoding.write(short);
  
positive.code:                               implements AstContainer {
    String _cachedValue;
    jsAst.ArrayInitializer ast;
    bool useDiffEncoding;
  
    _DiffEncodedListOfNames(Iterable<Iterable<jsAst.Name>> names,
                            this.useDiffEncoding) {
      // Store the names in ArrayInitializer nodes to make them discoverable
      // by traversals of the ast.
      ast = new jsAst.ArrayInitializer(
  
negative.code:             }
            }
          }''', {'objectClass': js.quoteName(namer.className(objectClass)),
                 'diffEncoding': sortedShorts}));
      } else {
        // No useDiffEncoding version.
        statements.add(js.statement(
            'var objectClassObject = processedClasses.collected[#objectClass],'
            '    shortNames = #diffEncoding.split(",")',
            {'objectClass': js.quoteName(namer.className(objectClass)),
             'diffEncoding': sortedShorts}));
        if (!minify) {
          statements.add(js.statement('var longNames = #longs.split(",")',
                  {'longs': js.string(sortedLongs.join(','))}));
        }
        statements.add(js.statement(
            'if (objectClassObject instanceof Array)'
  