# Copyright (c) 2019, 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.

# Compile an application, change a file, but don't change the outline.
# Class hierarchy through implements.

type: newworld
worlds:
  - entry: main.dart
    experiments: alternative-invalidation-strategy
    sources:
      main.dart: |
        import "lib1.dart";
        abstract class Foo implements Bar {
          @override
          Foo get x;
        }
      lib1.dart: |
        import "lib2.dart";
        abstract class Bar implements Baz {
        }
      lib2.dart: |
        abstract class Baz {
          Baz get x;
        }
    expectedLibraryCount: 3
  - entry: main.dart
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - lib2.dart
    sources:
      lib2.dart: |
        abstract class Baz {
          Baz get x;
        }
    expectedLibraryCount: 3
    expectsRebuildBodiesOnly: true
  - entry: main.dart
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - main.dart
    sources:
      main.dart: |
        import "lib1.dart";
        abstract class Foo implements Bar {
          @override
          Foo get x;
        }
    expectedLibraryCount: 3
    expectsRebuildBodiesOnly: true
