dd6dc29c21
This change mechanically copies runtime/tests/vm/dart -> runtime/tests/vm/dart_2 in preparation for the migration of runtime/tests/vm/dart to NNBD. Corresponding statuses in vm.status are duplicated. Added vm_nnbd builder tag for NNBD bots. vm/dart/* tests are allowed to run only on vm_nnbd builders. vm/dart_2/* tests are allowed to run only on non-vm_nnbd builders. Issue: https://github.com/dart-lang/sdk/issues/41314 Change-Id: I079da92da17960605f37c1c0e28e48362b236739 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149485 Reviewed-by: Régis Crelier <regis@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
29 lines
850 B
Dart
29 lines
850 B
Dart
// 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 file.
|
|
import "package:expect/expect.dart";
|
|
|
|
mixin Bar {
|
|
bar() => throw "bar";
|
|
}
|
|
|
|
mixin Baz {}
|
|
|
|
class Foo with Baz, Bar {}
|
|
|
|
main() {
|
|
final foo = Foo();
|
|
try {
|
|
foo.bar();
|
|
} catch (e, st) {
|
|
final stack = st.toString();
|
|
// Check that stack frames for methods defined in a mixin Bar actually show
|
|
// only the mixin name rather than some combination of the name of the class
|
|
// that mixed in Bar along with other mixin names.
|
|
//
|
|
// Prior to the fix for issue #36999, this frame would have been named
|
|
// Foo&Baz&Bar.bar rather than simply Bar.bar.
|
|
Expect.isTrue(stack.contains('#0 Bar.bar'));
|
|
}
|
|
}
|