commit | 638d8912fc9291f1f5bdd66fdb94660898af309c | [log] [tgz] |
---|---|---|
author | Daniel Kurka <dankurka@google.com> | Wed Dec 02 16:32:56 2015 +0100 |
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | Fri Dec 04 13:50:48 2015 +0000 |
tree | 1cfa99b748a533e5849339b667393d64259d998e | |
parent | b01585b6e6c82377aee70fc6cdb557ab050e6723 [diff] |
Special treat casting for native Array & Object. Change-Id: I2f3223a24825de05cc2fefcd86af9a57b54279a5
diff --git a/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Cast.java b/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Cast.java index afb3553..993ffc1 100644 --- a/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Cast.java +++ b/dev/core/super/com/google/gwt/dev/jjs/intrinsic/com/google/gwt/lang/Cast.java
@@ -239,6 +239,15 @@ return false; } + if (jsTypeStr == "Object") { + // TODO(rluble): Handle this case in the compiler side. + return true; + } else if (jsTypeStr == "Array" ) { + // TODO(rluble): remove array special handling once + // instanceOf can be customized for native classes. + return Array.isArray(obj); + } + var jsType = $wnd; for (var i = 0, parts = jsTypeStr.split("."), l = parts.length; i < l ; i++) { jsType = jsType && jsType[parts[i]];