# 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: |
  // Variant of same_tokens which causes bad code generated by incremental
  // compiler.
  class C {
    static m() {
  <<<< "v1"
      print("v1");
  ==== "v2"
      print("v2");
  ==== "v1"
      print("v1");
  >>>>
    }
  }

  main() {
    new C();
  <<<<
  var x;
  ====
  var y;
  ====
  var z;
  >>>>
    C.m();
  }
