# 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 tear off an exisiting instance method

  class C {
    m(String s) {
      print(s);
    }

    n() {
  <<<< ["instance is null","v1"]
      m("v1");
  ==== "v2"
      var f = m;
      f("v2");
  >>>>
    }
  }
  var instance;
  main() {
    if (instance == null) {
      print('instance is null');
      instance = new C();
    }
    instance.n();
  }
