| Index: pkg/polymer/lib/src/declaration.dart
|
| diff --git a/pkg/polymer/lib/src/declaration.dart b/pkg/polymer/lib/src/declaration.dart
|
| index e50628c5076d183722bc2b3da10fc67e942581ba..7eaf11a1a8bc19f5885ca6910398ec3eaf9e3ab2 100644
|
| --- a/pkg/polymer/lib/src/declaration.dart
|
| +++ b/pkg/polymer/lib/src/declaration.dart
|
| @@ -531,7 +531,17 @@ DeclarationMirror _getProperty(ClassMirror cls, Symbol property) {
|
| return mirror;
|
| }
|
| cls = cls.superclass;
|
| - } while (cls != null);
|
| +
|
| + // It's generally a good idea to stop at Object, since we know it doesn't
|
| + // have what we want.
|
| + // TODO(jmesserly): This is also a workaround for what appears to be a V8
|
| + // bug introduced between Chrome 31 and 32. After 32
|
| + // JsClassMirror.declarations on Object calls
|
| + // JsClassMirror.typeVariables, which tries to get the _jsConstructor's
|
| + // .prototype["<>"]. This ends up getting the "" property instead, maybe
|
| + // because "<>" doesn't exist, and gets ";" which then blows up because
|
| + // the code later on expects a List of ints.
|
| + } while (cls != _objectType);
|
| return null;
|
| }
|
|
|
|
|