# 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 newly instantiated superclasses are handled correctly when there
  // is more than one change

  class A {
    foo() {
      print('Called foo');
    }

    bar() {
      print('Called bar');
    }
  }

  class B extends A {
  }

  main() {
  <<<< "Called foo"
    new B().foo();
  ==== "Called foo"
    new B().foo();
  ==== "Called bar"
    new A().bar();
  >>>>
  }
