# 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 static methods can be added

  class C {
  <<<< "threw"
  ==== "v2"
    static foo() {
      print('v2');
    }
  >>>>
  }

  main() {
    new C(); // TODO(ahe): Work around dart2js assertion in World.subclassesOf
    try {
      C.foo();
    } catch(e) {
      print('threw');
    }
  }
