Resolve "values" and "valueOf" in enum class object

Import enum class's static scope into its class object's member scope
This commit is contained in:
Alexander Udalov
2014-09-09 14:11:07 +04:00
parent 2f12875515
commit 5b1993f62a
5 changed files with 36 additions and 2 deletions
@@ -81,10 +81,12 @@ public class MutableClassDescriptor extends ClassDescriptorBase implements Class
.changeLockLevel(WritableScope.LockLevel.BOTH);
this.scopeForMemberResolution = new WritableScopeImpl(scopeForSupertypeResolution, this, redeclarationHandler, "MemberResolution")
.changeLockLevel(WritableScope.LockLevel.BOTH);
if (getKind() == ClassKind.TRAIT) {
if (kind == ClassKind.TRAIT) {
setUpScopeForInitializers(this);
}
scopeForMemberResolution.importScope(staticScope);
scopeForMemberResolution.addLabeledDeclaration(this);
}
@@ -255,7 +255,9 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
thisScope,
getScopeForMemberLookup(),
getScopeForClassHeaderResolution(),
classObjectAdapterScope);
classObjectAdapterScope,
getStaticScope()
);
}
@Override