Files
sdk/tests/modular/mixin_super/main.dart
T
Johnni Winther dd5b455a0c [dart2js] Handle super access in mixin declarations
This crashed because the canonical name for the replace procedure
was unbound before all references to it had been loaded, causing
subsequent reads of the canonical name to create reference without
a target.

This broke the flutter web smoke tests.

Change-Id: I6249cfda85ff76b5e2dd31bb0cf8d6312ad50c1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177861
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-01-07 13:45:18 +00:00

35 lines
1.0 KiB
Dart

// Copyright (c) 2021, 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.
mixin Diagnosticable {
void debugFillProperties(DiagnosticPropertiesBuilder properties) {}
}
class DiagnosticPropertiesBuilder {}
abstract class PointerEvent with Diagnosticable {}
abstract class PointerSignalEvent extends PointerEvent {}
mixin _PointerEventDescription on PointerEvent {
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
}
}
mixin _CopyPointerScrollEvent on PointerEvent {}
class PointerScrollEvent extends PointerSignalEvent
with _PointerEventDescription, _CopyPointerScrollEvent {
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
}
}
main() {
new PointerScrollEvent()
.debugFillProperties(new DiagnosticPropertiesBuilder());
}