# 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: |
  // Regression test for a syntax error in a field becomes a function that is
  // subsequently removed.
  class C {
  <<<< {"messages":[],"hasCompileTimeError":1}
    int sync*;
  ==== []
    sync() => null;
  ==== []
  >>>>
  }
  main() {
    new C();
  }
