| # 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 a procedure after a mixin "class". |
| |
| type: newworld |
| worlds: |
| - entry: main.dart |
| experiments: alternative-invalidation-strategy |
| sources: |
| main.dart: | |
| abstract class A { |
| a() { |
| print("Class A method a"); |
| } |
| } |
| topLevelA() { |
| print("top level method topLevelA"); |
| } |
| mixin B on A { |
| b() { |
| print("Class A method b"); |
| } |
| } |
| topLevelB() { |
| print("top level method topLevelB"); |
| } |
| mixin C on A, B { |
| c() { |
| print("Class C method c"); |
| } |
| } |
| topLevelC() { |
| print("top level method topLevelC"); |
| } |
| class D extends A with B, C { |
| d() { |
| print("Class D method d"); |
| } |
| } |
| topLevelD() { |
| print("top level method topLevelD"); |
| } |
| expectedLibraryCount: 1 |
| - entry: main.dart |
| experiments: alternative-invalidation-strategy |
| worldType: updated |
| expectInitializeFromDill: false |
| invalidate: |
| - main.dart |
| sources: |
| main.dart: | |
| abstract class A { |
| a() { |
| print("Class A method a!"); |
| } |
| } |
| topLevelA() { |
| print("top level method topLevelA!"); |
| } |
| mixin B on A { |
| b() { |
| print("Class A method b!"); |
| } |
| } |
| topLevelB() { |
| print("top level method topLevelB!"); |
| } |
| mixin C on A, B { |
| c() { |
| print("Class C method c!"); |
| } |
| } |
| topLevelC() { |
| print("top level method topLevelC!"); |
| } |
| class D extends A with B, C { |
| d() { |
| print("Class D method d!"); |
| } |
| } |
| topLevelD() { |
| print("top level method topLevelD!"); |
| } |
| expectedLibraryCount: 1 |
| expectsRebuildBodiesOnly: true |