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

Side by Side Diff: sdk/lib/core/errors.dart

Issue 717823002: Manually default Error messages to avoid dart2js code bloat. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 part of dart.core; 5 part of dart.core;
6 6
7 /** 7 /**
8 * Error objects thrown in the case of a program failure. 8 * Error objects thrown in the case of a program failure.
9 * 9 *
10 * An `Error` object represents a program failure that the programmer 10 * An `Error` object represents a program failure that the programmer
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 236
237 // TODO(lrn): This constructor should be called only with string values. 237 // TODO(lrn): This constructor should be called only with string values.
238 // It currently isn't in all cases. 238 // It currently isn't in all cases.
239 /** 239 /**
240 * Create a new [RangeError] with the given [message]. 240 * Create a new [RangeError] with the given [message].
241 */ 241 */
242 RangeError(var message) 242 RangeError(var message)
243 : invalidValue = null, start = null, end = null, super(message); 243 : invalidValue = null, start = null, end = null, super(message);
244 244
245 /** Create a new [RangeError] with a message for the given [value]. */ 245 /** Create a new [RangeError] with a message for the given [value]. */
246 RangeError.value(num value, [String message = "Value not in range"]) 246 RangeError.value(num value, [String message])
247 : invalidValue = value, start = null, end = null, 247 : invalidValue = value, start = null, end = null,
248 super(message); 248 super(message != null ? message : "Value not in range");
249 249
250 /** 250 /**
251 * Create a new [RangeError] with for an invalid value being outside a range. 251 * Create a new [RangeError] with for an invalid value being outside a range.
252 * 252 *
253 * The allowed range is from [start] to [end], inclusive. 253 * The allowed range is from [start] to [end], inclusive.
254 * If `start` or `end` are `null`, the range is infinite in that direction. 254 * If `start` or `end` are `null`, the range is infinite in that direction.
255 * 255 *
256 * For a range from 0 to the length of something, end exclusive, use 256 * For a range from 0 to the length of something, end exclusive, use
257 * [RangeError.index]. 257 * [RangeError.index].
258 */ 258 */
259 RangeError.range(this.invalidValue, this.start, this.end, 259 RangeError.range(this.invalidValue, this.start, this.end, [String message])
260 [String message = "Invalid value"]) : super(message); 260 : super(message != null ? message : "Invalid value");
261 261
262 /** 262 /**
263 * Creates a new [RangeError] stating that [index] is not a valid index 263 * Creates a new [RangeError] stating that [index] is not a valid index
264 * into [indexable]. 264 * into [indexable].
265 * 265 *
266 * The [length] is the length of [indexable] at the time of the error. 266 * The [length] is the length of [indexable] at the time of the error.
267 * If `length` is omitted, it defaults to `indexable.length`. 267 * If `length` is omitted, it defaults to `indexable.length`.
268 * 268 *
269 * The message is used as part of the string representation of the error. 269 * The message is used as part of the string representation of the error.
270 */ 270 */
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 310
311 /** 311 /**
312 * Creates a new [IndexError] stating that [invalidValue] is not a valid index 312 * Creates a new [IndexError] stating that [invalidValue] is not a valid index
313 * into [indexable]. 313 * into [indexable].
314 * 314 *
315 * The [length] is the length of [indexable] at the time of the error. 315 * The [length] is the length of [indexable] at the time of the error.
316 * If `length` is omitted, it defaults to `indexable.length`. 316 * If `length` is omitted, it defaults to `indexable.length`.
317 * 317 *
318 * The message is used as part of the string representation of the error. 318 * The message is used as part of the string representation of the error.
319 */ 319 */
320 IndexError(this.invalidValue, indexable, 320 IndexError(this.invalidValue, indexable, [String message, int length])
321 [String message = "Index out of range", int length])
322 : this.indexable = indexable, 321 : this.indexable = indexable,
323 this.length = (length != null) ? length : indexable.length, 322 this.length = (length != null) ? length : indexable.length,
324 super(message); 323 super(message != null ? message : "Index out of range");
325 324
326 // Getters inherited from RangeError. 325 // Getters inherited from RangeError.
327 int get start => 0; 326 int get start => 0;
328 int get end => length - 1; 327 int get end => length - 1;
329 328
330 String toString() { 329 String toString() {
331 String target = Error.safeToString(indexable); 330 String target = Error.safeToString(indexable);
332 if (invalidValue < 0) { 331 if (invalidValue < 0) {
333 return "RangeError: $message ($target[$invalidValue]): " 332 return "RangeError: $message ($target[$invalidValue]): "
334 "index must not be negative."; 333 "index must not be negative.";
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 * the first time it is read. If evaluating the initializer expression causes 498 * the first time it is read. If evaluating the initializer expression causes
500 * another read of the variable, this error is thrown. 499 * another read of the variable, this error is thrown.
501 */ 500 */
502 class CyclicInitializationError extends Error { 501 class CyclicInitializationError extends Error {
503 final String variableName; 502 final String variableName;
504 CyclicInitializationError([this.variableName]); 503 CyclicInitializationError([this.variableName]);
505 String toString() => variableName == null 504 String toString() => variableName == null
506 ? "Reading static variable during its initialization" 505 ? "Reading static variable during its initialization"
507 : "Reading static variable '$variableName' during its initialization"; 506 : "Reading static variable '$variableName' during its initialization";
508 } 507 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698