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

Unified Diff: sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart

Issue 266913017: Convert property methods into getters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased Created 6 years, 7 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: sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart
diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart
index af53af31a153dceaaa2d28b71aa24f5832f9cef6..22e8daab4964b973711c891182623d8d6a7a1b39 100644
--- a/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart
+++ b/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart
@@ -17,7 +17,7 @@ class ClassEmitter extends CodeEmitterHelper {
task.typeTestEmitter.rtiNeededClasses.contains(classElement);
assert(invariant(classElement, classElement.isDeclaration));
- assert(invariant(classElement, !classElement.isNative() || onlyForRti));
+ assert(invariant(classElement, !classElement.isNative || onlyForRti));
task.needsDefineClass = true;
String className = namer.getNameOfClass(classElement);
@@ -62,7 +62,7 @@ class ClassEmitter extends CodeEmitterHelper {
ClassBuilder builder,
{bool onlyForRti: false}) {
List<String> fields = <String>[];
- if (!onlyForRti && !classElement.isNative()) {
+ if (!onlyForRti && !classElement.isNative) {
visitFields(classElement, false,
(Element member,
String name,
@@ -116,9 +116,9 @@ class ClassEmitter extends CodeEmitterHelper {
bool emitStatics: false,
bool onlyForRti: false }) {
assert(!emitStatics || !onlyForRti);
- if (element.isLibrary()) {
+ if (element.isLibrary) {
assert(invariant(element, emitStatics));
- } else if (!element.isClass()) {
+ } else if (!element.isClass) {
throw new SpannableAssertionFailure(
element, 'Must be a ClassElement or a LibraryElement');
}
@@ -178,7 +178,7 @@ class ClassEmitter extends CodeEmitterHelper {
namer.setterName(field));
}
if (needsGetter) {
- if (field.isInstanceMember()) {
+ if (field.isInstanceMember) {
// 01: function() { return this.field; }
// 10: function(receiver) { return receiver.field; }
// 11: function(receiver) { return this.field; }
@@ -188,7 +188,7 @@ class ClassEmitter extends CodeEmitterHelper {
// TODO(sra): 'isInterceptorClass' might not be the correct test
// for methods forced to use the interceptor convention because
// the method's class was elsewhere mixed-in to an interceptor.
- assert(!field.isInstanceMember() || getterCode != 0);
+ assert(!field.isInstanceMember || getterCode != 0);
if (isIntercepted) {
task.interceptorEmitter.interceptorInvocationNames.add(
namer.getterName(field));
@@ -199,14 +199,14 @@ class ClassEmitter extends CodeEmitterHelper {
}
int setterCode = 0;
if (needsSetter) {
- if (field.isInstanceMember()) {
+ if (field.isInstanceMember) {
// 01: function(value) { this.field = value; }
// 10: function(receiver, value) { receiver.field = value; }
// 11: function(receiver, value) { this.field = value; }
bool isIntercepted = backend.fieldHasInterceptedSetter(field);
setterCode += isIntercepted ? 2 : 0;
setterCode += backend.isInterceptorClass(element) ? 0 : 1;
- assert(!field.isInstanceMember() || setterCode != 0);
+ assert(!field.isInstanceMember || setterCode != 0);
if (isIntercepted) {
task.interceptorEmitter.interceptorInvocationNames.add(
namer.setterName(field));
@@ -283,7 +283,7 @@ class ClassEmitter extends CodeEmitterHelper {
void visitMember(ClassElement enclosing, Element member) {
assert(invariant(classElement, member.isDeclaration));
- if (member.isInstanceMember()) {
+ if (member.isInstanceMember) {
task.containerBuilder.addMember(member, builder);
}
}
@@ -390,9 +390,9 @@ class ClassEmitter extends CodeEmitterHelper {
bool isClass = false;
bool isLibrary = false;
- if (element.isClass()) {
+ if (element.isClass) {
isClass = true;
- } else if (element.isLibrary()) {
+ } else if (element.isLibrary) {
isLibrary = true;
assert(invariant(element, visitStatics));
} else {
@@ -412,7 +412,7 @@ class ClassEmitter extends CodeEmitterHelper {
// Keep track of whether or not we're dealing with a field mixin
// into a native class.
bool isMixinNativeField =
- isClass && element.isNative() && holder.isMixinApplication;
+ isClass && element.isNative && holder.isMixinApplication;
// See if we can dynamically create getters and setters.
// We can only generate getters and setters for [element] since
@@ -425,7 +425,7 @@ class ClassEmitter extends CodeEmitterHelper {
needsSetter = fieldNeedsSetter(field);
}
- if ((isInstantiated && !holder.isNative())
+ if ((isInstantiated && !holder.isNative)
|| needsGetter
|| needsSetter) {
String accessorName = namer.fieldAccessorName(field);
@@ -446,7 +446,7 @@ class ClassEmitter extends CodeEmitterHelper {
if (isLibrary) {
LibraryElement library = element;
library.implementation.forEachLocalMember((Element member) {
- if (member.isField()) visitField(library, member);
+ if (member.isField) visitField(library, member);
});
} else if (visitStatics) {
ClassElement cls = element;
@@ -472,7 +472,7 @@ class ClassEmitter extends CodeEmitterHelper {
String memberName) {
if (!backend.shouldRetainGetter(member)) return;
String previousName;
- if (member.isInstanceMember()) {
+ if (member.isInstanceMember) {
previousName = task.mangledFieldNames.putIfAbsent(
'${namer.getterPrefix}$accessorName',
() => memberName);
@@ -486,16 +486,16 @@ class ClassEmitter extends CodeEmitterHelper {
}
bool fieldNeedsGetter(VariableElement field) {
- assert(field.isField());
+ assert(field.isField);
if (fieldAccessNeverThrows(field)) return false;
return backend.shouldRetainGetter(field)
|| compiler.codegenWorld.hasInvokedGetter(field, compiler);
}
bool fieldNeedsSetter(VariableElement field) {
- assert(field.isField());
+ assert(field.isField);
if (fieldAccessNeverThrows(field)) return false;
- return (!field.modifiers.isFinalOrConst())
+ return (!field.modifiers.isFinalOrConst)
&& (backend.shouldRetainSetter(field)
|| compiler.codegenWorld.hasInvokedSetter(field, compiler));
}
@@ -509,7 +509,7 @@ class ClassEmitter extends CodeEmitterHelper {
bool canAvoidGeneratedCheckedSetter(VariableElement member) {
// We never generate accessors for top-level/static fields.
- if (!member.isInstanceMember()) return true;
+ if (!member.isInstanceMember) return true;
DartType type = member.type;
return type.treatAsDynamic || (type.element == compiler.objectClass);
}
@@ -529,7 +529,7 @@ class ClassEmitter extends CodeEmitterHelper {
void generateGetter(Element member, String fieldName, String accessorName,
ClassBuilder builder) {
String getterName = namer.getterNameFromAccessorName(accessorName);
- ClassElement cls = member.getEnclosingClass();
+ ClassElement cls = member.enclosingClass;
String className = namer.getNameOfClass(cls);
String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this';
List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : [];
@@ -546,7 +546,7 @@ class ClassEmitter extends CodeEmitterHelper {
void generateSetter(Element member, String fieldName, String accessorName,
ClassBuilder builder) {
String setterName = namer.setterNameFromAccessorName(accessorName);
- ClassElement cls = member.getEnclosingClass();
+ ClassElement cls = member.enclosingClass;
String className = namer.getNameOfClass(cls);
String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this';
List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : [];
@@ -566,8 +566,8 @@ class ClassEmitter extends CodeEmitterHelper {
ClassBuilder builder,
{bool isGetter}) {
Selector selector = isGetter
- ? new Selector.getter(member.name, member.getLibrary())
- : new Selector.setter(member.name, member.getLibrary());
+ ? new Selector.getter(member.name, member.library)
+ : new Selector.setter(member.name, member.library);
String reflectionName = task.getReflectionName(selector, name);
if (reflectionName != null) {
var reflectable =

Powered by Google App Engine
This is Rietveld 408576698