| Index: pkg/compiler/lib/src/deferred_load.dart
|
| diff --git a/pkg/compiler/lib/src/deferred_load.dart b/pkg/compiler/lib/src/deferred_load.dart
|
| index 47ead89246480f17f4a2c0256cfd327df5dfc315..9d14dc18233e5a4876e45b14e64d79814a68f4ba 100644
|
| --- a/pkg/compiler/lib/src/deferred_load.dart
|
| +++ b/pkg/compiler/lib/src/deferred_load.dart
|
| @@ -592,7 +592,26 @@ class DeferredLoadTask extends CompilerTask {
|
| // asked isNeededForReflection. Instead an internal error is triggered.
|
| // So we have to filter them out here.
|
| if (element is AnalyzableElementX && !element.hasTreeElements) return;
|
| - if (compiler.backend.mirrorsData.isAccessibleByReflection(element)) {
|
| +
|
| + bool isAccessibleByReflection(Element element) {
|
| + if (element.isLibrary) {
|
| + return false;
|
| + } else if (element.isClass) {
|
| + ClassElement cls = element;
|
| + return compiler.backend.mirrorsData
|
| + .isClassAccessibleByReflection(cls);
|
| + } else if (element.isTypedef) {
|
| + TypedefElement typedef = element;
|
| + return compiler.backend.mirrorsData
|
| + .isTypedefAccessibleByReflection(typedef);
|
| + } else {
|
| + MemberElement member = element;
|
| + return compiler.backend.mirrorsData
|
| + .isMemberAccessibleByReflection(member);
|
| + }
|
| + }
|
| +
|
| + if (isAccessibleByReflection(element)) {
|
| _mapDependencies(
|
| element: element, import: deferredImport, isMirrorUsage: true);
|
| }
|
|
|