| Index: sdk/lib/_internal/lib/js_mirrors.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/lib/js_mirrors.dart (revision 32895)
|
| +++ sdk/lib/_internal/lib/js_mirrors.dart (working copy)
|
| @@ -569,7 +569,8 @@
|
| // This is a native class, or an intercepted class.
|
| // TODO(ahe): Preserve descriptor for such classes.
|
| } else {
|
| - fields = JS('', '#[""]', descriptor);
|
| + fields = JS('', '#[#]', descriptor,
|
| + JS_GET_NAME('CLASS_DESCRIPTOR_PROPERTY'));
|
| if (fields is List) {
|
| fieldsMetadata = fields.getRange(1, fields.length).toList();
|
| fields = fields[0];
|
| @@ -1592,7 +1593,10 @@
|
| var staticDescriptor = JS('', 'init.statics[#]', _mangledName);
|
| if (staticDescriptor != null) {
|
| parseCompactFieldSpecification(
|
| - fieldOwner, JS('', '#[""]', staticDescriptor), true, result);
|
| + fieldOwner,
|
| + JS('', '#[#]',
|
| + staticDescriptor, JS_GET_NAME('CLASS_DESCRIPTOR_PROPERTY')),
|
| + true, result);
|
| }
|
| return result;
|
| }
|
| @@ -2685,7 +2689,10 @@
|
| /// Returns true if the key represent ancillary reflection data, that is, not a
|
| /// method.
|
| bool isReflectiveDataInPrototype(String key) {
|
| - if (key == '' || key == METHODS_WITH_OPTIONAL_ARGUMENTS) return true;
|
| + if (key == JS_GET_NAME('CLASS_DESCRIPTOR_PROPERTY') ||
|
| + key == METHODS_WITH_OPTIONAL_ARGUMENTS) {
|
| + return true;
|
| + }
|
| String firstChar = key[0];
|
| return firstChar == '*' || firstChar == '+';
|
| }
|
|
|