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

Unified Diff: sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.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/container_builder.dart
diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart
index 8229874b8005a32b5650a777a1d1744a73498fae..379d68721cdf0b6c0641634d8d4376c2ffecea6e 100644
--- a/sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart
+++ b/sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart
@@ -116,14 +116,14 @@ class ContainerBuilder extends CodeEmitterHelper {
});
var body; // List or jsAst.Statement.
- if (member.hasFixedBackendName()) {
+ if (member.hasFixedBackendName) {
body = task.nativeEmitter.generateParameterStubStatements(
member, isInterceptedMethod, invocationName,
parametersBuffer, argumentsBuffer,
indexOfLastOptionalArgumentInParameters);
- } else if (member.isInstanceMember()) {
+ } else if (member.isInstanceMember) {
if (needsSuperGetter(member)) {
- ClassElement superClass = member.getEnclosingClass();
+ ClassElement superClass = member.enclosingClass;
String methodName = namer.getNameOfInstanceMember(member);
// When redirecting, we must ensure that we don't end up in a subclass.
// We thus can't just invoke `this.foo$1.call(filledInArguments)`.
@@ -150,12 +150,12 @@ class ContainerBuilder extends CodeEmitterHelper {
void addParameterStubs(FunctionElement member, AddStubFunction defineStub,
[bool canTearOff = false]) {
- if (member.enclosingElement.isClosure()) {
+ if (member.enclosingElement.isClosure) {
ClosureClassElement cls = member.enclosingElement;
if (cls.supertype.element == compiler.boundClosureClass) {
compiler.internalError(cls.methodElement, 'Bound closure1.');
}
- if (cls.methodElement.isInstanceMember()) {
+ if (cls.methodElement.isInstanceMember) {
compiler.internalError(cls.methodElement, 'Bound closure2.');
}
}
@@ -192,7 +192,7 @@ class ContainerBuilder extends CodeEmitterHelper {
// (2) foo$3$c(a, b, c) => MyClass.foo$4$c$d(this, a, b, c, null);
// (3) foo$3$d(a, b, d) => MyClass.foo$4$c$d(this, a, b, null, d);
- Set<Selector> selectors = member.isInstanceMember()
+ Set<Selector> selectors = member.isInstanceMember
? compiler.codegenWorld.invokedNames[member.name]
: null; // No stubs needed for static methods.
@@ -204,7 +204,7 @@ class ContainerBuilder extends CodeEmitterHelper {
if (callSelectors == null) return null;
return callSelectors.map((Selector callSelector) {
return new Selector.call(
- member.name, member.getLibrary(),
+ member.name, member.library,
callSelector.argumentCount, callSelector.namedArguments);
}).toSet();
}
@@ -233,7 +233,7 @@ class ContainerBuilder extends CodeEmitterHelper {
if (selectors != null) {
for (Selector selector in selectors) {
selector = new Selector.call(
- member.name, member.getLibrary(),
+ member.name, member.library,
selector.argumentCount, selector.namedArguments);
if (!selector.appliesUnnamed(member, compiler)) continue;
if (untypedSelectors.add(selector)) {
@@ -254,19 +254,19 @@ class ContainerBuilder extends CodeEmitterHelper {
Set<Selector> selectors,
AddPropertyFunction addProperty) {
assert(invariant(member, member.isDeclaration));
- LibraryElement memberLibrary = member.getLibrary();
+ LibraryElement memberLibrary = member.library;
// If the method is intercepted, the stub gets the
// receiver explicitely and we need to pass it to the getter call.
bool isInterceptedMethod = backend.isInterceptedMethod(member);
bool isInterceptorClass =
- backend.isInterceptorClass(member.getEnclosingClass());
+ backend.isInterceptorClass(member.enclosingClass);
const String receiverArgumentName = r'$receiver';
jsAst.Expression buildGetter() {
jsAst.Expression receiver =
js(isInterceptorClass ? receiverArgumentName : 'this');
- if (member.isGetter()) {
+ if (member.isGetter) {
String getterName = namer.getterName(member);
if (isInterceptedMethod) {
return js('this.#(#)', [getterName, receiver]);
@@ -320,7 +320,7 @@ class ContainerBuilder extends CodeEmitterHelper {
*/
void emitExtraAccessors(Element member, ClassBuilder builder) {
assert(invariant(member, member.isDeclaration));
- if (member.isGetter() || member.isField()) {
+ if (member.isGetter || member.isField) {
Set<Selector> selectors = compiler.codegenWorld.invokedNames[member.name];
if (selectors != null && !selectors.isEmpty) {
emitCallStubForGetter(member, selectors, builder.addProperty);
@@ -331,18 +331,18 @@ class ContainerBuilder extends CodeEmitterHelper {
void addMember(Element member, ClassBuilder builder) {
assert(invariant(member, member.isDeclaration));
- if (member.isField()) {
+ if (member.isField) {
addMemberField(member, builder);
- } else if (member.isFunction() ||
- member.isGenerativeConstructorBody() ||
- member.isGenerativeConstructor() ||
- member.isAccessor()) {
+ } else if (member.isFunction ||
+ member.isGenerativeConstructorBody ||
+ member.isGenerativeConstructor ||
+ member.isAccessor) {
addMemberMethod(member, builder);
} else {
compiler.internalError(member,
'Unexpected kind: "${member.kind}".');
}
- if (member.isInstanceMember()) emitExtraAccessors(member, builder);
+ if (member.isInstanceMember) emitExtraAccessors(member, builder);
}
void addMemberMethod(FunctionElement member, ClassBuilder builder) {
@@ -355,14 +355,14 @@ class ContainerBuilder extends CodeEmitterHelper {
bool needsStubs = !parameters.optionalParameters.isEmpty;
bool canTearOff = false;
bool isClosure = false;
- bool isNotApplyTarget = !member.isFunction() ||
- member.isConstructor() ||
- member.isAccessor();
+ bool isNotApplyTarget = !member.isFunction ||
+ member.isConstructor ||
+ member.isAccessor;
String tearOffName;
if (isNotApplyTarget) {
canTearOff = false;
- } else if (member.isInstanceMember()) {
- if (member.getEnclosingClass().isClosure()) {
+ } else if (member.isInstanceMember) {
+ if (member.enclosingClass.isClosure) {
canTearOff = false;
isClosure = true;
} else {
@@ -395,9 +395,9 @@ class ContainerBuilder extends CodeEmitterHelper {
}
if (canTearOff) {
- assert(invariant(member, !member.isGenerativeConstructor()));
- assert(invariant(member, !member.isGenerativeConstructorBody()));
- assert(invariant(member, !member.isConstructor()));
+ assert(invariant(member, !member.isGenerativeConstructor));
+ assert(invariant(member, !member.isGenerativeConstructorBody));
+ assert(invariant(member, !member.isConstructor));
}
// This element is needed for reflection or needs additional stubs. So we
@@ -413,7 +413,7 @@ class ContainerBuilder extends CodeEmitterHelper {
// M+1. Call name of first stub.
// ...
// N. Getter name for tearOff.
- // N+1. (Required parameter count << 1) + (member.isAccessor() ? 1 : 0).
+ // N+1. (Required parameter count << 1) + (member.isAccessor ? 1 : 0).
// N+2. (Optional parameter count << 1) +
// (parameters.optionalParametersAreNamed ? 1 : 0).
// N+3. Index to function type in constant pool.
@@ -430,7 +430,7 @@ class ContainerBuilder extends CodeEmitterHelper {
List<jsAst.Expression> expressions = <jsAst.Expression>[];
String callSelectorString = 'null';
- if (member.isFunction()) {
+ if (member.isFunction) {
Selector callSelector =
new Selector.fromElement(member, compiler).toCallSelector();
callSelectorString = '"${namer.invocationName(callSelector)}"';
@@ -439,7 +439,7 @@ class ContainerBuilder extends CodeEmitterHelper {
// On [requiredParameterCount], the lower bit is set if this method can be
// called reflectively.
int requiredParameterCount = parameters.requiredParameterCount << 1;
- if (member.isAccessor()) requiredParameterCount++;
+ if (member.isAccessor) requiredParameterCount++;
int optionalParameterCount = parameters.optionalParameterCount << 1;
if (parameters.optionalParametersAreNamed) optionalParameterCount++;
@@ -452,7 +452,7 @@ class ContainerBuilder extends CodeEmitterHelper {
if (needsStubs || canTearOff) {
addParameterStubs(member, (Selector selector, jsAst.Fun function) {
expressions.add(function);
- if (member.isInstanceMember()) {
+ if (member.isInstanceMember) {
Set invokedSelectors =
compiler.codegenWorld.invokedNames[member.name];
expressions.add(js.string(namer.invocationName(selector)));
@@ -476,7 +476,7 @@ class ContainerBuilder extends CodeEmitterHelper {
jsAst.Expression memberTypeExpression;
if (canTearOff || canBeReflected) {
DartType memberType;
- if (member.isGenerativeConstructorBody()) {
+ if (member.isGenerativeConstructorBody) {
var body = member;
memberType = body.constructor.type;
} else {
@@ -496,7 +496,7 @@ class ContainerBuilder extends CodeEmitterHelper {
expressions
..addAll(tearOffInfo)
- ..add((tearOffName == null || member.isAccessor())
+ ..add((tearOffName == null || member.isAccessor)
? js("null") : js.string(tearOffName))
..add(js.number(requiredParameterCount))
..add(js.number(optionalParameterCount))
@@ -524,7 +524,7 @@ class ContainerBuilder extends CodeEmitterHelper {
}
if (canBeReflected) {
jsAst.LiteralString reflectionName;
- if (member.isConstructor()) {
+ if (member.isConstructor) {
String reflectionNameString = task.getReflectionName(member, name);
reflectionName =
new jsAst.LiteralString(

Powered by Google App Engine
This is Rietveld 408576698