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

# Reproduce a crash.

type: newworld
worlds:
  - entry: main.dart
    experiments: alternative-invalidation-strategy
    sources:
      main.dart: |
        import 'file1.dart';

        class Class1 extends Class2 {}
      file1.dart: |
        import 'file2.dart';

        class Class2 extends Class3 {
          Class3 foo;
        }
      file2.dart: |
        abstract class Class3 {
          Class3 foo;
        }
    expectedLibraryCount: 3

  - entry: main.dart
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - main.dart
    expectedLibraryCount: 3
    expectsRebuildBodiesOnly: true

  - entry: main.dart
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - file2.dart
    expectedLibraryCount: 3
    expectsRebuildBodiesOnly: true

  - entry: main.dart
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - main.dart
    expectedLibraryCount: 3
    expectsRebuildBodiesOnly: true
