# 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: |
  // Test that adding a class is supported

  <<<< "v1"
  ==== "v2"
  class C {
    void foo() {
      print('v2');
    }
  }
  >>>>
  main() {
  <<<<
    print('v1');

  ====
    new C().foo();
  >>>>
  }
