# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE.md file.

main.dart.patch: |
  foo() {
  <<<< {"messages":[],"hasCompileTimeError":1}
    for do while default if else new;
  ==== "v2"
    print("v2");
  >>>>
  }

  bar() => foo();

  main() {
    bar();
  }
