| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |