fe7efd5606
Fix null safety issues and tweak documentation where it can be improved. Change-Id: Ia8cc20274ae151c454662bf5f137913787365a64 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177960 Commit-Queue: Lasse R.H. Nielsen <lrn@google.com> Reviewed-by: Nate Bosch <nbosch@google.com>
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
library /*isNonNullableByDefault*/;
|
|
//
|
|
// Problems in library:
|
|
//
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:9:17: Error: Constant evaluation error:
|
|
// const int? d = c!;
|
|
// ^
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:9:17: Context: Constant expression must be non-null.
|
|
// const int? d = c!;
|
|
// ^
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:9:12: Context: While analyzing:
|
|
// const int? d = c!;
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:17:23: Error: Constant evaluation error:
|
|
// const Class f = const Class(c);
|
|
// ^
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:13:30: Context: Constant expression must be non-null.
|
|
// const Class(int? x) : y = x!;
|
|
// ^
|
|
// pkg/front_end/testcases/nnbd/constant_null_check.dart:17:13: Context: While analyzing:
|
|
// const Class f = const Class(c);
|
|
// ^
|
|
//
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Class extends core::Object /*hasConstConstructor*/ {
|
|
final field core::int y;
|
|
const constructor •(core::int? x) → self::Class
|
|
: self::Class::y = x!, super core::Object::•()
|
|
;
|
|
}
|
|
static const field core::int? a = #C1;
|
|
static const field core::int b = #C1;
|
|
static const field core::int? c = #C2;
|
|
static const field core::int? d = invalid-expression "Constant expression must be non-null.";
|
|
static const field self::Class e = #C3;
|
|
static const field self::Class f = invalid-expression "Constant expression must be non-null.";
|
|
static method main() → dynamic {
|
|
self::expect(42, #C1);
|
|
self::expect(42, #C1);
|
|
self::expect(42, (#C3).{self::Class::y});
|
|
}
|
|
static method expect(dynamic expected, dynamic actual) → dynamic {
|
|
if(!expected.{core::Object::==}(actual))
|
|
throw "Expected ${expected}, actual ${actual}";
|
|
}
|
|
|
|
constants {
|
|
#C1 = 42
|
|
#C2 = null
|
|
#C3 = self::Class {y:#C1}
|
|
}
|
|
|
|
|
|
Constructor coverage from constants:
|
|
org-dartlang-testcase:///constant_null_check.dart:
|
|
- Class. (from org-dartlang-testcase:///constant_null_check.dart:13:9)
|
|
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
|