# 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: |
  // Tests what happens when an added method is closurized.

  class A {
  <<<< "v1"
    foo() {
      print("v1");
    }
  ==== "v2"
    a() {
      print("v2");
    }
  >>>>
  }

  void main() {
  <<<<
    var a = new A();
    a.foo();
  ====
    var a = new A();
    var f = a.a;
    f();
  >>>>
  }
