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

Unified Diff: lib/runtime/dart/core.js

Issue 1147143007: fixes #206, add checking for unary ops (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: lib/runtime/dart/core.js
diff --git a/lib/runtime/dart/core.js b/lib/runtime/dart/core.js
index 1eac80377c7c89eab07b7075358d231fc00895a9..b1d09ff1c2fc8e33c4a7117564214d9b0d545e27 100644
--- a/lib/runtime/dart/core.js
+++ b/lib/runtime/dart/core.js
@@ -860,7 +860,7 @@ var convert = dart.lazyImport(convert);
dart.assert(this[_hasValue]);
let target = Error.safeToString(this.indexable);
let explanation = `index should be less than ${this.length}`;
- if (dart.dsend(this.invalidValue, '<', 0)) {
+ if (dart.as(dart.dsend(this.invalidValue, '<', 0), bool)) {
explanation = "index must not be negative";
}
return `RangeError: ${this.message} (${target}[${this.invalidValue}]): ${explanation}`;
@@ -2688,7 +2688,7 @@ var convert = dart.lazyImport(convert);
}
static _checkNonWindowsPathReservedCharacters(segments, argumentError) {
segments[$forEach](dart.fn(segment => {
- if (dart.dsend(segment, 'contains', "/")) {
+ if (dart.as(dart.dsend(segment, 'contains', "/"), bool)) {
if (argumentError) {
throw new ArgumentError(`Illegal path character ${segment}`);
} else {
@@ -2701,7 +2701,7 @@ var convert = dart.lazyImport(convert);
if (firstSegment === void 0)
firstSegment = 0;
segments[$skip](firstSegment)[$forEach](dart.fn(segment => {
- if (dart.dsend(segment, 'contains', RegExp.new('["*/:<>?\\\\|]'))) {
+ if (dart.as(dart.dsend(segment, 'contains', RegExp.new('["*/:<>?\\\\|]')), bool)) {
if (argumentError) {
throw new ArgumentError("Illegal character in path");
} else {
@@ -2984,7 +2984,7 @@ var convert = dart.lazyImport(convert);
} else {
result = pathSegments[$map](dart.fn(s => Uri._uriEncode(dart.as(Uri._pathCharTable, List$(int)), dart.as(s, String)), String, [Object]))[$join]("/");
}
- if (dart.dload(result, 'isEmpty')) {
+ if (dart.as(dart.dload(result, 'isEmpty'), bool)) {
if (isFile)
return "/";
} else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && dart.notNull(!dart.equals(dart.dsend(result, 'codeUnitAt', 0), Uri._SLASH))) {
@@ -3008,7 +3008,7 @@ var convert = dart.lazyImport(convert);
}
first = false;
result.write(Uri.encodeQueryComponent(dart.as(key, String)));
- if (dart.notNull(value != null) && dart.notNull(dart.dsend(dart.dload(value, 'isEmpty'), '!'))) {
+ if (dart.notNull(value != null) && !dart.notNull(dart.as(dart.dload(value, 'isEmpty'), bool))) {
result.write("=");
result.write(Uri.encodeQueryComponent(dart.as(value, String)));
}
@@ -3065,7 +3065,7 @@ var convert = dart.lazyImport(convert);
dart.assert(dart.dsend(char, '<=', 1114111));
let hexDigits = "0123456789ABCDEF";
let codeUnits = null;
- if (dart.dsend(char, '<', 128)) {
+ if (dart.as(dart.dsend(char, '<', 128), bool)) {
codeUnits = List.new(3);
codeUnits[$set](0, Uri._PERCENT);
codeUnits[$set](1, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '>>', 4), int)));
@@ -3073,10 +3073,10 @@ var convert = dart.lazyImport(convert);
} else {
let flag = 192;
let encodedBytes = 2;
- if (dart.dsend(char, '>', 2047)) {
+ if (dart.as(dart.dsend(char, '>', 2047), bool)) {
flag = 224;
encodedBytes = 3;
- if (dart.dsend(char, '>', 65535)) {
+ if (dart.as(dart.dsend(char, '>', 65535), bool)) {
encodedBytes = 4;
flag = 240;
}

Powered by Google App Engine
This is Rietveld 408576698