# 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 file.

main.dart.patch: |
  // Test that a stored instance tearoff with named parameter changes behavior
  // when updated

  class C {
    m({a = 'a'}) {
  <<<< ["closure is null","v1"]
    print('v1');
  ==== "v2"
    print('v2');
  >>>>
    }
  }
  var closure;
  main() {
    if (closure == null) {
      print('closure is null');
      closure = new C().m;
    }
    closure(a: 'b');
  }
