# 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 we can introduce a change that causes a method used as tear-off
  // to be recompiled.

  class A {
    m() => print("v1");
  }

  class B extends A {
  <<<< ["closure is null","v1"]
  ==== []
    m() => null;
  >>>>
  }

  var closure;
  main() {
    if (closure == null) {
      print('closure is null');
      closure = new B().m;
      closure();
    }
  }
