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

Side by Side Diff: pkg/glob/lib/src/ast.dart

Issue 607963002: Fix glob list on Windows. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « pkg/glob/lib/glob.dart ('k') | pkg/glob/lib/src/list_tree.dart » ('j') | 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) 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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 327
328 OptionsNode(Iterable<SequenceNode> options) 328 OptionsNode(Iterable<SequenceNode> options)
329 : options = options.toList(); 329 : options = options.toList();
330 330
331 OptionsNode flattenOptions() => new OptionsNode( 331 OptionsNode flattenOptions() => new OptionsNode(
332 options.expand((option) => option.flattenOptions().options)); 332 options.expand((option) => option.flattenOptions().options));
333 333
334 String _toRegExp() => 334 String _toRegExp() =>
335 '(?:${options.map((option) => option._toRegExp()).join("|")})'; 335 '(?:${options.map((option) => option._toRegExp()).join("|")})';
336 336
337 bool operator==(Object other) => other is OptionsNode && 337 bool operator==(Object other) => other is OptionsNode &&
338 const UnorderedIterableEquality().equals(options, other.options); 338 const UnorderedIterableEquality().equals(options, other.options);
339 339
340 int get hashCode => const UnorderedIterableEquality().hash(options); 340 int get hashCode => const UnorderedIterableEquality().hash(options);
341 341
342 String toString() => '{${options.join(',')}}'; 342 String toString() => '{${options.join(',')}}';
343 } 343 }
344 344
345 /// A node that matches a literal string. 345 /// A node that matches a literal string.
346 class LiteralNode extends AstNode { 346 class LiteralNode extends AstNode {
347 /// The string to match. 347 /// The string to match.
(...skipping 15 matching lines...) Expand all
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 }
OLDNEW
« no previous file with comments | « pkg/glob/lib/glob.dart ('k') | pkg/glob/lib/src/list_tree.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698