Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: runtime/lib/null_patch.dart

Issue 2407603002: Give useful message for null derefs (Closed)
Patch Set: Give useful message for null derefs Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/_internal/js_runtime/lib/core_patch.dart » ('j') | sdk/lib/core/errors.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698