OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library glob.ast; | 5 library glob.ast; |
6 | 6 |
7 import 'package:path/path.dart' as p; | 7 import 'package:path/path.dart' as p; |
8 import 'package:collection/collection.dart'; | 8 import 'package:collection/collection.dart'; |
9 | 9 |
10 import 'utils.dart'; | 10 import 'utils.dart'; |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 buffer.write('-'); | 291 buffer.write('-'); |
292 buffer.write(regExpQuote(new String.fromCharCodes([range.max]))); | 292 buffer.write(regExpQuote(new String.fromCharCodes([range.max]))); |
293 } | 293 } |
294 | 294 |
295 buffer.write(']'); | 295 buffer.write(']'); |
296 return buffer.toString(); | 296 return buffer.toString(); |
297 } | 297 } |
298 | 298 |
299 bool operator==(Object other) { | 299 bool operator==(Object other) { |
300 if (other is! RangeNode) return false; | 300 if (other is! RangeNode) return false; |
301 if (other.negated != negated) return false; | 301 if ((other as RangeNode).negated != negated) return false; |
302 return const SetEquality().equals(ranges, other.ranges); | 302 return const SetEquality().equals(ranges, (other as RangeNode).ranges); |
303 } | 303 } |
304 | 304 |
305 int get hashCode => (negated ? 1 : 3) * const SetEquality().hash(ranges); | 305 int get hashCode => (negated ? 1 : 3) * const SetEquality().hash(ranges); |
306 | 306 |
307 String toString() { | 307 String toString() { |
308 var buffer = new StringBuffer()..write('['); | 308 var buffer = new StringBuffer()..write('['); |
309 for (var range in ranges) { | 309 for (var range in ranges) { |
310 buffer.writeCharCode(range.min); | 310 buffer.writeCharCode(range.min); |
311 if (range.isSingleton) continue; | 311 if (range.isSingleton) continue; |
312 buffer.write('-'); | 312 buffer.write('-'); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 LiteralNode(this.text, [this._context]); | 363 LiteralNode(this.text, [this._context]); |
364 | 364 |
365 String _toRegExp() => regExpQuote(text); | 365 String _toRegExp() => regExpQuote(text); |
366 | 366 |
367 bool operator==(Object other) => other is LiteralNode && other.text == text; | 367 bool operator==(Object other) => other is LiteralNode && other.text == text; |
368 | 368 |
369 int get hashCode => text.hashCode; | 369 int get hashCode => text.hashCode; |
370 | 370 |
371 String toString() => text; | 371 String toString() => text; |
372 } | 372 } |
OLD | NEW |