| 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 dd8f7bb8c5f6c2ce68d67dbebe614f55785f12b8..34888fddba675928ed3f21dce9844e03a42a5b85 100644
|
| --- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| @@ -1210,10 +1210,20 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| 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;
|
| @@ -1221,6 +1231,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| };
|
| 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;
|
| @@ -1255,6 +1271,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| 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) {
|
| @@ -2217,7 +2236,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return 'dynamic';
|
| }
|
| };
|
| - const _dartName = Symbol('_dartName');
|
| dart.LazyJSType = class LazyJSType extends core.Object {
|
| new(jsTypeCallback, dartName) {
|
| this[_jsTypeCallback] = jsTypeCallback;
|
|
|