Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| index 965822ea6c0c54cf5ca4370ebb5b6f15ecb59839..ed09190b9bcfbd6bfbd2938ebcc40d99324a9b7f 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| @@ -1269,7 +1269,7 @@ class CodeEmitterTask extends CompilerTask { |
| code = extendWithMetadata(member, code); |
| builder.addProperty(name, code); |
| String reflectionName = getReflectionName(member, name); |
| - if (reflectionName != null) { |
| + if (reflectionName != null && backend.isAccessibleByReflection(member)) { |
|
ahe
2013/08/26 20:41:15
I thought we determined that not having a reflecti
|
| builder.addProperty('+$reflectionName', js('0')); |
| } |
| code = backend.generatedBailoutCode[member]; |
| @@ -1982,7 +1982,8 @@ class CodeEmitterTask extends CompilerTask { |
| } |
| buffer.write('$className:$_'); |
| buffer.write(jsAst.prettyPrint(builder.toObjectInitializer(), compiler)); |
| - if (backend.shouldRetainName(classElement.name)) { |
| + if (backend.shouldRetainName(classElement.name) && |
| + backend.isAccessibleByReflection(classElement)) { |
| String reflectionName = getReflectionName(classElement, className); |
| List<int> interfaces = <int>[]; |
| for (DartType interface in classElement.interfaces) { |
| @@ -2286,7 +2287,8 @@ class CodeEmitterTask extends CompilerTask { |
| code = extendWithMetadata(element, code); |
| emitStaticFunction(buffer, name, code); |
| String reflectionName = getReflectionName(element, name); |
| - if (reflectionName != null) { |
| + if (reflectionName != null && |
| + backend.isAccessibleByReflection(element)) { |
| buffer.write(',$n$n"+$reflectionName":${_}0'); |
| } |
| jsAst.Expression bailoutCode = backend.generatedBailoutCode[element]; |