| # Copyright (c) 2022, 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 file. | |
| # Use multiple entry points, try for force the class hierarchy not to contain | |
| # all the entry point libraries, then try to force using it via expression | |
| # compilation. This used to crash. | |
| type: newworld | |
| worlds: | |
| - entry: | |
| - a.dart | |
| - b.dart | |
| sources: | |
| a.dart: | | |
| class A { | |
| void foo() {} | |
| } | |
| class B extends A { | |
| void foo() { | |
| super.foo(); | |
| } | |
| } | |
| b.dart: | | |
| class C { | |
| void foo() {} | |
| } | |
| class D extends C { | |
| void foo() { | |
| super.foo(); | |
| } | |
| } | |
| expectedLibraryCount: 2 | |
| - entry: | |
| - a.dart | |
| - b.dart | |
| expectInitializeFromDill: true | |
| invalidate: | |
| - a.dart | |
| sources: | |
| a.dart: | | |
| class A { | |
| void bar() {} | |
| } | |
| class B extends A { | |
| void bar() { | |
| super.bar(); | |
| } | |
| } | |
| b.dart: | | |
| class C { | |
| void foo() {} | |
| } | |
| class D extends C { | |
| void foo() { | |
| super.foo(); | |
| } | |
| } | |
| advancedInvalidation: outlineChange | |
| expectedLibraryCount: 2 | |
| expressionCompilation: | |
| uri: b.dart | |
| expression: super.foo() | |
| className: D |