Index: sdk/lib/_internal/lib/js_mirrors.dart |
diff --git a/sdk/lib/_internal/lib/js_mirrors.dart b/sdk/lib/_internal/lib/js_mirrors.dart |
index cc6787f54811d47087ae07d80bf2db08c00cfc4c..8c5a50bb0aeeb3f733fd1259e50c47391562abe2 100644 |
--- a/sdk/lib/_internal/lib/js_mirrors.dart |
+++ b/sdk/lib/_internal/lib/js_mirrors.dart |
@@ -386,10 +386,13 @@ class JsLibraryMirror extends JsDeclarationMirror with JsObjectMirror |
String name = _functions[i]; |
var jsFunction = JS('', '#[#]', _globalObject, name); |
String unmangledName = mangledGlobalNames[name]; |
- if (unmangledName == null) { |
+ if (unmangledName == null || |
+ JS('bool', "!!#['getterStub']", jsFunction)) { |
// If there is no unmangledName, [jsFunction] is either a synthetic |
// implementation detail, or something that is excluded |
// by @MirrorsUsed. |
+ // If it has a getterStub property it is a synthetic stub. |
+ // TODO(floitsch): Remove the getterStub hack. |
continue; |
} |
bool isConstructor = unmangledName.startsWith('new '); |