| OLD | NEW |
| 1 part of dart.core; | 1 part of dart.core; |
| 2 | 2 |
| 3 class Uri { | 3 class Uri { |
| 4 final String _host; | 4 final String _host; |
| 5 num _port; | 5 num _port; |
| 6 String _path; | 6 String _path; |
| 7 final String scheme; | 7 final String scheme; |
| 8 String get authority { | 8 String get authority { |
| 9 if (!hasAuthority) return ""; | 9 if (!hasAuthority) return ""; |
| 10 var sb = new StringBuffer(); | 10 var sb = new StringBuffer(); |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 port: port, | 283 port: port, |
| 284 pathSegments: unencodedPath.split("/"), | 284 pathSegments: unencodedPath.split("/"), |
| 285 queryParameters: queryParameters); | 285 queryParameters: queryParameters); |
| 286 } | 286 } |
| 287 factory Uri.file(String path, {bool windows}) { | 287 factory Uri.file(String path, {bool windows}) { |
| 288 windows = windows == null ? Uri._isWindows : windows; | 288 windows = windows == null ? Uri._isWindows : windows; |
| 289 return ((__x41) => DDC$RT.cast(__x41, dynamic, Uri, "CastGeneral", | 289 return ((__x41) => DDC$RT.cast(__x41, dynamic, Uri, "CastGeneral", |
| 290 """line 698, column 12 of dart:core/uri.dart: """, __x41 is Uri, | 290 """line 698, column 12 of dart:core/uri.dart: """, __x41 is Uri, |
| 291 true))(windows ? _makeWindowsFileUrl(path) : _makeFileUri(path)); | 291 true))(windows ? _makeWindowsFileUrl(path) : _makeFileUri(path)); |
| 292 } | 292 } |
| 293 @patch static Uri get base { | 293 static Uri get base { |
| 294 String uri = ((__x42) => DDC$RT.cast(__x42, dynamic, String, "CastGeneral", | 294 String uri = ((__x42) => DDC$RT.cast(__x42, dynamic, String, "CastGeneral", |
| 295 """line 703, column 18 of dart:core/uri.dart: """, __x42 is String, | 295 """line 711, column 18 of dart:core/uri.dart: """, __x42 is String, |
| 296 true))(Primitives.currentUri()); | 296 true))(Primitives.currentUri()); |
| 297 if (uri != null) return Uri.parse(uri); | 297 if (uri != null) return Uri.parse(uri); |
| 298 throw new UnsupportedError("'Uri.base' is not supported"); | 298 throw new UnsupportedError("'Uri.base' is not supported"); |
| 299 } | 299 } |
| 300 @patch static bool get _isWindows => false; | 300 static bool get _isWindows => false; |
| 301 static _checkNonWindowsPathReservedCharacters( | 301 static _checkNonWindowsPathReservedCharacters( |
| 302 List<String> segments, bool argumentError) { | 302 List<String> segments, bool argumentError) { |
| 303 segments.forEach((segment) { | 303 segments.forEach((segment) { |
| 304 if (segment.contains("/")) { | 304 if (segment.contains("/")) { |
| 305 if (argumentError) { | 305 if (argumentError) { |
| 306 throw new ArgumentError("Illegal path character $segment"); | 306 throw new ArgumentError("Illegal path character $segment"); |
| 307 } else { | 307 } else { |
| 308 throw new UnsupportedError("Illegal path character $segment"); | 308 throw new UnsupportedError("Illegal path character $segment"); |
| 309 } | 309 } |
| 310 } | 310 } |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 bool isFile = (scheme == "file"); | 404 bool isFile = (scheme == "file"); |
| 405 if (userInfo != null) { | 405 if (userInfo != null) { |
| 406 userInfo = _makeUserInfo(userInfo, 0, userInfo.length); | 406 userInfo = _makeUserInfo(userInfo, 0, userInfo.length); |
| 407 } else { | 407 } else { |
| 408 userInfo = this.userInfo; | 408 userInfo = this.userInfo; |
| 409 } | 409 } |
| 410 if (port != null) { | 410 if (port != null) { |
| 411 port = _makePort(port, scheme); | 411 port = _makePort(port, scheme); |
| 412 } else { | 412 } else { |
| 413 port = ((__x43) => DDC$RT.cast(__x43, num, int, "CastGeneral", | 413 port = ((__x43) => DDC$RT.cast(__x43, num, int, "CastGeneral", |
| 414 """line 886, column 14 of dart:core/uri.dart: """, __x43 is int, | 414 """line 893, column 14 of dart:core/uri.dart: """, __x43 is int, |
| 415 true))(this._port); | 415 true))(this._port); |
| 416 if (schemeChanged) { | 416 if (schemeChanged) { |
| 417 port = _makePort(port, scheme); | 417 port = _makePort(port, scheme); |
| 418 } | 418 } |
| 419 } | 419 } |
| 420 if (host != null) { | 420 if (host != null) { |
| 421 host = _makeHost(host, 0, host.length, false); | 421 host = _makeHost(host, 0, host.length, false); |
| 422 } else if (this.hasAuthority) { | 422 } else if (this.hasAuthority) { |
| 423 host = this.host; | 423 host = this.host; |
| 424 } else if (userInfo.isNotEmpty || port != null || isFile) { | 424 } else if (userInfo.isNotEmpty || port != null || isFile) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 449 scheme, userInfo, host, port, path, query, fragment); | 449 scheme, userInfo, host, port, path, query, fragment); |
| 450 } | 450 } |
| 451 List<String> get pathSegments { | 451 List<String> get pathSegments { |
| 452 if (_pathSegments == null) { | 452 if (_pathSegments == null) { |
| 453 var pathToSplit = !path.isEmpty && path.codeUnitAt(0) == _SLASH | 453 var pathToSplit = !path.isEmpty && path.codeUnitAt(0) == _SLASH |
| 454 ? path.substring(1) | 454 ? path.substring(1) |
| 455 : path; | 455 : path; |
| 456 _pathSegments = ((__x44) => DDC$RT.cast(__x44, | 456 _pathSegments = ((__x44) => DDC$RT.cast(__x44, |
| 457 DDC$RT.type((DDC$collection$.UnmodifiableListView<dynamic> _) {}), | 457 DDC$RT.type((DDC$collection$.UnmodifiableListView<dynamic> _) {}), |
| 458 DDC$RT.type((List<String> _) {}), "CastExact", | 458 DDC$RT.type((List<String> _) {}), "CastExact", |
| 459 """line 942, column 23 of dart:core/uri.dart: """, | 459 """line 949, column 23 of dart:core/uri.dart: """, |
| 460 __x44 is List<String>, false))(new UnmodifiableListView( | 460 __x44 is List<String>, false))(new UnmodifiableListView( |
| 461 pathToSplit == "" | 461 pathToSplit == "" |
| 462 ? const <String>[] | 462 ? const <String>[] |
| 463 : pathToSplit | 463 : pathToSplit |
| 464 .split("/") | 464 .split("/") |
| 465 .map(Uri.decodeComponent) | 465 .map(Uri.decodeComponent) |
| 466 .toList(growable: false))); | 466 .toList(growable: false))); |
| 467 } | 467 } |
| 468 return _pathSegments; | 468 return _pathSegments; |
| 469 } | 469 } |
| 470 Map<String, String> get queryParameters { | 470 Map<String, String> get queryParameters { |
| 471 if (_queryParameters == null) { | 471 if (_queryParameters == null) { |
| 472 _queryParameters = ((__x45) => DDC$RT.cast(__x45, DDC$RT.type( | 472 _queryParameters = ((__x45) => DDC$RT.cast(__x45, DDC$RT.type( |
| 473 (DDC$collection$.UnmodifiableMapView<dynamic, dynamic> _) {}), | 473 (DDC$collection$.UnmodifiableMapView<dynamic, dynamic> _) {}), |
| 474 DDC$RT.type((Map<String, String> _) {}), "CastExact", | 474 DDC$RT.type((Map<String, String> _) {}), "CastExact", |
| 475 """line 966, column 26 of dart:core/uri.dart: """, | 475 """line 973, column 26 of dart:core/uri.dart: """, |
| 476 __x45 is Map<String, String>, | 476 __x45 is Map<String, String>, |
| 477 false))(new UnmodifiableMapView(splitQueryString(query))); | 477 false))(new UnmodifiableMapView(splitQueryString(query))); |
| 478 } | 478 } |
| 479 return _queryParameters; | 479 return _queryParameters; |
| 480 } | 480 } |
| 481 static int _makePort(int port, String scheme) { | 481 static int _makePort(int port, String scheme) { |
| 482 if (port != null && port == _defaultPort(scheme)) return ((__x46) => DDC$RT | 482 if (port != null && port == _defaultPort(scheme)) return ((__x46) => DDC$RT |
| 483 .cast(__x46, Null, int, "CastLiteral", | 483 .cast(__x46, Null, int, "CastLiteral", |
| 484 """line 973, column 62 of dart:core/uri.dart: """, __x46 is int, | 484 """line 980, column 62 of dart:core/uri.dart: """, __x46 is int, |
| 485 true))(null); | 485 true))(null); |
| 486 return port; | 486 return port; |
| 487 } | 487 } |
| 488 static String _makeHost(String host, int start, int end, bool strictIPv6) { | 488 static String _makeHost(String host, int start, int end, bool strictIPv6) { |
| 489 if (host == null) return null; | 489 if (host == null) return null; |
| 490 if (start == end) return ""; | 490 if (start == end) return ""; |
| 491 if (host.codeUnitAt(start) == _LEFT_BRACKET) { | 491 if (host.codeUnitAt(start) == _LEFT_BRACKET) { |
| 492 if (host.codeUnitAt(end - 1) != _RIGHT_BRACKET) { | 492 if (host.codeUnitAt(end - 1) != _RIGHT_BRACKET) { |
| 493 _fail(host, start, 'Missing end `]` to match `[` in host'); | 493 _fail(host, start, 'Missing end `]` to match `[` in host'); |
| 494 } | 494 } |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 } | 591 } |
| 592 } | 592 } |
| 593 scheme = scheme.substring(0, end); | 593 scheme = scheme.substring(0, end); |
| 594 if (!allLowercase) scheme = scheme.toLowerCase(); | 594 if (!allLowercase) scheme = scheme.toLowerCase(); |
| 595 return scheme; | 595 return scheme; |
| 596 } | 596 } |
| 597 static String _makeUserInfo(String userInfo, int start, int end) { | 597 static String _makeUserInfo(String userInfo, int start, int end) { |
| 598 if (userInfo == null) return ""; | 598 if (userInfo == null) return ""; |
| 599 return _normalize(userInfo, start, end, DDC$RT.cast(_userinfoTable, dynamic, | 599 return _normalize(userInfo, start, end, DDC$RT.cast(_userinfoTable, dynamic, |
| 600 DDC$RT.type((List<int> _) {}), "CastGeneral", | 600 DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 601 """line 1123, column 45 of dart:core/uri.dart: """, | 601 """line 1130, column 45 of dart:core/uri.dart: """, |
| 602 _userinfoTable is List<int>, false)); | 602 _userinfoTable is List<int>, false)); |
| 603 } | 603 } |
| 604 static String _makePath(String path, int start, int end, | 604 static String _makePath(String path, int start, int end, |
| 605 Iterable<String> pathSegments, bool ensureLeadingSlash, bool isFile) { | 605 Iterable<String> pathSegments, bool ensureLeadingSlash, bool isFile) { |
| 606 if (path == null && pathSegments == null) return isFile ? "/" : ""; | 606 if (path == null && pathSegments == null) return isFile ? "/" : ""; |
| 607 if (path != null && pathSegments != null) { | 607 if (path != null && pathSegments != null) { |
| 608 throw new ArgumentError('Both path and pathSegments specified'); | 608 throw new ArgumentError('Both path and pathSegments specified'); |
| 609 } | 609 } |
| 610 var result; | 610 var result; |
| 611 if (path != null) { | 611 if (path != null) { |
| 612 result = _normalize(path, start, end, DDC$RT.cast(_pathCharOrSlashTable, | 612 result = _normalize(path, start, end, DDC$RT.cast(_pathCharOrSlashTable, |
| 613 dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", | 613 dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 614 """line 1136, column 45 of dart:core/uri.dart: """, | 614 """line 1143, column 45 of dart:core/uri.dart: """, |
| 615 _pathCharOrSlashTable is List<int>, false)); | 615 _pathCharOrSlashTable is List<int>, false)); |
| 616 } else { | 616 } else { |
| 617 result = pathSegments | 617 result = pathSegments |
| 618 .map((s) => _uriEncode(DDC$RT.cast(_pathCharTable, dynamic, | 618 .map((s) => _uriEncode(DDC$RT.cast(_pathCharTable, dynamic, |
| 619 DDC$RT.type((List<int> _) {}), "CastGeneral", | 619 DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 620 """line 1138, column 51 of dart:core/uri.dart: """, | 620 """line 1145, column 51 of dart:core/uri.dart: """, |
| 621 _pathCharTable is List<int>, false), DDC$RT.cast(s, dynamic, | 621 _pathCharTable is List<int>, false), DDC$RT.cast(s, dynamic, |
| 622 String, "CastGeneral", | 622 String, "CastGeneral", |
| 623 """line 1138, column 67 of dart:core/uri.dart: """, s is String, | 623 """line 1145, column 67 of dart:core/uri.dart: """, s is String, |
| 624 true))) | 624 true))) |
| 625 .join("/"); | 625 .join("/"); |
| 626 } | 626 } |
| 627 if (result.isEmpty) { | 627 if (result.isEmpty) { |
| 628 if (isFile) return "/"; | 628 if (isFile) return "/"; |
| 629 } else if ((isFile || ensureLeadingSlash) && | 629 } else if ((isFile || ensureLeadingSlash) && |
| 630 result.codeUnitAt(0) != _SLASH) { | 630 result.codeUnitAt(0) != _SLASH) { |
| 631 return "/$result"; | 631 return "/$result"; |
| 632 } | 632 } |
| 633 return DDC$RT.cast(result, dynamic, String, "CastGeneral", | 633 return DDC$RT.cast(result, dynamic, String, "CastGeneral", |
| 634 """line 1146, column 12 of dart:core/uri.dart: """, result is String, | 634 """line 1153, column 12 of dart:core/uri.dart: """, result is String, |
| 635 true); | 635 true); |
| 636 } | 636 } |
| 637 static String _makeQuery( | 637 static String _makeQuery( |
| 638 String query, int start, int end, Map<String, String> queryParameters) { | 638 String query, int start, int end, Map<String, String> queryParameters) { |
| 639 if (query == null && queryParameters == null) return null; | 639 if (query == null && queryParameters == null) return null; |
| 640 if (query != null && queryParameters != null) { | 640 if (query != null && queryParameters != null) { |
| 641 throw new ArgumentError('Both query and queryParameters specified'); | 641 throw new ArgumentError('Both query and queryParameters specified'); |
| 642 } | 642 } |
| 643 if (query != null) return _normalize(query, start, end, DDC$RT.cast( | 643 if (query != null) return _normalize(query, start, end, DDC$RT.cast( |
| 644 _queryCharTable, dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", | 644 _queryCharTable, dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 645 """line 1155, column 61 of dart:core/uri.dart: """, | 645 """line 1162, column 61 of dart:core/uri.dart: """, |
| 646 _queryCharTable is List<int>, false)); | 646 _queryCharTable is List<int>, false)); |
| 647 var result = new StringBuffer(); | 647 var result = new StringBuffer(); |
| 648 var first = true; | 648 var first = true; |
| 649 queryParameters.forEach((key, value) { | 649 queryParameters.forEach((key, value) { |
| 650 if (!first) { | 650 if (!first) { |
| 651 result.write("&"); | 651 result.write("&"); |
| 652 } | 652 } |
| 653 first = false; | 653 first = false; |
| 654 result.write(Uri.encodeQueryComponent(DDC$RT.cast(key, dynamic, String, | 654 result.write(Uri.encodeQueryComponent(DDC$RT.cast(key, dynamic, String, |
| 655 "CastGeneral", """line 1164, column 45 of dart:core/uri.dart: """, | 655 "CastGeneral", """line 1171, column 45 of dart:core/uri.dart: """, |
| 656 key is String, true))); | 656 key is String, true))); |
| 657 if (value != null && !value.isEmpty) { | 657 if (value != null && !value.isEmpty) { |
| 658 result.write("="); | 658 result.write("="); |
| 659 result.write(Uri.encodeQueryComponent(DDC$RT.cast(value, dynamic, | 659 result.write(Uri.encodeQueryComponent(DDC$RT.cast(value, dynamic, |
| 660 String, "CastGeneral", | 660 String, "CastGeneral", |
| 661 """line 1167, column 47 of dart:core/uri.dart: """, value is String, | 661 """line 1174, column 47 of dart:core/uri.dart: """, value is String, |
| 662 true))); | 662 true))); |
| 663 } | 663 } |
| 664 }); | 664 }); |
| 665 return result.toString(); | 665 return result.toString(); |
| 666 } | 666 } |
| 667 static String _makeFragment(String fragment, int start, int end) { | 667 static String _makeFragment(String fragment, int start, int end) { |
| 668 if (fragment == null) return null; | 668 if (fragment == null) return null; |
| 669 return _normalize(fragment, start, end, DDC$RT.cast(_queryCharTable, | 669 return _normalize(fragment, start, end, DDC$RT.cast(_queryCharTable, |
| 670 dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", | 670 dynamic, DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 671 """line 1175, column 45 of dart:core/uri.dart: """, | 671 """line 1182, column 45 of dart:core/uri.dart: """, |
| 672 _queryCharTable is List<int>, false)); | 672 _queryCharTable is List<int>, false)); |
| 673 } | 673 } |
| 674 static int _stringOrNullLength(String s) => (s == null) ? 0 : s.length; | 674 static int _stringOrNullLength(String s) => (s == null) ? 0 : s.length; |
| 675 static bool _isHexDigit(int char) { | 675 static bool _isHexDigit(int char) { |
| 676 if (_NINE >= char) return _ZERO <= char; | 676 if (_NINE >= char) return _ZERO <= char; |
| 677 char |= 0x20; | 677 char |= 0x20; |
| 678 return _LOWER_CASE_A <= char && _LOWER_CASE_F >= char; | 678 return _LOWER_CASE_A <= char && _LOWER_CASE_F >= char; |
| 679 } | 679 } |
| 680 static int _hexValue(int char) { | 680 static int _hexValue(int char) { |
| 681 assert(_isHexDigit(char)); | 681 assert(_isHexDigit(char)); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 710 } | 710 } |
| 711 static String _escapeChar(char) { | 711 static String _escapeChar(char) { |
| 712 assert(char <= 0x10ffff); | 712 assert(char <= 0x10ffff); |
| 713 const hexDigits = "0123456789ABCDEF"; | 713 const hexDigits = "0123456789ABCDEF"; |
| 714 List codeUnits; | 714 List codeUnits; |
| 715 if (char < 0x80) { | 715 if (char < 0x80) { |
| 716 codeUnits = new List(3); | 716 codeUnits = new List(3); |
| 717 codeUnits[0] = _PERCENT; | 717 codeUnits[0] = _PERCENT; |
| 718 codeUnits[1] = hexDigits.codeUnitAt(((__x47) => DDC$RT.cast(__x47, | 718 codeUnits[1] = hexDigits.codeUnitAt(((__x47) => DDC$RT.cast(__x47, |
| 719 dynamic, int, "CastGeneral", | 719 dynamic, int, "CastGeneral", |
| 720 """line 1245, column 43 of dart:core/uri.dart: """, __x47 is int, | 720 """line 1252, column 43 of dart:core/uri.dart: """, __x47 is int, |
| 721 true))(char >> 4)); | 721 true))(char >> 4)); |
| 722 codeUnits[2] = hexDigits.codeUnitAt(((__x48) => DDC$RT.cast(__x48, | 722 codeUnits[2] = hexDigits.codeUnitAt(((__x48) => DDC$RT.cast(__x48, |
| 723 dynamic, int, "CastGeneral", | 723 dynamic, int, "CastGeneral", |
| 724 """line 1246, column 43 of dart:core/uri.dart: """, __x48 is int, | 724 """line 1253, column 43 of dart:core/uri.dart: """, __x48 is int, |
| 725 true))(char & 0xf)); | 725 true))(char & 0xf)); |
| 726 } else { | 726 } else { |
| 727 int flag = 0xc0; | 727 int flag = 0xc0; |
| 728 int encodedBytes = 2; | 728 int encodedBytes = 2; |
| 729 if (char > 0x7ff) { | 729 if (char > 0x7ff) { |
| 730 flag = 0xe0; | 730 flag = 0xe0; |
| 731 encodedBytes = 3; | 731 encodedBytes = 3; |
| 732 if (char > 0xffff) { | 732 if (char > 0xffff) { |
| 733 encodedBytes = 4; | 733 encodedBytes = 4; |
| 734 flag = 0xf0; | 734 flag = 0xf0; |
| 735 } | 735 } |
| 736 } | 736 } |
| 737 codeUnits = new List(3 * encodedBytes); | 737 codeUnits = new List(3 * encodedBytes); |
| 738 int index = 0; | 738 int index = 0; |
| 739 while (--encodedBytes >= 0) { | 739 while (--encodedBytes >= 0) { |
| 740 int byte = ((__x49) => DDC$RT.cast(__x49, dynamic, int, "CastGeneral", | 740 int byte = ((__x49) => DDC$RT.cast(__x49, dynamic, int, "CastGeneral", |
| 741 """line 1262, column 20 of dart:core/uri.dart: """, __x49 is int, | 741 """line 1269, column 20 of dart:core/uri.dart: """, __x49 is int, |
| 742 true))(((char >> (6 * encodedBytes)) & 0x3f) | flag); | 742 true))(((char >> (6 * encodedBytes)) & 0x3f) | flag); |
| 743 codeUnits[index] = _PERCENT; | 743 codeUnits[index] = _PERCENT; |
| 744 codeUnits[index + 1] = hexDigits.codeUnitAt(byte >> 4); | 744 codeUnits[index + 1] = hexDigits.codeUnitAt(byte >> 4); |
| 745 codeUnits[index + 2] = hexDigits.codeUnitAt(byte & 0xf); | 745 codeUnits[index + 2] = hexDigits.codeUnitAt(byte & 0xf); |
| 746 index += 3; | 746 index += 3; |
| 747 flag = 0x80; | 747 flag = 0x80; |
| 748 } | 748 } |
| 749 } | 749 } |
| 750 return new String.fromCharCodes(codeUnits); | 750 return new String.fromCharCodes(codeUnits); |
| 751 } | 751 } |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 } | 839 } |
| 840 bool _hasDotSegments(String path) { | 840 bool _hasDotSegments(String path) { |
| 841 if (path.length > 0 && path.codeUnitAt(0) == _DOT) return true; | 841 if (path.length > 0 && path.codeUnitAt(0) == _DOT) return true; |
| 842 int index = path.indexOf("/."); | 842 int index = path.indexOf("/."); |
| 843 return index != -1; | 843 return index != -1; |
| 844 } | 844 } |
| 845 String _removeDotSegments(String path) { | 845 String _removeDotSegments(String path) { |
| 846 if (!_hasDotSegments(path)) return path; | 846 if (!_hasDotSegments(path)) return path; |
| 847 List<String> output = ((__x50) => DDC$RT.cast(__x50, | 847 List<String> output = ((__x50) => DDC$RT.cast(__x50, |
| 848 DDC$RT.type((List<dynamic> _) {}), DDC$RT.type((List<String> _) {}), | 848 DDC$RT.type((List<dynamic> _) {}), DDC$RT.type((List<String> _) {}), |
| 849 "CastLiteral", """line 1399, column 27 of dart:core/uri.dart: """, | 849 "CastLiteral", """line 1406, column 27 of dart:core/uri.dart: """, |
| 850 __x50 is List<String>, false))([]); | 850 __x50 is List<String>, false))([]); |
| 851 bool appendSlash = false; | 851 bool appendSlash = false; |
| 852 for (String segment in path.split("/")) { | 852 for (String segment in path.split("/")) { |
| 853 appendSlash = false; | 853 appendSlash = false; |
| 854 if (segment == "..") { | 854 if (segment == "..") { |
| 855 if (!output.isEmpty && | 855 if (!output.isEmpty && |
| 856 ((output.length != 1) || (output[0] != ""))) output.removeLast(); | 856 ((output.length != 1) || (output[0] != ""))) output.removeLast(); |
| 857 appendSlash = true; | 857 appendSlash = true; |
| 858 } else if ("." == segment) { | 858 } else if ("." == segment) { |
| 859 appendSlash = true; | 859 appendSlash = true; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 873 String targetHost; | 873 String targetHost; |
| 874 int targetPort; | 874 int targetPort; |
| 875 String targetPath; | 875 String targetPath; |
| 876 String targetQuery; | 876 String targetQuery; |
| 877 if (reference.scheme.isNotEmpty) { | 877 if (reference.scheme.isNotEmpty) { |
| 878 targetScheme = reference.scheme; | 878 targetScheme = reference.scheme; |
| 879 if (reference.hasAuthority) { | 879 if (reference.hasAuthority) { |
| 880 targetUserInfo = reference.userInfo; | 880 targetUserInfo = reference.userInfo; |
| 881 targetHost = reference.host; | 881 targetHost = reference.host; |
| 882 targetPort = ((__x51) => DDC$RT.cast(__x51, dynamic, int, "CastGeneral", | 882 targetPort = ((__x51) => DDC$RT.cast(__x51, dynamic, int, "CastGeneral", |
| 883 """line 1453, column 22 of dart:core/uri.dart: """, __x51 is int, | 883 """line 1460, column 22 of dart:core/uri.dart: """, __x51 is int, |
| 884 true))(reference.hasPort ? reference.port : null); | 884 true))(reference.hasPort ? reference.port : null); |
| 885 } | 885 } |
| 886 targetPath = _removeDotSegments(reference.path); | 886 targetPath = _removeDotSegments(reference.path); |
| 887 if (reference.hasQuery) { | 887 if (reference.hasQuery) { |
| 888 targetQuery = reference.query; | 888 targetQuery = reference.query; |
| 889 } | 889 } |
| 890 } else { | 890 } else { |
| 891 targetScheme = this.scheme; | 891 targetScheme = this.scheme; |
| 892 if (reference.hasAuthority) { | 892 if (reference.hasAuthority) { |
| 893 targetUserInfo = reference.userInfo; | 893 targetUserInfo = reference.userInfo; |
| 894 targetHost = reference.host; | 894 targetHost = reference.host; |
| 895 targetPort = _makePort(((__x52) => DDC$RT.cast(__x52, dynamic, int, | 895 targetPort = _makePort(((__x52) => DDC$RT.cast(__x52, dynamic, int, |
| 896 "CastGeneral", """line 1464, column 32 of dart:core/uri.dart: """, | 896 "CastGeneral", """line 1471, column 32 of dart:core/uri.dart: """, |
| 897 __x52 is int, | 897 __x52 is int, |
| 898 true))(reference.hasPort ? reference.port : null), targetScheme); | 898 true))(reference.hasPort ? reference.port : null), targetScheme); |
| 899 targetPath = _removeDotSegments(reference.path); | 899 targetPath = _removeDotSegments(reference.path); |
| 900 if (reference.hasQuery) targetQuery = reference.query; | 900 if (reference.hasQuery) targetQuery = reference.query; |
| 901 } else { | 901 } else { |
| 902 if (reference.path == "") { | 902 if (reference.path == "") { |
| 903 targetPath = this._path; | 903 targetPath = this._path; |
| 904 if (reference.hasQuery) { | 904 if (reference.hasQuery) { |
| 905 targetQuery = reference.query; | 905 targetQuery = reference.query; |
| 906 } else { | 906 } else { |
| 907 targetQuery = this._query; | 907 targetQuery = this._query; |
| 908 } | 908 } |
| 909 } else { | 909 } else { |
| 910 if (reference.path.startsWith("/")) { | 910 if (reference.path.startsWith("/")) { |
| 911 targetPath = _removeDotSegments(reference.path); | 911 targetPath = _removeDotSegments(reference.path); |
| 912 } else { | 912 } else { |
| 913 targetPath = _removeDotSegments(_merge(this._path, reference.path)); | 913 targetPath = _removeDotSegments(_merge(this._path, reference.path)); |
| 914 } | 914 } |
| 915 if (reference.hasQuery) targetQuery = reference.query; | 915 if (reference.hasQuery) targetQuery = reference.query; |
| 916 } | 916 } |
| 917 targetUserInfo = this._userInfo; | 917 targetUserInfo = this._userInfo; |
| 918 targetHost = this._host; | 918 targetHost = this._host; |
| 919 targetPort = ((__x53) => DDC$RT.cast(__x53, num, int, "CastGeneral", | 919 targetPort = ((__x53) => DDC$RT.cast(__x53, num, int, "CastGeneral", |
| 920 """line 1486, column 22 of dart:core/uri.dart: """, __x53 is int, | 920 """line 1493, column 22 of dart:core/uri.dart: """, __x53 is int, |
| 921 true))(this._port); | 921 true))(this._port); |
| 922 } | 922 } |
| 923 } | 923 } |
| 924 String fragment = ((__x54) => DDC$RT.cast(__x54, dynamic, String, | 924 String fragment = ((__x54) => DDC$RT.cast(__x54, dynamic, String, |
| 925 "CastGeneral", """line 1489, column 23 of dart:core/uri.dart: """, | 925 "CastGeneral", """line 1496, column 23 of dart:core/uri.dart: """, |
| 926 __x54 is String, | 926 __x54 is String, |
| 927 true))(reference.hasFragment ? reference.fragment : null); | 927 true))(reference.hasFragment ? reference.fragment : null); |
| 928 return new Uri._internal(targetScheme, targetUserInfo, targetHost, | 928 return new Uri._internal(targetScheme, targetUserInfo, targetHost, |
| 929 targetPort, targetPath, targetQuery, fragment); | 929 targetPort, targetPath, targetQuery, fragment); |
| 930 } | 930 } |
| 931 bool get hasAuthority => _host != null; | 931 bool get hasAuthority => _host != null; |
| 932 bool get hasPort => _port != null; | 932 bool get hasPort => _port != null; |
| 933 bool get hasQuery => _query != null; | 933 bool get hasQuery => _query != null; |
| 934 bool get hasFragment => _fragment != null; | 934 bool get hasFragment => _fragment != null; |
| 935 String get origin { | 935 String get origin { |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1024 if (_fragment != null) { | 1024 if (_fragment != null) { |
| 1025 sb | 1025 sb |
| 1026 ..write("#") | 1026 ..write("#") |
| 1027 ..write(_fragment); | 1027 ..write(_fragment); |
| 1028 } | 1028 } |
| 1029 return sb.toString(); | 1029 return sb.toString(); |
| 1030 } | 1030 } |
| 1031 bool operator ==(other) { | 1031 bool operator ==(other) { |
| 1032 if (other is! Uri) return false; | 1032 if (other is! Uri) return false; |
| 1033 Uri uri = DDC$RT.cast(other, dynamic, Uri, "CastGeneral", | 1033 Uri uri = DDC$RT.cast(other, dynamic, Uri, "CastGeneral", |
| 1034 """line 1695, column 15 of dart:core/uri.dart: """, other is Uri, true); | 1034 """line 1702, column 15 of dart:core/uri.dart: """, other is Uri, true); |
| 1035 return scheme == uri.scheme && | 1035 return scheme == uri.scheme && |
| 1036 hasAuthority == uri.hasAuthority && | 1036 hasAuthority == uri.hasAuthority && |
| 1037 userInfo == uri.userInfo && | 1037 userInfo == uri.userInfo && |
| 1038 host == uri.host && | 1038 host == uri.host && |
| 1039 port == uri.port && | 1039 port == uri.port && |
| 1040 path == uri.path && | 1040 path == uri.path && |
| 1041 hasQuery == uri.hasQuery && | 1041 hasQuery == uri.hasQuery && |
| 1042 query == uri.query && | 1042 query == uri.query && |
| 1043 hasFragment == uri.hasFragment && | 1043 hasFragment == uri.hasFragment && |
| 1044 fragment == uri.fragment; | 1044 fragment == uri.fragment; |
| 1045 } | 1045 } |
| 1046 int get hashCode { | 1046 int get hashCode { |
| 1047 int combine(part, current) { | 1047 int combine(part, current) { |
| 1048 return ((__x55) => DDC$RT.cast(__x55, dynamic, int, "CastGeneral", | 1048 return ((__x55) => DDC$RT.cast(__x55, dynamic, int, "CastGeneral", |
| 1049 """line 1711, column 14 of dart:core/uri.dart: """, __x55 is int, | 1049 """line 1718, column 14 of dart:core/uri.dart: """, __x55 is int, |
| 1050 true))((current * 31 + part.hashCode) & 0x3FFFFFFF); | 1050 true))((current * 31 + part.hashCode) & 0x3FFFFFFF); |
| 1051 } | 1051 } |
| 1052 return combine(scheme, combine(userInfo, combine(host, | 1052 return combine(scheme, combine(userInfo, combine(host, |
| 1053 combine(port, combine(path, combine(query, combine(fragment, 1))))))); | 1053 combine(port, combine(path, combine(query, combine(fragment, 1))))))); |
| 1054 } | 1054 } |
| 1055 static void _addIfNonEmpty( | 1055 static void _addIfNonEmpty( |
| 1056 StringBuffer sb, String test, String first, String second) { | 1056 StringBuffer sb, String test, String first, String second) { |
| 1057 if ("" != test) { | 1057 if ("" != test) { |
| 1058 sb.write(first); | 1058 sb.write(first); |
| 1059 sb.write(second); | 1059 sb.write(second); |
| 1060 } | 1060 } |
| 1061 } | 1061 } |
| 1062 static String encodeComponent(String component) { | 1062 static String encodeComponent(String component) { |
| 1063 return _uriEncode(DDC$RT.cast(_unreserved2396Table, dynamic, | 1063 return _uriEncode(DDC$RT.cast(_unreserved2396Table, dynamic, |
| 1064 DDC$RT.type((List<int> _) {}), "CastGeneral", | 1064 DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 1065 """line 1746, column 23 of dart:core/uri.dart: """, | 1065 """line 1753, column 23 of dart:core/uri.dart: """, |
| 1066 _unreserved2396Table is List<int>, false), component); | 1066 _unreserved2396Table is List<int>, false), component); |
| 1067 } | 1067 } |
| 1068 static String encodeQueryComponent(String component, | 1068 static String encodeQueryComponent(String component, |
| 1069 {Encoding encoding: UTF8}) { | 1069 {Encoding encoding: UTF8}) { |
| 1070 return _uriEncode(DDC$RT.cast(_unreservedTable, dynamic, | 1070 return _uriEncode(DDC$RT.cast(_unreservedTable, dynamic, |
| 1071 DDC$RT.type((List<int> _) {}), "CastGeneral", | 1071 DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 1072 """line 1785, column 9 of dart:core/uri.dart: """, | 1072 """line 1792, column 9 of dart:core/uri.dart: """, |
| 1073 _unreservedTable is List<int>, false), component, | 1073 _unreservedTable is List<int>, false), component, |
| 1074 encoding: encoding, spaceToPlus: true); | 1074 encoding: encoding, spaceToPlus: true); |
| 1075 } | 1075 } |
| 1076 static String decodeComponent(String encodedComponent) { | 1076 static String decodeComponent(String encodedComponent) { |
| 1077 return _uriDecode(encodedComponent); | 1077 return _uriDecode(encodedComponent); |
| 1078 } | 1078 } |
| 1079 static String decodeQueryComponent(String encodedComponent, | 1079 static String decodeQueryComponent(String encodedComponent, |
| 1080 {Encoding encoding: UTF8}) { | 1080 {Encoding encoding: UTF8}) { |
| 1081 return _uriDecode(encodedComponent, plusToSpace: true, encoding: encoding); | 1081 return _uriDecode(encodedComponent, plusToSpace: true, encoding: encoding); |
| 1082 } | 1082 } |
| 1083 static String encodeFull(String uri) { | 1083 static String encodeFull(String uri) { |
| 1084 return _uriEncode(DDC$RT.cast(_encodeFullTable, dynamic, | 1084 return _uriEncode(DDC$RT.cast(_encodeFullTable, dynamic, |
| 1085 DDC$RT.type((List<int> _) {}), "CastGeneral", | 1085 DDC$RT.type((List<int> _) {}), "CastGeneral", |
| 1086 """line 1829, column 23 of dart:core/uri.dart: """, | 1086 """line 1836, column 23 of dart:core/uri.dart: """, |
| 1087 _encodeFullTable is List<int>, false), uri); | 1087 _encodeFullTable is List<int>, false), uri); |
| 1088 } | 1088 } |
| 1089 static String decodeFull(String uri) { | 1089 static String decodeFull(String uri) { |
| 1090 return _uriDecode(uri); | 1090 return _uriDecode(uri); |
| 1091 } | 1091 } |
| 1092 static Map<String, String> splitQueryString(String query, | 1092 static Map<String, String> splitQueryString(String query, |
| 1093 {Encoding encoding: UTF8}) { | 1093 {Encoding encoding: UTF8}) { |
| 1094 return ((__x56) => DDC$RT.cast(__x56, dynamic, | 1094 return ((__x56) => DDC$RT.cast(__x56, dynamic, |
| 1095 DDC$RT.type((Map<String, String> _) {}), "CastGeneral", | 1095 DDC$RT.type((Map<String, String> _) {}), "CastGeneral", |
| 1096 """line 1861, column 12 of dart:core/uri.dart: """, | 1096 """line 1868, column 12 of dart:core/uri.dart: """, |
| 1097 __x56 is Map<String, String>, false))(query | 1097 __x56 is Map<String, String>, false))(query |
| 1098 .split("&") | 1098 .split("&") |
| 1099 .fold({}, (map, element) { | 1099 .fold({}, (map, element) { |
| 1100 int index = ((__x57) => DDC$RT.cast(__x57, dynamic, int, "CastGeneral", | 1100 int index = ((__x57) => DDC$RT.cast(__x57, dynamic, int, "CastGeneral", |
| 1101 """line 1862, column 19 of dart:core/uri.dart: """, __x57 is int, | 1101 """line 1869, column 19 of dart:core/uri.dart: """, __x57 is int, |
| 1102 true))(element.indexOf("=")); | 1102 true))(element.indexOf("=")); |
| 1103 if (index == -1) { | 1103 if (index == -1) { |
| 1104 if (element != "") { | 1104 if (element != "") { |
| 1105 map[decodeQueryComponent(DDC$RT.cast(element, dynamic, String, | 1105 map[decodeQueryComponent(DDC$RT.cast(element, dynamic, String, |
| 1106 "CastGeneral", """line 1865, column 36 of dart:core/uri.dart: """, | 1106 "CastGeneral", """line 1872, column 36 of dart:core/uri.dart: """, |
| 1107 element is String, true), encoding: encoding)] = ""; | 1107 element is String, true), encoding: encoding)] = ""; |
| 1108 } | 1108 } |
| 1109 } else if (index != 0) { | 1109 } else if (index != 0) { |
| 1110 var key = element.substring(0, index); | 1110 var key = element.substring(0, index); |
| 1111 var value = element.substring(index + 1); | 1111 var value = element.substring(index + 1); |
| 1112 map[Uri.decodeQueryComponent(DDC$RT.cast(key, dynamic, String, | 1112 map[Uri.decodeQueryComponent(DDC$RT.cast(key, dynamic, String, |
| 1113 "CastGeneral", | 1113 "CastGeneral", |
| 1114 """line 1870, column 38 of dart:core/uri.dart: """, | 1114 """line 1877, column 38 of dart:core/uri.dart: """, |
| 1115 key is String, true), | 1115 key is String, true), |
| 1116 encoding: encoding)] = decodeQueryComponent(DDC$RT.cast(value, | 1116 encoding: encoding)] = decodeQueryComponent(DDC$RT.cast(value, |
| 1117 dynamic, String, "CastGeneral", | 1117 dynamic, String, "CastGeneral", |
| 1118 """line 1871, column 34 of dart:core/uri.dart: """, | 1118 """line 1878, column 34 of dart:core/uri.dart: """, |
| 1119 value is String, true), encoding: encoding); | 1119 value is String, true), encoding: encoding); |
| 1120 } | 1120 } |
| 1121 return map; | 1121 return map; |
| 1122 })); | 1122 })); |
| 1123 } | 1123 } |
| 1124 static List<int> parseIPv4Address(String host) { | 1124 static List<int> parseIPv4Address(String host) { |
| 1125 void error(String msg) { | 1125 void error(String msg) { |
| 1126 throw new FormatException('Illegal IPv4 address, $msg'); | 1126 throw new FormatException('Illegal IPv4 address, $msg'); |
| 1127 } | 1127 } |
| 1128 var bytes = host.split('.'); | 1128 var bytes = host.split('.'); |
| 1129 if (bytes.length != 4) { | 1129 if (bytes.length != 4) { |
| 1130 error('IPv4 address should contain exactly 4 parts'); | 1130 error('IPv4 address should contain exactly 4 parts'); |
| 1131 } | 1131 } |
| 1132 return ((__x58) => DDC$RT.cast(__x58, DDC$RT.type((List<dynamic> _) {}), | 1132 return ((__x58) => DDC$RT.cast(__x58, DDC$RT.type((List<dynamic> _) {}), |
| 1133 DDC$RT.type((List<int> _) {}), "CastDynamic", | 1133 DDC$RT.type((List<int> _) {}), "CastDynamic", |
| 1134 """line 1893, column 12 of dart:core/uri.dart: """, __x58 is List<int>, | 1134 """line 1900, column 12 of dart:core/uri.dart: """, __x58 is List<int>, |
| 1135 false))(bytes.map((byteString) { | 1135 false))(bytes.map((byteString) { |
| 1136 int byte = int.parse(DDC$RT.cast(byteString, dynamic, String, | 1136 int byte = int.parse(DDC$RT.cast(byteString, dynamic, String, |
| 1137 "CastGeneral", """line 1895, column 32 of dart:core/uri.dart: """, | 1137 "CastGeneral", """line 1902, column 32 of dart:core/uri.dart: """, |
| 1138 byteString is String, true)); | 1138 byteString is String, true)); |
| 1139 if (byte < 0 || byte > 255) { | 1139 if (byte < 0 || byte > 255) { |
| 1140 error('each part must be in the range of `0..255`'); | 1140 error('each part must be in the range of `0..255`'); |
| 1141 } | 1141 } |
| 1142 return byte; | 1142 return byte; |
| 1143 }).toList()); | 1143 }).toList()); |
| 1144 } | 1144 } |
| 1145 static List<int> parseIPv6Address(String host, [int start = 0, int end]) { | 1145 static List<int> parseIPv6Address(String host, [int start = 0, int end]) { |
| 1146 if (end == null) end = host.length; | 1146 if (end == null) end = host.length; |
| 1147 void error(String msg, [position]) { | 1147 void error(String msg, [position]) { |
| 1148 throw new FormatException('Illegal IPv6 address, $msg', host, position); | 1148 throw new FormatException('Illegal IPv6 address, $msg', host, position); |
| 1149 } | 1149 } |
| 1150 int parseHex(int start, int end) { | 1150 int parseHex(int start, int end) { |
| 1151 if (end - start > 4) { | 1151 if (end - start > 4) { |
| 1152 error('an IPv6 part can only contain a maximum of 4 hex digits', start); | 1152 error('an IPv6 part can only contain a maximum of 4 hex digits', start); |
| 1153 } | 1153 } |
| 1154 int value = int.parse(host.substring(start, end), radix: 16); | 1154 int value = int.parse(host.substring(start, end), radix: 16); |
| 1155 if (value < 0 || value > (1 << 16) - 1) { | 1155 if (value < 0 || value > (1 << 16) - 1) { |
| 1156 error('each part must be in the range of `0x0..0xFFFF`', start); | 1156 error('each part must be in the range of `0x0..0xFFFF`', start); |
| 1157 } | 1157 } |
| 1158 return value; | 1158 return value; |
| 1159 } | 1159 } |
| 1160 if (host.length < 2) error('address is too short'); | 1160 if (host.length < 2) error('address is too short'); |
| 1161 List<int> parts = ((__x59) => DDC$RT.cast(__x59, | 1161 List<int> parts = ((__x59) => DDC$RT.cast(__x59, |
| 1162 DDC$RT.type((List<dynamic> _) {}), DDC$RT.type((List<int> _) {}), | 1162 DDC$RT.type((List<dynamic> _) {}), DDC$RT.type((List<int> _) {}), |
| 1163 "CastLiteral", """line 1943, column 23 of dart:core/uri.dart: """, | 1163 "CastLiteral", """line 1950, column 23 of dart:core/uri.dart: """, |
| 1164 __x59 is List<int>, false))([]); | 1164 __x59 is List<int>, false))([]); |
| 1165 bool wildcardSeen = false; | 1165 bool wildcardSeen = false; |
| 1166 int partStart = start; | 1166 int partStart = start; |
| 1167 for (int i = start; i < end; i++) { | 1167 for (int i = start; i < end; i++) { |
| 1168 if (host.codeUnitAt(i) == _COLON) { | 1168 if (host.codeUnitAt(i) == _COLON) { |
| 1169 if (i == start) { | 1169 if (i == start) { |
| 1170 i++; | 1170 i++; |
| 1171 if (host.codeUnitAt(i) != _COLON) { | 1171 if (host.codeUnitAt(i) != _COLON) { |
| 1172 error('invalid start colon.', i); | 1172 error('invalid start colon.', i); |
| 1173 } | 1173 } |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1222 index += 2; | 1222 index += 2; |
| 1223 } | 1223 } |
| 1224 } else { | 1224 } else { |
| 1225 bytes[index] = value >> 8; | 1225 bytes[index] = value >> 8; |
| 1226 bytes[index + 1] = value & 0xff; | 1226 bytes[index + 1] = value & 0xff; |
| 1227 index += 2; | 1227 index += 2; |
| 1228 } | 1228 } |
| 1229 } | 1229 } |
| 1230 return DDC$RT.cast(bytes, DDC$RT.type((List<dynamic> _) {}), | 1230 return DDC$RT.cast(bytes, DDC$RT.type((List<dynamic> _) {}), |
| 1231 DDC$RT.type((List<int> _) {}), "CastDynamic", | 1231 DDC$RT.type((List<int> _) {}), "CastDynamic", |
| 1232 """line 2015, column 12 of dart:core/uri.dart: """, bytes is List<int>, | 1232 """line 2022, column 12 of dart:core/uri.dart: """, bytes is List<int>, |
| 1233 false); | 1233 false); |
| 1234 } | 1234 } |
| 1235 static const int _SPACE = 0x20; | 1235 static const int _SPACE = 0x20; |
| 1236 static const int _DOUBLE_QUOTE = 0x22; | 1236 static const int _DOUBLE_QUOTE = 0x22; |
| 1237 static const int _NUMBER_SIGN = 0x23; | 1237 static const int _NUMBER_SIGN = 0x23; |
| 1238 static const int _PERCENT = 0x25; | 1238 static const int _PERCENT = 0x25; |
| 1239 static const int _ASTERISK = 0x2A; | 1239 static const int _ASTERISK = 0x2A; |
| 1240 static const int _PLUS = 0x2B; | 1240 static const int _PLUS = 0x2B; |
| 1241 static const int _DOT = 0x2E; | 1241 static const int _DOT = 0x2E; |
| 1242 static const int _SLASH = 0x2F; | 1242 static const int _SLASH = 0x2F; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1256 static const int _LOWER_CASE_A = 0x61; | 1256 static const int _LOWER_CASE_A = 0x61; |
| 1257 static const int _LOWER_CASE_F = 0x66; | 1257 static const int _LOWER_CASE_F = 0x66; |
| 1258 static const int _LOWER_CASE_Z = 0x7A; | 1258 static const int _LOWER_CASE_Z = 0x7A; |
| 1259 static const int _BAR = 0x7C; | 1259 static const int _BAR = 0x7C; |
| 1260 static String _uriEncode(List<int> canonicalTable, String text, | 1260 static String _uriEncode(List<int> canonicalTable, String text, |
| 1261 {Encoding encoding: UTF8, bool spaceToPlus: false}) { | 1261 {Encoding encoding: UTF8, bool spaceToPlus: false}) { |
| 1262 byteToHex(byte, buffer) { | 1262 byteToHex(byte, buffer) { |
| 1263 const String hex = '0123456789ABCDEF'; | 1263 const String hex = '0123456789ABCDEF'; |
| 1264 buffer.writeCharCode(hex.codeUnitAt(((__x60) => DDC$RT.cast(__x60, | 1264 buffer.writeCharCode(hex.codeUnitAt(((__x60) => DDC$RT.cast(__x60, |
| 1265 dynamic, int, "CastGeneral", | 1265 dynamic, int, "CastGeneral", |
| 1266 """line 2056, column 43 of dart:core/uri.dart: """, __x60 is int, | 1266 """line 2063, column 43 of dart:core/uri.dart: """, __x60 is int, |
| 1267 true))(byte >> 4))); | 1267 true))(byte >> 4))); |
| 1268 buffer.writeCharCode(hex.codeUnitAt(((__x61) => DDC$RT.cast(__x61, | 1268 buffer.writeCharCode(hex.codeUnitAt(((__x61) => DDC$RT.cast(__x61, |
| 1269 dynamic, int, "CastGeneral", | 1269 dynamic, int, "CastGeneral", |
| 1270 """line 2057, column 43 of dart:core/uri.dart: """, __x61 is int, | 1270 """line 2064, column 43 of dart:core/uri.dart: """, __x61 is int, |
| 1271 true))(byte & 0x0f))); | 1271 true))(byte & 0x0f))); |
| 1272 } | 1272 } |
| 1273 StringBuffer result = new StringBuffer(); | 1273 StringBuffer result = new StringBuffer(); |
| 1274 var bytes = encoding.encode(text); | 1274 var bytes = encoding.encode(text); |
| 1275 for (int i = 0; i < bytes.length; i++) { | 1275 for (int i = 0; i < bytes.length; i++) { |
| 1276 int byte = bytes[i]; | 1276 int byte = bytes[i]; |
| 1277 if (byte < 128 && | 1277 if (byte < 128 && |
| 1278 ((canonicalTable[byte >> 4] & (1 << (byte & 0x0f))) != 0)) { | 1278 ((canonicalTable[byte >> 4] & (1 << (byte & 0x0f))) != 0)) { |
| 1279 result.writeCharCode(byte); | 1279 result.writeCharCode(byte); |
| 1280 } else if (spaceToPlus && byte == _SPACE) { | 1280 } else if (spaceToPlus && byte == _SPACE) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1313 List<int> bytes; | 1313 List<int> bytes; |
| 1314 if (simple) { | 1314 if (simple) { |
| 1315 if (encoding == UTF8 || encoding == LATIN1) { | 1315 if (encoding == UTF8 || encoding == LATIN1) { |
| 1316 return text; | 1316 return text; |
| 1317 } else { | 1317 } else { |
| 1318 bytes = text.codeUnits; | 1318 bytes = text.codeUnits; |
| 1319 } | 1319 } |
| 1320 } else { | 1320 } else { |
| 1321 bytes = ((__x62) => DDC$RT.cast(__x62, DDC$RT.type((List<dynamic> _) {}), | 1321 bytes = ((__x62) => DDC$RT.cast(__x62, DDC$RT.type((List<dynamic> _) {}), |
| 1322 DDC$RT.type((List<int> _) {}), "CastExact", | 1322 DDC$RT.type((List<int> _) {}), "CastExact", |
| 1323 """line 2131, column 15 of dart:core/uri.dart: """, | 1323 """line 2138, column 15 of dart:core/uri.dart: """, |
| 1324 __x62 is List<int>, false))(new List()); | 1324 __x62 is List<int>, false))(new List()); |
| 1325 for (int i = 0; i < text.length; i++) { | 1325 for (int i = 0; i < text.length; i++) { |
| 1326 var codeUnit = text.codeUnitAt(i); | 1326 var codeUnit = text.codeUnitAt(i); |
| 1327 if (codeUnit > 127) { | 1327 if (codeUnit > 127) { |
| 1328 throw new ArgumentError("Illegal percent encoding in URI"); | 1328 throw new ArgumentError("Illegal percent encoding in URI"); |
| 1329 } | 1329 } |
| 1330 if (codeUnit == _PERCENT) { | 1330 if (codeUnit == _PERCENT) { |
| 1331 if (i + 3 > text.length) { | 1331 if (i + 3 > text.length) { |
| 1332 throw new ArgumentError('Truncated URI'); | 1332 throw new ArgumentError('Truncated URI'); |
| 1333 } | 1333 } |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 0x0000, | 1459 0x0000, |
| 1460 0x0000, | 1460 0x0000, |
| 1461 0xffd2, | 1461 0xffd2, |
| 1462 0xafff, | 1462 0xafff, |
| 1463 0xffff, | 1463 0xffff, |
| 1464 0x87ff, | 1464 0x87ff, |
| 1465 0xfffe, | 1465 0xfffe, |
| 1466 0x47ff | 1466 0x47ff |
| 1467 ]; | 1467 ]; |
| 1468 } | 1468 } |
| OLD | NEW |