# 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 superclasses of directly instantiated classes are also emitted
  class A {
  }

  class B extends A {
  }

  main() {
  <<<< "v1"
    print('v1');
  ==== "v2"
    new B();
    print('v2');
  >>>>
  }
