anchor.diff:    }
   
     visitInstanceCreation(InstanceCreation node) {
  -    write('${node.classNode}');
  +    writeClassReferenceFromReference(node.classReference);
       if (node.typeArguments.isNotEmpty) {
         writeSymbol('<');
         writeList(node.typeArguments, writeType);
         writeSymbol('>');
       }
  -    write(' {');
  +    writeSymbol('{');
       bool first = true;
       node.fieldValues.forEach((Reference fieldRef, Expression value) {
         if (!first) {
           writeComma();
         }
  -      write('${fieldRef.asField.name}: ');
  +      writeWord('${fieldRef.asField.name.name}');
  +      writeSymbol(':');
         writeExpression(value);
         first = false;
       });
  
positive.code:     }
    }
  
    visitConstantExpression(ConstantExpression node) {
      writeWord(syntheticNames.nameConstant(node.constant));
    }
  
    defaultConstant(Constant node) {
      final String name = syntheticNames.nameConstant(node);
      endLine('  $name = $node');
    }
  
    visitListConstant(ListConstant node) {
      final String name = syntheticNames.nameConstant(node);
      write('  $name = ');
      final String entries = node.entries.map((Constant constant) {
        return syntheticNames.nameConstant(constant);
      }).join(', ');
      endLine('${node.runtimeType}<${node.typeArgument}>($entries)');
    }
  
    visitSetConstant(SetConstant node) {
      final String name = syntheticNames.nameConstant(node);
      write('  $name = ');
      final String entries = node.entries.map((Constant constant) {
        return syntheticNames.nameConstant(constant);
      }).join(', ');
      endLine('${node.runtimeType}<${node.typeArgument}>($entries)');
    }
  
    visitMapConstant(MapConstant node) {
      final String name = syntheticNames.nameConstant(node);
      write('  $name = ');
      final String entries = node.entries.map((ConstantMapEntry entry) {
        final String key = syntheticNames.nameConstant(entry.key);
        final String value = syntheticNames.nameConstant(entry.value);
        return '$key: $value';
      }).join(', ');
      endLine(
          '${node.runtimeType}<${node.keyType}, ${node.valueType}>($entries)');
    }
  
    visitInstanceConstant(InstanceConstant node) {
      final String name = syntheticNames.nameConstant(node);
      write('  $name = ');
      final sb = new StringBuffer();
      sb.write('${node.classNode}');
      if (!node.classNode.typeParameters.isEmpty) {
        sb.write('<');
        sb.write(node.typeArguments.map((type) => type.toString()).join(', '));
        sb.write('>');
      }
      sb.write(' {');
      bool first = true;
      node.fieldValues.forEach((Reference fieldRef, Constant constant) {
        final String name = syntheticNames.nameConstant(constant);
        if (!first) {
          sb.write(', ');
        }
        sb.write('${fieldRef.asField.name}: $name');
        first = false;
      });
      sb.write('}');
      endLine(sb.toString());
    }
  
    visitStringConstant(StringConstant node) {
      final String name = syntheticNames.nameConstant(node);
      endLine('  $name = "${escapeString(node.value)}"');
    }
  
    visitUnevaluatedConstant(UnevaluatedConstant node) {
      final String name = syntheticNames.nameConstant(node);
      write('  $name = (');
      writeExpression(node.expression);
      endLine(')');
    }
  
negative.code:       writeExpression(unusedArgument);
        first = false;
      }
      writeSymbol('}');
    }
  
    visitIsExpression(IsExpression node) {
  