blob: 10f6a6ee50d4e09ff83b988684b9f92760434be6 [file] [log] [blame]
# 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.
# Try to mess up the hierarchy.
type: newworld
worlds:
- entry: main.dart
experiments: alternative-invalidation-strategy
sources:
main.dart: |
import "lib1.dart";
import "lib2.dart";
import "lib3.dart";
main() {
Foo foo = new Bar();
lib3Method(foo);
}
lib1.dart: |
class Foo {
void fooMethod() {
// Not filled out.
}
}
lib2.dart: |
import "lib1.dart";
class Bar extends Foo {
void barMethod() {
// Not filled out.
}
}
lib3.dart: |
import "lib1.dart";
import "lib2.dart";
void lib3Method(Foo foo) {
Foo bar = new Bar();
bool equal = foo == bar;
print("foo == bar = $equal");
}
expectedLibraryCount: 4
- entry: main.dart
experiments: alternative-invalidation-strategy
worldType: updated
expectInitializeFromDill: false
invalidate:
- lib1.dart
sources:
lib1.dart: |
class Foo {
void fooMethod() {
print("fooMethod");
}
}
expectedLibraryCount: 4
expectsRebuildBodiesOnly: true
- entry: main.dart
experiments: alternative-invalidation-strategy
worldType: updated
expectInitializeFromDill: false
invalidate:
- lib3.dart
sources:
lib3.dart: |
import "lib1.dart";
import "lib2.dart";
void lib3Method(Foo foo) {
Foo bar = new Bar();
bool equal = foo == bar;
print("foo == bar = $equal");
print("Done!");
}
expectedLibraryCount: 4
expectsRebuildBodiesOnly: true