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

Side by Side Diff: pkg/analyzer/lib/src/generated/java_core.dart

Issue 475543002: New analyzer snapshot, add format/formatList. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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
OLDNEW
1 library java.core; 1 library java.core;
2 2
3 import "dart:math" as math; 3 import "dart:math" as math;
4 4
5 final Stopwatch nanoTimeStopwatch = new Stopwatch(); 5 final Stopwatch nanoTimeStopwatch = new Stopwatch();
6 6
7 class JavaSystem { 7 class JavaSystem {
8 static int currentTimeMillis() { 8 static int currentTimeMillis() {
9 return (new DateTime.now()).millisecondsSinceEpoch; 9 return (new DateTime.now()).millisecondsSinceEpoch;
10 } 10 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 int length() => _content.length; 125 int length() => _content.length;
126 String subSequence(int start, int end) => _content.substring(start, end); 126 String subSequence(int start, int end) => _content.substring(start, end);
127 } 127 }
128 128
129 class CharBuffer extends CharSequence { 129 class CharBuffer extends CharSequence {
130 CharBuffer(String content) : super(content); 130 CharBuffer(String content) : super(content);
131 static CharBuffer wrap(String content) => new CharBuffer(content); 131 static CharBuffer wrap(String content) => new CharBuffer(content);
132 } 132 }
133 133
134 class JavaString { 134 class JavaString {
135 static String format(String fmt, List args) {
136 var index = 0;
137 return fmt.replaceAllMapped(new RegExp(r'%(.)'), (match) {
138 switch (match.group(1)) {
139 case '%': return '%';
140 case 'd':
141 case 's':
142 if (index >= args.length) {
143 throw new MissingFormatArgumentException(match.group(0));
144 }
145 return args[index++].toString();
146 default: return match.group(1);
147 }
148 });
149 }
150 static int indexOf(String target, String str, int fromIndex) { 135 static int indexOf(String target, String str, int fromIndex) {
151 if (fromIndex > target.length) return -1; 136 if (fromIndex > target.length) return -1;
152 if (fromIndex < 0) fromIndex = 0; 137 if (fromIndex < 0) fromIndex = 0;
153 return target.indexOf(str, fromIndex); 138 return target.indexOf(str, fromIndex);
154 } 139 }
155 static int lastIndexOf(String target, String str, int fromIndex) { 140 static int lastIndexOf(String target, String str, int fromIndex) {
156 if (fromIndex > target.length) return -1; 141 if (fromIndex > target.length) return -1;
157 if (fromIndex < 0) fromIndex = 0; 142 if (fromIndex < 0) fromIndex = 0;
158 return target.lastIndexOf(str, fromIndex); 143 return target.lastIndexOf(str, fromIndex);
159 } 144 }
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 if (!_matches.moveNext()) { 501 if (!_matches.moveNext()) {
517 return false; 502 return false;
518 } 503 }
519 _match = _matches.current; 504 _match = _matches.current;
520 return true; 505 return true;
521 } 506 }
522 String group(int i) => _match[i]; 507 String group(int i) => _match[i];
523 int start() => _match.start; 508 int start() => _match.start;
524 int end() => _match.end; 509 int end() => _match.end;
525 } 510 }
511
512 /**
513 * Inserts the given arguments into [pattern].
514 *
515 * format('Hello, {0}!', 'John') = 'Hello, John!'
516 * format('{0} are you {1}ing?', 'How', 'do') = 'How are you doing?'
517 * format('{0} are you {1}ing?', 'What', 'read') = 'What are you reading?'
518 */
519 String format(String pattern, [arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7])
520 {
521 return formatList(pattern, [arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7]);
522 }
523
524 /**
525 * Inserts the given [args] into [pattern].
526 *
527 * format('Hello, {0}!', ['John']) = 'Hello, John!'
528 * format('{0} are you {1}ing?', ['How', 'do']) = 'How are you doing?'
529 * format('{0} are you {1}ing?', ['What', 'read']) = 'What are you reading?'
530 */
531 String formatList(String pattern, List args) {
532 return pattern.replaceAllMapped(new RegExp(r'\{(\d+)\}'), (match) {
533 String indexStr = match.group(1);
534 int index = int.parse(indexStr);
535 var arg = args[index];
536 return arg != null ? arg.toString() : null;
537 });
538 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698