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

Side by Side Diff: samples/third_party/dromaeo/common/JSON.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 part of common; 5 part of common;
6 6
7 // Pure Dart implementation of JSON protocol. 7 // Pure Dart implementation of JSON protocol.
8 8
9 /** 9 /**
10 * Utility class to parse JSON and serialize objects to JSON. 10 * Utility class to parse JSON and serialize objects to JSON.
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 break; 192 break;
193 case 't': 193 case 't':
194 c = TAB; 194 c = TAB;
195 break; 195 break;
196 case 'u': 196 case 'u':
197 if (_pos + 5 > _len) { 197 if (_pos + 5 > _len) {
198 throw 'Invalid unicode esacape sequence: \\' + 198 throw 'Invalid unicode esacape sequence: \\' +
199 _s.substring(_pos, _len); 199 _s.substring(_pos, _len);
200 } 200 }
201 final codeString = _s.substring(_pos + 1, _pos + 5); 201 final codeString = _s.substring(_pos + 1, _pos + 5);
202 c = Math.parseInt('0x' + codeString); 202 c = int.parse('0x' + codeString);
203 if (c >= 128) { 203 if (c >= 128) {
204 // TODO(jmessery): the VM doesn't support 2-byte strings yet 204 // TODO(jmessery): the VM doesn't support 2-byte strings yet
205 // see runtime/lib/string.cc:49 205 // see runtime/lib/string.cc:49
206 // So instead we replace these characters with '?' 206 // So instead we replace these characters with '?'
207 c = '?'.charCodeAt(0); 207 c = '?'.charCodeAt(0);
208 } 208 }
209 _pos += 4; 209 _pos += 4;
210 break; 210 break;
211 default: 211 default:
212 throw 'Invalid esacape sequence: \\' + _s[_pos]; 212 throw 'Invalid esacape sequence: \\' + _s[_pos];
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 _pos++; 247 _pos++;
248 c = _s.charCodeAt(_pos); 248 c = _s.charCodeAt(_pos);
249 if (c == PLUS || c == MINUS) { 249 if (c == PLUS || c == MINUS) {
250 _pos++; 250 _pos++;
251 } 251 }
252 skipDigits(); 252 skipDigits();
253 } 253 }
254 254
255 final String body = _s.substring(startPos, _pos); 255 final String body = _s.substring(startPos, _pos);
256 return new JsonToken.number( 256 return new JsonToken.number(
257 isInteger ? Math.parseInt(body) : Math.parseDouble(body)); 257 isInteger ? int.parse(body) : double.parse(body));
258 258
259 case cur == LBRACE: 259 case cur == LBRACE:
260 _pos++; 260 _pos++;
261 return new JsonToken.atom(JsonToken.LBRACE); 261 return new JsonToken.atom(JsonToken.LBRACE);
262 262
263 case cur == RBRACE: 263 case cur == RBRACE:
264 _pos++; 264 _pos++;
265 return new JsonToken.atom(JsonToken.RBRACE); 265 return new JsonToken.atom(JsonToken.RBRACE);
266 266
267 case cur == LBRACKET: 267 case cur == LBRACKET:
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 _sb.add(','); 562 _sb.add(',');
563 } 563 }
564 }); 564 });
565 _sb.add('}'); 565 _sb.add('}');
566 return; 566 return;
567 } else { 567 } else {
568 throw const JsonUnsupportedObjectType(); 568 throw const JsonUnsupportedObjectType();
569 } 569 }
570 } 570 }
571 } 571 }
OLDNEW
« no previous file with comments | « samples/third_party/dromaeo/common/BenchUtil.dart ('k') | samples/third_party/dromaeo/tests/RunnerSuite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698