# 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.
# Have two procedures with the same name. We don't support rebuilding bodies in
# this case.

type: newworld
worlds:
  - entry: main.dart
    errors: true
    experiments: alternative-invalidation-strategy
    sources:
      main.dart: |
        void foo() {}
        void foo() {}
    expectedLibraryCount: 1
  - entry: main.dart
    errors: true
    experiments: alternative-invalidation-strategy
    worldType: updated
    expectInitializeFromDill: false
    invalidate:
      - main.dart
    sources:
      main.dart: |
        void foo() {}
        void foo() {}
    expectedLibraryCount: 1
    expectsRebuildBodiesOnly: false
