# 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 deleting a top-level method works

  <<<< ["instance is null","v1"]
  toplevel() {
    print('v1');
  }
  ==== {"messages":[],"hasCompileTimeError":1}
  >>>>
  class C {
    m() {
      toplevel();
    }
  }
  var instance;
  main() {
    if (instance == null) {
      print('instance is null');
      instance = new C();
    }
    instance.m();
  }
