anchor.diff:        buffer.write(node.typeArguments);
       }
       buffer.write('[');
  -    if (node.elements.isNotEmpty) {
  -      withContinuationIndentation(() {
  -        buffer.writeln();
  -        indent(() { visit(node.elements.first); });
  -        for (var element in node.elements.skip(1)) {
  -          buffer.writeln(',');
  -          indent(() { visit(element); });
  -        }
  -      });
  -    }
  -    buffer.writeln();
  -    indent(() { buffer.write(']'); });
  +    if (node.elements.isEmpty) {
  +      buffer.write(']');
  +    } else {
  +      if (node.elements.isNotEmpty) {
  +        withContinuationIndentation(() {
  +          buffer.writeln();
  +          indent(() { visit(node.elements.first); });
  +          for (var element in node.elements.skip(1)) {
  +            buffer.writeln(',');
  +            indent(() { visit(element); });
  +          }
  +        });
  +      }
  +      buffer.writeln();
  +      indent(() { buffer.write(']'); });
  +    }
     }
   
     visitMapLiteralEntry(ast.MapLiteralEntry node) {
  
positive.code:       buffer.write(node.typeArguments);
      }
      buffer.write('{');
      if (node.entries.isNotEmpty) {
        withContinuationIndentation(() {
          buffer.writeln();
          indent(() { visit(node.entries.first); });
  
negative.code:           indent(() { visit(entry); });
          }
        });
        buffer.writeln();
        indent(() { buffer.write('}'); });
      }
    }
  
    visitMethodInvocation(ast.MethodInvocation node) {
  