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

Unified Diff: sdk/lib/_internal/compiler/implementation/inferrer/concrete_types_inferrer.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/inferrer/concrete_types_inferrer.dart
diff --git a/sdk/lib/_internal/compiler/implementation/inferrer/concrete_types_inferrer.dart b/sdk/lib/_internal/compiler/implementation/inferrer/concrete_types_inferrer.dart
index e9261651de2b7b495e1f415427e1b510c17510fe..358d74eec09e73cce214b49695cb804596e2b1e6 100644
--- a/sdk/lib/_internal/compiler/implementation/inferrer/concrete_types_inferrer.dart
+++ b/sdk/lib/_internal/compiler/implementation/inferrer/concrete_types_inferrer.dart
@@ -1194,7 +1194,7 @@ class ConcreteTypesInferrer
compiler.listClass.lookupConstructor(
new Selector.callConstructor(
'',
- compiler.listClass.getLibrary())).implementation;
+ compiler.listClass.library)).implementation;
emptyConcreteType = new ConcreteType.empty(compiler.maxConcreteTypeSize,
baseTypes);
nullConcreteType = singletonConcreteType(const NullBaseType());
@@ -1288,7 +1288,7 @@ class ConcreteTypesInferrer
result = (result == null) ? emptyConcreteType : result;
if (selector != null) {
Element enclosing = field.enclosingElement;
- if (enclosing.isClass()) {
+ if (enclosing.isClass) {
ClassElement cls = enclosing;
TypeMask receiverMask = new TypeMask.exact(cls.declaration);
TypeMask resultMask = types.concreteTypeToTypeMask(result);
@@ -1413,7 +1413,7 @@ class ConcreteTypesInferrer
* Add all templates of [methodOrField] to the workqueue.
*/
void invalidate(Element methodOrField) {
- if (methodOrField.isField()) {
+ if (methodOrField.isField) {
workQueue.add(new InferenceWorkItem(
methodOrField, new ConcreteTypesEnvironment()));
} else {
@@ -1826,7 +1826,7 @@ class ConcreteTypesInferrer
new InferenceWorkItem(element, new ConcreteTypesEnvironment()));
while (!workQueue.isEmpty) {
currentWorkItem = workQueue.remove();
- if (currentWorkItem.method.isField()) {
+ if (currentWorkItem.method.isField) {
analyzeFieldInitialization(currentWorkItem.method);
} else {
Map<ConcreteTypesEnvironment, ConcreteType> template =
@@ -1974,7 +1974,7 @@ class ConcreteTypesInferrer
Element getRealCaller(Element allegedCaller) {
Element currentMethod = currentWorkItem.method;
if ((currentMethod != allegedCaller)
- && currentMethod.isFunction()
+ && currentMethod.isFunction
&& closures.contains(currentMethod)) {
return currentMethod;
} else {
@@ -1996,7 +1996,7 @@ class ConcreteTypesInferrer
if (selector != null && selector.name == 'JS') {
return null;
}
- if (callee.isField()) { // toplevel closure call
+ if (callee.isField) { // toplevel closure call
getFieldType(selector, callee); // trigger toplevel field analysis
addFieldReader(callee, caller);
ConcreteType result = emptyConcreteType;
@@ -2009,8 +2009,8 @@ class ConcreteTypesInferrer
} else { // method or constructor call
addCaller(callee, caller);
ClassElement receiverClass = null;
- if (callee.isGenerativeConstructor()) {
- receiverClass = callee.getEnclosingClass();
+ if (callee.isGenerativeConstructor) {
+ receiverClass = callee.enclosingClass;
} else if (node is Send) {
Send send = node;
if (send.receiver != null) {
@@ -2025,24 +2025,24 @@ class ConcreteTypesInferrer
return getSendReturnType(selector, callee, receiverClass, arguments);
}
} else if (selector.kind == SelectorKind.GETTER) {
- if (callee.isField()) {
+ if (callee.isField) {
addFieldReader(callee, caller);
return getFieldType(selector, callee);
- } else if (callee.isGetter()) {
- Element enclosing = callee.enclosingElement.isCompilationUnit()
+ } else if (callee.isGetter) {
+ Element enclosing = callee.enclosingElement.isCompilationUnit
? null : callee.enclosingElement;
addCaller(callee, caller);
ArgumentsTypes noArguments = new ArgumentsTypes([], new Map());
return getSendReturnType(selector, callee, enclosing, noArguments);
- } else if (callee.isFunction()) {
+ } else if (callee.isFunction) {
addClosure(callee, null, null);
return singletonConcreteType(baseTypes.functionBaseType);
}
} else if (selector.kind == SelectorKind.SETTER) {
ConcreteType argumentType = arguments.positional.first;
- if (callee.isField()) {
+ if (callee.isField) {
augmentFieldType(callee, argumentType);
- } else if (callee.isSetter()) {
+ } else if (callee.isSetter) {
FunctionElement setter = callee;
// TODO(polux): A setter always returns void so there's no need to
// invalidate its callers even if it is called with new arguments.
@@ -2050,7 +2050,7 @@ class ConcreteTypesInferrer
// exceptions for instance, we need to do it by uncommenting the
// following line.
// inferrer.addCaller(setter, currentMethod);
- Element enclosing = callee.enclosingElement.isCompilationUnit()
+ Element enclosing = callee.enclosingElement.isCompilationUnit
? null : callee.enclosingElement;
return getSendReturnType(selector, setter, enclosing,
new ArgumentsTypes([argumentType], new Map()));
@@ -2088,15 +2088,15 @@ class ConcreteTypesInferrer
ConcreteType result = emptyConcreteType;
void augmentResult(ClassElement baseReceiverType, Element member) {
- if (member.isField()) {
+ if (member.isField) {
addFieldReader(member, caller);
result = result.union(getFieldType(selector, member));
- } else if (member.isGetter()) {
+ } else if (member.isGetter) {
addCaller(member, caller);
ArgumentsTypes noArguments = new ArgumentsTypes([], new Map());
result = result.union(
getSendReturnType(selector, member, baseReceiverType, noArguments));
- } else if (member.isFunction()) {
+ } else if (member.isFunction) {
addClosure(member, receiverType, null);
result = result.union(
singletonConcreteType(baseTypes.functionBaseType));
@@ -2109,7 +2109,7 @@ class ConcreteTypesInferrer
addDynamicCaller(selector, caller);
Set<Element> members = getMembersBySelector(selector);
for (Element member in members) {
- if (!(member.isField() || member.isGetter())) continue;
+ if (!(member.isField || member.isGetter)) continue;
for (ClassElement cls in
getReflexiveSubtypesOf(member.enclosingElement)) {
augmentResult(cls, member);
@@ -2139,9 +2139,9 @@ class ConcreteTypesInferrer
ConcreteType argumentType = arguments.positional.first;
void augmentField(ClassElement receiverType, Element setterOrField) {
- if (setterOrField.isField()) {
+ if (setterOrField.isField) {
augmentFieldType(setterOrField, argumentType);
- } else if (setterOrField.isSetter()) {
+ } else if (setterOrField.isSetter) {
// A setter always returns void so there's no need to invalidate its
// callers even if it is called with new arguments. However, if we
// start to record more than returned types, like exceptions for
@@ -2158,8 +2158,8 @@ class ConcreteTypesInferrer
// Same remark as above
// addDynamicCaller(selector, caller);
for (Element member in getMembersBySelector(selector)) {
- if (!(member.isField() || member.isSetter())) continue;
- Element cls = member.getEnclosingClass();
+ if (!(member.isField || member.isSetter)) continue;
+ Element cls = member.enclosingClass;
augmentField(cls, member);
}
} else {
@@ -2187,7 +2187,7 @@ class ConcreteTypesInferrer
addDynamicCaller(selector, caller);
Set<Element> elements = getMembersBySelector(selector);
for (Element element in elements) {
- if (element.isFunction()) {
+ if (element.isFunction) {
FunctionElement method = element;
addCaller(method, caller);
for (ClassElement cls in
@@ -2196,7 +2196,7 @@ class ConcreteTypesInferrer
getSendReturnType(selector, method, cls, arguments));
}
} else { // closure call
- assert(element.isField());
+ assert(element.isField);
for (FunctionElement function in closures.functionElements) {
addCaller(function, caller);
result = result.union(
@@ -2211,7 +2211,7 @@ class ConcreteTypesInferrer
ClassElement cls = classBaseReceiverType.element;
Element method = cls.lookupSelector(selector, compiler);
if (method != null) {
- if (method.isFunction()) {
+ if (method.isFunction) {
assert(method is FunctionElement);
method = method.implementation;
addCaller(method, caller);
@@ -2266,9 +2266,9 @@ class ConcreteTypesInferrer
final result = currentWorkItem.environment.lookupType(element);
if (result != null) return result;
}
- if (element.isParameter() || element.isFieldParameter()) {
+ if (element.isParameter || element.isFieldParameter) {
return inferredParameterTypes[element];
- } else if (element.isField()) {
+ } else if (element.isField) {
return inferredFieldTypes[element];
}
throw new ArgumentError("unexpected element type");
@@ -2331,7 +2331,7 @@ class TypeInferrerVisitor extends SimpleTypeInferrerVisitor<ConcreteType> {
elementType = elementType == null
? types.nonNullEmpty()
: types.simplifyPhi(null, null, elementType);
- ConcreteType containerType = node.isConst()
+ ConcreteType containerType = node.isConst
? types.constListType
: types.growableListType;
return types.allocateList(

Powered by Google App Engine
This is Rietveld 408576698