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

Side by Side Diff: lib/src/utils.dart

Issue 1493463002: Disallow invalid package names in Pubspec. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 5 years 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
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 /// Generic utility functions. Stuff that should possibly be in core. 5 /// Generic utility functions. Stuff that should possibly be in core.
6 library pub.utils; 6 library pub.utils;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import "dart:convert"; 9 import "dart:convert";
10 import 'dart:io'; 10 import 'dart:io';
11 11
12 import "package:crypto/crypto.dart"; 12 import "package:crypto/crypto.dart";
13 import 'package:path/path.dart' as path; 13 import 'package:path/path.dart' as path;
14 import "package:stack_trace/stack_trace.dart"; 14 import "package:stack_trace/stack_trace.dart";
15 15
16 import 'exceptions.dart'; 16 import 'exceptions.dart';
17 import 'io.dart'; 17 import 'io.dart';
18 import 'log.dart' as log; 18 import 'log.dart' as log;
19 19
20 export 'asset/dart/utils.dart'; 20 export 'asset/dart/utils.dart';
21 21
22 /// A regular expression matching a Dart identifier. 22 /// A regular expression matching a Dart identifier.
23 /// 23 ///
24 /// This also matches a package name, since they must be Dart identifiers. 24 /// This also matches a package name, since they must be Dart identifiers.
25 final identifierRegExp = new RegExp(r"[a-zA-Z_][a-zA-Z0-9_]+"); 25 final identifierRegExp = new RegExp(r"[a-zA-Z_][a-zA-Z0-9_]*");
Bob Nystrom 2015/12/01 23:21:15 "\w+" or "[a-zA-Z_]\w*" ?
nweiz 2015/12/02 00:29:01 Done.
26 26
27 /// Like [identifierRegExp], but anchored so that it only matches strings that 27 /// Like [identifierRegExp], but anchored so that it only matches strings that
28 /// are *just* Dart identifiers. 28 /// are *just* Dart identifiers.
29 final onlyIdentifierRegExp = new RegExp("^${identifierRegExp.pattern}\$"); 29 final onlyIdentifierRegExp = new RegExp("^${identifierRegExp.pattern}\$");
30 30
31 /// Dart reserved words, from the Dart spec.
32 const reservedWords = const [
33 "assert", "break", "case", "catch", "class", "const", "continue", "default",
34 "do", "else", "extends", "false", "final", "finally", "for", "if", "in", "is",
35 "new", "null", "return", "super", "switch", "this", "throw", "true", "try",
36 "var", "void", "while", "with"
37 ];
38
31 /// A pair of values. 39 /// A pair of values.
32 class Pair<E, F> { 40 class Pair<E, F> {
33 E first; 41 E first;
34 F last; 42 F last;
35 43
36 Pair(this.first, this.last); 44 Pair(this.first, this.last);
37 45
38 String toString() => '($first, $last)'; 46 String toString() => '($first, $last)';
39 47
40 bool operator==(other) { 48 bool operator==(other) {
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 } else { 942 } else {
935 throw new ApplicationException(message); 943 throw new ApplicationException(message);
936 } 944 }
937 } 945 }
938 946
939 /// Throw a [DataException] with [message] to indicate that the command has 947 /// Throw a [DataException] with [message] to indicate that the command has
940 /// failed because of invalid input data. 948 /// failed because of invalid input data.
941 /// 949 ///
942 /// This will report the error and cause pub to exit with [exit_codes.DATA]. 950 /// This will report the error and cause pub to exit with [exit_codes.DATA].
943 void dataError(String message) => throw new DataException(message); 951 void dataError(String message) => throw new DataException(message);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698