| Index: pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| diff --git a/pkg/dev_compiler/lib/js/common/dart_sdk.js b/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| index 123c87b78c38518ac09f2ad5c9b980c5edb4f8de..00228df08a958568bfc7a01c28d59977e36e9527 100644
|
| --- a/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/common/dart_sdk.js
|
| @@ -1209,10 +1209,20 @@
|
| dart.tagLazy = function(value, compute) {
|
| dart.defineLazyProperty(value, dart._runtimeType, {get: compute});
|
| };
|
| + dart._warn = function(arg) {
|
| + console.warn(arg);
|
| + };
|
| const _jsTypeCallback = Symbol('_jsTypeCallback');
|
| const _rawJSType = Symbol('_rawJSType');
|
| + const _dartName = Symbol('_dartName');
|
| dart._isInstanceOfLazyJSType = function(o, t) {
|
| if (t[_jsTypeCallback] != null) {
|
| + if (t[_rawJSType] == null) {
|
| + let expected = t[_dartName];
|
| + let actual = dart.typeName(dart.getReifiedType(o));
|
| + dart._warn(dart.str`Cannot find native JavaScript type (${expected}) ` + dart.str`to type check ${actual}`);
|
| + return true;
|
| + }
|
| return dart.is(o, t[_rawJSType]);
|
| }
|
| if (o == null) return false;
|
| @@ -1220,6 +1230,12 @@
|
| };
|
| dart._asInstanceOfLazyJSType = function(o, t) {
|
| if (t[_jsTypeCallback] != null) {
|
| + if (t[_rawJSType] == null) {
|
| + let expected = t[_dartName];
|
| + let actual = dart.typeName(dart.getReifiedType(o));
|
| + dart._warn(dart.str`Cannot find native JavaScript type (${expected}) ` + dart.str`to type check ${actual}`);
|
| + return o;
|
| + }
|
| return dart.as(o, t[_rawJSType]);
|
| }
|
| if (o == null) return null;
|
| @@ -1254,6 +1270,9 @@
|
| dart.LazyJSType.prototype.as = function as_T(object) {
|
| return dart._asInstanceOfLazyJSType(object, this);
|
| };
|
| + dart.LazyJSType.prototype._check = function check_T(object) {
|
| + return dart._asInstanceOfLazyJSType(object, this);
|
| + };
|
| };
|
| dart._functionType = function(definite, returnType, args, extra) {
|
| if (args === void 0 && extra === void 0) {
|
| @@ -2216,7 +2235,6 @@
|
| return 'dynamic';
|
| }
|
| };
|
| - const _dartName = Symbol('_dartName');
|
| dart.LazyJSType = class LazyJSType extends core.Object {
|
| new(jsTypeCallback, dartName) {
|
| this[_jsTypeCallback] = jsTypeCallback;
|
|
|