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

Unified Diff: pkg/dev_compiler/lib/js/legacy/dart_sdk.js

Issue 2739863003: Add option to suppress type-check whitelisting (Closed)
Patch Set: Created 3 years, 9 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:
Download patch
« no previous file with comments | « pkg/dev_compiler/lib/js/es6/dart_sdk.js ('k') | pkg/dev_compiler/lib/sdk/ddc_sdk.sum » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/dev_compiler/lib/js/legacy/dart_sdk.js
diff --git a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
index ff6fe1080a7e87723e1285d17c5ed8eb8b3b3acd..531430044b66eeccc17eb2fef9d1e93854d03fe7 100644
--- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
@@ -710,6 +710,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let dynamicAndStringAnddynamicTovoid = () => (dynamicAndStringAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic, core.String, dart.dynamic])))();
let FAndintToF = () => (FAndintToF = dart.constFn(dart.definiteFunctionType(F => [F, [F, core.int]])))();
let JSSyntaxRegExpTodynamic = () => (JSSyntaxRegExpTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [_js_helper.JSSyntaxRegExp])))();
+ let ListToListOfString = () => (ListToListOfString = dart.constFn(dart.definiteFunctionType(ListOfString(), [core.List])))();
let JSSyntaxRegExpToint = () => (JSSyntaxRegExpToint = dart.constFn(dart.definiteFunctionType(core.int, [_js_helper.JSSyntaxRegExp])))();
let JSSyntaxRegExpAndStringAndintToMatch = () => (JSSyntaxRegExpAndStringAndintToMatch = dart.constFn(dart.definiteFunctionType(core.Match, [_js_helper.JSSyntaxRegExp, core.String, core.int])))();
let dynamicAnddynamicAnddynamicToint = () => (dynamicAnddynamicAnddynamicToint = dart.constFn(dart.definiteFunctionType(core.int, [dart.dynamic, dart.dynamic, dart.dynamic])))();
@@ -1887,6 +1888,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart.trapRuntimeErrors = function(flag) {
dart._trapRuntimeErrors = flag;
};
+ dart.ignoreWhitelistedErrors = function(flag) {
+ dart._ignoreWhitelistedErrors = flag;
+ };
dart.throwCastError = function(object, actual, type) {
var found = dart.typeName(actual);
var expected = dart.typeName(type);
@@ -2250,7 +2254,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let result = dart.isSubtype(actual, type);
if (result || actual == dart.jsobject || actual == core.int && type == core.double) return true;
if (result === false) return false;
- if (ignoreFromWhiteList == void 0) return result;
+ if (!dart._ignoreWhitelistedErrors || ignoreFromWhiteList == void 0) return result;
if (dart._ignoreTypeFailure(actual, type)) return true;
return result;
};
@@ -2994,6 +2998,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart._typeFormalCount = Symbol("_typeFormalCount");
dart.isSubtype = dart._subtypeMemo((t1, t2) => t1 === t2 || dart._isSubtype(t1, t2, true));
dart._trapRuntimeErrors = true;
+ dart._ignoreWhitelistedErrors = true;
dart._jsIterator = Symbol("_jsIterator");
dart._current = Symbol("_current");
dart._AsyncStarStreamController = class _AsyncStarStreamController {
@@ -12834,6 +12839,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
return regexp[_nativeRegExp];
};
dart.lazyFn(_js_helper.regExpGetNative, () => JSSyntaxRegExpTodynamic());
+ _js_helper._stringList = function(l) {
+ return ListOfString()._check(l == null ? l : dart.list(l, core.String));
+ };
+ dart.lazyFn(_js_helper._stringList, () => ListToListOfString());
const _nativeGlobalVersion = Symbol('_nativeGlobalVersion');
_js_helper.regExpGetGlobalNative = function(regexp) {
let nativeRegexp = regexp[_nativeGlobalVersion];
@@ -12900,7 +12909,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
firstMatch(string) {
let m = this[_nativeRegExp].exec(_js_helper.checkString(string));
if (m == null) return null;
- return new _js_helper._MatchImplementation(this, m);
+ return new _js_helper._MatchImplementation(this, _js_helper._stringList(m));
}
hasMatch(string) {
return this[_nativeRegExp].test(_js_helper.checkString(string));
@@ -12924,7 +12933,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
regexp.lastIndex = start;
let match = regexp.exec(string);
if (match == null) return null;
- return new _js_helper._MatchImplementation(this, ListOfString()._check(match));
+ return new _js_helper._MatchImplementation(this, _js_helper._stringList(match));
}
[_execAnchored](string, start) {
let regexp = this[_nativeAnchoredVersion];
@@ -12933,7 +12942,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
if (match == null) return null;
if (match[dartx._get](dart.notNull(match[dartx.length]) - 1) != null) return null;
match[dartx.length] = dart.notNull(match[dartx.length]) - 1;
- return new _js_helper._MatchImplementation(this, ListOfString()._check(match));
+ return new _js_helper._MatchImplementation(this, _js_helper._stringList(match));
}
matchAsPrefix(string, start) {
if (start === void 0) start = 0;
« no previous file with comments | « pkg/dev_compiler/lib/js/es6/dart_sdk.js ('k') | pkg/dev_compiler/lib/sdk/ddc_sdk.sum » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698