blob: 67c79cbfe845823b547a5ac1ac57859801274d38 [file] [log] [blame]
// 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.
class Class {
A nonNullableField = const A();
A get nonNullableProperty => nonNullableField;
void set nonNullableProperty(A value) {
nonNullableField = value;
}
A nonNullableMethod() => nonNullableField;
}
class A {
const A();
A get nonNullableProperty => this;
}
main() {
Class? c;
throws(() => c.nonNullableField);
expect(null, c?.nonNullableField);
expect(null, c?.nonNullableField.nonNullableProperty);
}
expect(expected, actual) {
if (expected != actual) throw 'Expected $expected, actual $actual';
}
throws(void Function() f) {
try {
f();
} catch (e) {
return;
}
throw 'Expected throws.';
}