# 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 instance methods can have signature changed

  class C {
  <<<< ["instance is null","v1"]
    foo() {
      print('v1');
    }
  ==== "v2"
    foo(int i) {
      print('v2');
    }
  >>>>>
  }
  var instance;

  main() {
    if (instance == null) {
      print('instance is null');
      instance = new C();
      instance.foo();
    } else {
      instance.foo(1);
    }
  }
