| Index: pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart
|
| index c5d5181a0200bd1414da3caf3cdfe23cc4d8aa6d..3762f7293b86d3e30c8ff6b36bae9b12b21690fa 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart
|
| @@ -188,10 +188,11 @@ class ClassEmitter extends CodeEmitterHelper {
|
| // However, set/get operations can be performed on them, so they are
|
| // reflectable in some sense, which leads to [isAccessibleByReflection]
|
| // reporting `true`.
|
| - if (backend.isAccessibleByReflection(fieldElement)) {
|
| + if (backend.mirrorsData.isAccessibleByReflection(fieldElement)) {
|
| fieldNameParts.add(new jsAst.LiteralString('-'));
|
| if (fieldElement.isTopLevel ||
|
| - backend.isAccessibleByReflection(fieldElement.enclosingClass)) {
|
| + backend.mirrorsData
|
| + .isAccessibleByReflection(fieldElement.enclosingClass)) {
|
| ResolutionDartType type = fieldElement.type;
|
| fieldNameParts.add(task.metadataCollector.reifyType(type));
|
| }
|
| @@ -309,7 +310,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| classBuilder.addPropertyByName("@", metadata);
|
| }
|
|
|
| - if (backend.isAccessibleByReflection(classElement)) {
|
| + if (backend.mirrorsData.isAccessibleByReflection(classElement)) {
|
| List<ResolutionDartType> typeVars = classElement.typeVariables;
|
| Iterable typeVariableProperties =
|
| emitter.typeVariableHandler.typeVariablesOf(classElement);
|
| @@ -356,7 +357,8 @@ class ClassEmitter extends CodeEmitterHelper {
|
|
|
| String reflectionName = emitter.getReflectionName(classElement, className);
|
| if (reflectionName != null) {
|
| - if (!backend.isAccessibleByReflection(classElement) || cls.onlyForRti) {
|
| + if (!backend.mirrorsData.isAccessibleByReflection(classElement) ||
|
| + cls.onlyForRti) {
|
| // TODO(herhut): Fix use of reflection name here.
|
| enclosingBuilder.addPropertyByName("+$reflectionName", js.number(0));
|
| } else {
|
| @@ -376,7 +378,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
|
|
| void recordMangledField(
|
| Element member, jsAst.Name accessorName, String memberName) {
|
| - if (!backend.shouldRetainGetter(member)) return;
|
| + if (!backend.mirrorsData.shouldRetainGetter(member)) return;
|
| String previousName;
|
| if (member.isInstanceMember) {
|
| previousName = emitter.mangledFieldNames
|
| @@ -402,7 +404,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| emitter
|
| .cspPrecompiledFunctionFor(outputUnit)
|
| .add(js('#.prototype.# = #', [className, getterName, function]));
|
| - if (backend.isAccessibleByReflection(member)) {
|
| + if (backend.mirrorsData.isAccessibleByReflection(member)) {
|
| emitter.cspPrecompiledFunctionFor(outputUnit).add(js(
|
| '#.prototype.#.${namer.reflectableField} = 1',
|
| [className, getterName]));
|
| @@ -422,7 +424,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| emitter
|
| .cspPrecompiledFunctionFor(outputUnit)
|
| .add(js('#.prototype.# = #', [className, setterName, function]));
|
| - if (backend.isAccessibleByReflection(member)) {
|
| + if (backend.mirrorsData.isAccessibleByReflection(member)) {
|
| emitter.cspPrecompiledFunctionFor(outputUnit).add(js(
|
| '#.prototype.#.${namer.reflectableField} = 1',
|
| [className, setterName]));
|
| @@ -439,7 +441,7 @@ class ClassEmitter extends CodeEmitterHelper {
|
| String reflectionName = emitter.getReflectionName(selector, name);
|
| if (reflectionName != null) {
|
| var reflectable =
|
| - js(backend.isAccessibleByReflection(member) ? '1' : '0');
|
| + js(backend.mirrorsData.isAccessibleByReflection(member) ? '1' : '0');
|
| builder.addPropertyByName('+$reflectionName', reflectable);
|
| }
|
| }
|
|
|