OLD | NEW |
1 // Copyright 2014 Google Inc. All Rights Reserved. | 1 // Copyright 2014 Google Inc. All Rights Reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 int checkListIndex(int index, int size, {message}) { | 51 int checkListIndex(int index, int size, {message}) { |
52 if (index < 0 || index >= size) { | 52 if (index < 0 || index >= size) { |
53 throw new RangeError(_resolveMessage( | 53 throw new RangeError(_resolveMessage( |
54 message, 'index $index not valid for list of size $size')); | 54 message, 'index $index not valid for list of size $size')); |
55 } | 55 } |
56 return index; | 56 return index; |
57 } | 57 } |
58 | 58 |
59 /// Throws an [ArgumentError] if the given [reference] is `null`. Otherwise, | 59 /// Throws an [ArgumentError] if the given [reference] is `null`. Otherwise, |
60 /// returns the [reference] parameter. | 60 /// returns the [reference] parameter. |
61 dynamic checkNotNull(reference, {message}) { | 61 T checkNotNull<T>(T reference, {message}) { |
62 if (reference == null) { | 62 if (reference == null) { |
63 throw new ArgumentError(_resolveMessage(message, 'null pointer')); | 63 throw new ArgumentError(_resolveMessage(message, 'null pointer')); |
64 } | 64 } |
65 return reference; | 65 return reference; |
66 } | 66 } |
67 | 67 |
68 /// Throws a [StateError] if the given [expression] is `false`. | 68 /// Throws a [StateError] if the given [expression] is `false`. |
69 void checkState(bool expression, {message}) { | 69 void checkState(bool expression, {message}) { |
70 if (!expression) { | 70 if (!expression) { |
71 throw new StateError(_resolveMessage(message, 'failed precondition')); | 71 throw new StateError(_resolveMessage(message, 'failed precondition')); |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
75 String _resolveMessage(message, String defaultMessage) { | 75 String _resolveMessage(message, String defaultMessage) { |
76 if (message is Function) message = message(); | 76 if (message is Function) message = message(); |
77 if (message == null) return defaultMessage; | 77 if (message == null) return defaultMessage; |
78 return message.toString(); | 78 return message.toString(); |
79 } | 79 } |
OLD | NEW |