mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:37:12 +00:00
a899525bdc
Issue: https://github.com/dart-lang/sdk/issues/46867 Change-Id: I7e2912752ac8c48df233f27869599280e2c322fa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209853 Reviewed-by: Mark Zhou <markzipan@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
33 lines
884 B
Dart
33 lines
884 B
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 file.
|
|
|
|
// Regression test for https://github.com/dart-lang/sdk/issues/46867
|
|
|
|
import 'package:expect/expect.dart';
|
|
|
|
class Interface {
|
|
covariant Object x = 'from Interface';
|
|
}
|
|
|
|
mixin Mixin implements Interface {}
|
|
|
|
class BaseClass {
|
|
static var getterCallCount = 0;
|
|
static var setterCallCount = 0;
|
|
Object get x => getterCallCount++;
|
|
set x(Object value) => setterCallCount++;
|
|
}
|
|
|
|
class SubClass extends BaseClass with Mixin {}
|
|
|
|
void main() {
|
|
Expect.equals(0, BaseClass.getterCallCount);
|
|
SubClass().x;
|
|
Expect.equals(1, BaseClass.getterCallCount);
|
|
|
|
Expect.equals(0, BaseClass.setterCallCount);
|
|
SubClass().x = 42;
|
|
Expect.equals(1, BaseClass.setterCallCount);
|
|
}
|