blob: eb7a006b8901cb50c49767f2ebd40ec7023c277a [file] [log] [blame]
// Copyright (c) 2013, 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.
part of dart.core;
/// The reserved word `null` denotes an object that is the sole instance of
/// this class.
///
/// The `Null` class is the only class which does not implement `Object`.
/// It is a compile-time error for a class to attempt to extend or implement
/// [Null].
///
/// The language contains a number of specialized operators for working with
/// `null` value. Examples:
/// ```dart
/// e1! // Throws if e1 is null.
/// e2 ?? e3 // Same as e2, unless e2 is null, then use value of e3
/// x ??= e4 // Same as x unless x is null, then same as `x = e4`.
/// e5?.foo() // call `foo` on e5, unless e5 is null.
/// [...? e6] // spreads e6 into the list literal, unless e6 is null.
/// ```
@pragma("vm:entry-point")
class Null {
factory Null._uninstantiable() {
throw UnsupportedError('class Null cannot be instantiated');
}
external int get hashCode;
/// Returns the string `"null"`.
String toString() => "null";
}