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

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

Issue 2929143002: Handle instance fields in compile_from_dill_test (Closed)
Patch Set: Cleanup Created 3 years, 6 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 1d359fa6e26e30929c25db6b90a5a4ed888fff95..727a489d9e9a71c39f9423155bffb232f5042491 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
@@ -130,7 +130,7 @@ class ClassEmitter extends CodeEmitterHelper {
bool fieldsAdded = false;
for (Field field in fields) {
- FieldElement fieldElement = field.element;
+ FieldEntity fieldElement = field.element;
jsAst.Name name = field.name;
jsAst.Name accessorName = field.accessorName;
bool needsGetter = field.needsGetter;
@@ -176,7 +176,7 @@ class ClassEmitter extends CodeEmitterHelper {
// currently still need to add the additional argument.
if (field.needsInterceptedGetter || field.needsInterceptedSetter) {
emitter.interceptorEmitter.interceptorInvocationNames
- .add(namer.setterForElement(fieldElement));
+ .add(namer.setterForMember(fieldElement));
}
int code = field.getterFlags + (field.setterFlags << 2);
@@ -197,7 +197,9 @@ class ClassEmitter extends CodeEmitterHelper {
if (fieldElement.isTopLevel ||
backend.mirrorsData
.isClassAccessibleByReflection(fieldElement.enclosingClass)) {
- ResolutionDartType type = fieldElement.type;
+ // TODO(johnniwinther): Support field entities.
+ FieldElement element = fieldElement;
+ ResolutionDartType type = element.type;
fieldNameParts.add(task.metadataCollector.reifyType(type));
}
}
@@ -367,13 +369,13 @@ class ClassEmitter extends CodeEmitterHelper {
String reflectionName =
emitter.getReflectionClassName(classEntity, className);
if (reflectionName != null) {
- // TODO(johnniwinther): Handle class entities.
- ClassElement classElement = classEntity;
- if (!backend.mirrorsData.isClassAccessibleByReflection(classElement) ||
+ if (!backend.mirrorsData.isClassAccessibleByReflection(classEntity) ||
cls.onlyForRti) {
// TODO(herhut): Fix use of reflection name here.
enclosingBuilder.addPropertyByName("+$reflectionName", js.number(0));
} else {
+ // TODO(johnniwinther): Handle class entities.
+ ClassElement classElement = classEntity;
List<jsAst.Expression> types = <jsAst.Expression>[];
if (classElement.supertype != null) {
types.add(task.metadataCollector.reifyType(classElement.supertype));
@@ -389,7 +391,7 @@ class ClassEmitter extends CodeEmitterHelper {
}
void recordMangledField(
- FieldElement member, jsAst.Name accessorName, String memberName) {
+ FieldEntity member, jsAst.Name accessorName, String memberName) {
if (!backend.mirrorsData.shouldRetainGetter(member)) return;
String previousName;
if (member.isInstanceMember) {
« no previous file with comments | « pkg/compiler/lib/src/js_backend/namer.dart ('k') | pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698