Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: pkg/compiler/lib/src/js_emitter/full_emitter/class_emitter.dart

Issue 2688413003: Extract BackendUsage, MirrorsData, and CheckedModeHelpers from Backend. (Closed)
Patch Set: Cleanup Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698