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

Unified Diff: lib/compiler/implementation/resolver.dart

Issue 10834243: Reduce usage of .enclosingElement to get enclosing class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 4 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: lib/compiler/implementation/resolver.dart
diff --git a/lib/compiler/implementation/resolver.dart b/lib/compiler/implementation/resolver.dart
index 246a546edf7ae8b40d13e80b57ae7a63b3775156..6ffc29fd5779555e3147ef72b6240d36586b77bc 100644
--- a/lib/compiler/implementation/resolver.dart
+++ b/lib/compiler/implementation/resolver.dart
@@ -86,7 +86,7 @@ class ResolverTask extends CompilerTask {
Link<Node> initializers = node.initializers.nodes;
if (!initializers.isEmpty() &&
Initializers.isConstructorRedirect(initializers.head)) {
- final ClassElement classElement = constructor.enclosingElement;
+ final ClassElement classElement = constructor.getEnclosingClass();
final SourceString constructorName =
getConstructorName(initializers.head);
final SourceString className = classElement.name;
@@ -160,7 +160,7 @@ class ResolverTask extends CompilerTask {
void resolveConstructorImplementation(FunctionElement constructor,
FunctionExpression node) {
if (constructor.defaultImplementation !== constructor) return;
- ClassElement intrface = constructor.enclosingElement;
+ ClassElement intrface = constructor.getEnclosingClass();
if (!intrface.isInterface()) return;
Type defaultType = intrface.defaultClass;
if (defaultType === null) {
@@ -404,7 +404,7 @@ class InitializerResolver {
// Lookup target field.
Element target;
if (isFieldInitializer(init)) {
- final ClassElement classElement = constructor.enclosingElement;
+ final ClassElement classElement = constructor.getEnclosingClass();
target = classElement.lookupLocalMember(name);
if (target === null) {
error(selector, MessageKind.CANNOT_RESOLVE, [name]);
@@ -446,7 +446,7 @@ class InitializerResolver {
void resolveImplicitSuperConstructorSend(FunctionElement constructor,
FunctionExpression functionNode) {
// If the class has a super resolve the implicit super call.
- ClassElement classElement = constructor.enclosingElement;
+ ClassElement classElement = constructor.getEnclosingClass();
ClassElement superClass = classElement.superclass;
if (classElement != visitor.compiler.objectClass) {
assert(superClass !== null);
@@ -464,7 +464,7 @@ class InitializerResolver {
SourceString constructorName,
Selector selector,
Node diagnosticNode) {
- ClassElement lookupTarget = constructor.enclosingElement;
+ ClassElement lookupTarget = constructor.getEnclosingClass();
bool validTarget = true;
FunctionElement result;
if (isSuperCall) {
@@ -837,7 +837,9 @@ class ResolverVisitor extends CommonResolverVisitor<Element> {
this.enclosingElement = element,
inInstanceContext = element.isInstanceMember()
|| element.isGenerativeConstructor(),
- this.currentClass = element.isMember() ? element.enclosingElement : null,
+ this.currentClass = element.isMember() ?
+ element.getEnclosingClass() :
+ null,
this.statementScope = new StatementScope(),
typeResolver = new TypeResolver(compiler),
scope = element.buildEnclosingScope(),
@@ -1360,7 +1362,7 @@ class ResolverVisitor extends CommonResolverVisitor<Element> {
compiler.resolver.resolveConstructorImplementation(constructor, tree);
});
world.registerStaticUse(constructor.defaultImplementation);
- ClassElement cls = constructor.defaultImplementation.enclosingElement;
+ ClassElement cls = constructor.defaultImplementation.getEnclosingClass();
world.registerInstantiatedClass(cls);
cls.forEachInstanceField(
includeBackendMembers: false,
@@ -1664,7 +1666,7 @@ class TypeDefinitionVisitor extends CommonResolverVisitor<Type> {
TypeDefinitionVisitor(Compiler compiler, TypeDeclarationElement element)
: this.element = element,
- scope = element.enclosingElement.buildScope(),
+ scope = element.buildEnclosingScope(),
typeResolver = new TypeResolver(compiler),
super(compiler);
@@ -2102,7 +2104,7 @@ class SignatureResolver extends CommonResolverVisitor<Element> {
// TODO(ahe): This is temporary.
ClassElement get currentClass() {
return enclosingElement.isMember()
- ? enclosingElement.enclosingElement : null;
+ ? enclosingElement.getEnclosingClass() : null;
}
}

Powered by Google App Engine
This is Rietveld 408576698