>>>
if (x &&
    y) {
  print('!');
}
<<<
if (x && y) {
  print('!');
}
>>>
for (var a=0; a<100; ++a) { print(a); }
<<<
for (var a = 0; a < 100; ++a) {
  print(a);
}
>>>
for(
var a=0;
a<100; 
++a)
{ 
print(a);
}
<<<
for (var a = 0; a < 100; ++a) {
  print(a);
}
>>>
for (x in xs) {
  print(x);
}
<<<
for (x in xs) {
  print(x);
}
>>>
var primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71];
<<<
var primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
    61, 67, 71];
>>>
blah() {
  print('blah blah blah blah blah blah blah blah blah blah blah blah blah blah $foo');
}
<<<<
blah() {
  print('blah blah blah blah blah blah blah blah blah blah blah blah blah blah $foo');
}
>>>
assert(false);
<<<
assert(false);
>>> dartbug.com/16384
fish() => []..add(1)..add(2);
<<<
fish() => []
    ..add(1)
    ..add(2);
>>>
fish() => []..add(1);
<<<
fish() => []..add(1);
>>> dartbug.com/16382
var m = { };
<<<
var m = {};
>>>
var m = {};
<<<
var m = {};
>>> Indent cases two spaces and case bodies four spaces (dartbug.com/16406)
switches() {
  switch (fruit) {
    case 'apple':
    print('delish');
    break;

    case 'durian':
    print('stinky');
    break;
    default:
  print('nevermind');
  break;
  }
}
<<<
switches() {
  switch (fruit) {
    case 'apple':
      print('delish');
      break;

    case 'durian':
      print('stinky');
      break;
    default:
      print('nevermind');
      break;
  }
}
