OLD | NEW |
---|---|
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // Dart core library. | 5 // Dart core library. |
6 | 6 |
7 @patch class Null { | 7 @patch class Null { |
8 | 8 |
9 factory Null._uninstantiable() { | 9 factory Null._uninstantiable() { |
10 throw new UnsupportedError("class Null cannot be instantiated"); | 10 throw new UnsupportedError("class Null cannot be instantiated"); |
11 } | 11 } |
12 | 12 |
13 static const _HASH_CODE = 2011; // The year Dart was announced and a prime. | 13 static const _HASH_CODE = 2011; // The year Dart was announced and a prime. |
14 int get hashCode => _HASH_CODE; | 14 int get hashCode => _HASH_CODE; |
15 int get _identityHashCode => _HASH_CODE; | 15 int get _identityHashCode => _HASH_CODE; |
16 | 16 |
17 @patch noSuchMethod(Invocation invocation) { | |
18 String name = internal.Symbol.getName(invocation.memberName); | |
19 if (invocation.isMethod) | |
20 throw new NullDereferenceError('$name() was called on a null value.'); | |
rmacnak
2016/10/10 21:29:38
DBC: "a null value" => "null"
There is only one.
| |
21 throw new NullDereferenceError('$name was accessed on a null value.'); | |
22 } | |
23 | |
17 String toString() => 'null'; | 24 String toString() => 'null'; |
18 } | 25 } |
OLD | NEW |