| Index: pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
|
| index e3a6fe8d07cb3420b7e85c02fc765478e4f6517c..fedb8b3115c25d700d732bb69fc34d7c8a9c4667 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
|
| @@ -118,36 +118,37 @@ class Collector {
|
| if (backend.mirrorsData.mustRetainMetadata) {
|
| // TODO(floitsch): verify that we don't run through the same elements
|
| // multiple times.
|
| - for (Element element in backend.generatedCode.keys) {
|
| - if (backend.mirrorsData.isAccessibleByReflection(element)) {
|
| + for (MemberElement element in backend.generatedCode.keys) {
|
| + if (backend.mirrorsData.isMemberAccessibleByReflection(element)) {
|
| bool shouldRetainMetadata =
|
| - backend.mirrorsData.retainMetadataOf(element);
|
| + backend.mirrorsData.retainMetadataOfMember(element);
|
| if (shouldRetainMetadata &&
|
| (element.isFunction ||
|
| element.isConstructor ||
|
| element.isSetter)) {
|
| - FunctionElement function = element;
|
| - function.functionSignature
|
| - .forEachParameter(backend.mirrorsData.retainMetadataOf);
|
| + MethodElement function = element;
|
| + function.functionSignature.forEachParameter(
|
| + backend.mirrorsData.retainMetadataOfParameter);
|
| }
|
| }
|
| }
|
| for (ClassElement cls in neededClasses) {
|
| final onlyForRti = classesOnlyNeededForRti.contains(cls);
|
| if (!onlyForRti) {
|
| - backend.mirrorsData.retainMetadataOf(cls);
|
| + backend.mirrorsData.retainMetadataOfClass(cls);
|
| new FieldVisitor(compiler, namer, closedWorld).visitFields(cls, false,
|
| - (Element member, js.Name name, js.Name accessorName,
|
| + (FieldElement member, js.Name name, js.Name accessorName,
|
| bool needsGetter, bool needsSetter, bool needsCheckedSetter) {
|
| bool needsAccessor = needsGetter || needsSetter;
|
| if (needsAccessor &&
|
| - backend.mirrorsData.isAccessibleByReflection(member)) {
|
| - backend.mirrorsData.retainMetadataOf(member);
|
| + backend.mirrorsData.isMemberAccessibleByReflection(member)) {
|
| + backend.mirrorsData.retainMetadataOfMember(member);
|
| }
|
| });
|
| }
|
| }
|
| - typedefsNeededForReflection.forEach(backend.mirrorsData.retainMetadataOf);
|
| + typedefsNeededForReflection
|
| + .forEach(backend.mirrorsData.retainMetadataOfTypedef);
|
| }
|
|
|
| JavaScriptConstantCompiler handler = backend.constants;
|
| @@ -177,7 +178,7 @@ class Collector {
|
| // Compute needed typedefs.
|
| typedefsNeededForReflection = Elements.sortedByPosition(closedWorld
|
| .allTypedefs
|
| - .where(backend.mirrorsData.isAccessibleByReflection)
|
| + .where(backend.mirrorsData.isTypedefAccessibleByReflection)
|
| .toList());
|
|
|
| // Compute needed classes.
|
| @@ -270,10 +271,10 @@ class Collector {
|
| }
|
|
|
| void computeNeededStatics() {
|
| - bool isStaticFunction(Element element) =>
|
| + bool isStaticFunction(MemberElement element) =>
|
| !element.isInstanceMember && !element.isField;
|
|
|
| - Iterable<Element> elements =
|
| + Iterable<MemberElement> elements =
|
| backend.generatedCode.keys.where(isStaticFunction);
|
|
|
| for (Element element in Elements.sortedByPosition(elements)) {
|
| @@ -292,7 +293,7 @@ class Collector {
|
| list.add(element);
|
| }
|
|
|
| - Iterable<Element> fields = compiler
|
| + Iterable<FieldElement> fields = compiler
|
| // TODO(johnniwinther): This should be accessed from a codegen closed
|
| // world.
|
| .codegenWorldBuilder
|
| @@ -306,7 +307,7 @@ class Collector {
|
| } else {
|
| // We also need to emit static const fields if they are available for
|
| // reflection.
|
| - return backend.mirrorsData.isAccessibleByReflection(field);
|
| + return backend.mirrorsData.isMemberAccessibleByReflection(field);
|
| }
|
| });
|
|
|
|
|