| 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 |