Fix classifier lookup

Writable scopes do not redirect getClassifier() to parent
This commit is contained in:
Andrey Breslav
2012-06-09 13:41:37 +04:00
parent c55bf8600e
commit 8b133f2e27
@@ -112,7 +112,8 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
public JetScope getScopeForClassHeaderResolution() {
if (scopeForClassHeaderResolution == null) {
WritableScopeImpl scope = new WritableScopeImpl(
resolveSession.getResolutionScope(declarationProvider.getOwnerClassOrObject()), this, RedeclarationHandler.DO_NOTHING, "Class Header Resolution");
JetScope.EMPTY, this, RedeclarationHandler.DO_NOTHING, "Class Header Resolution");
scope.importScope(resolveSession.getResolutionScope(declarationProvider.getOwnerClassOrObject()));
for (TypeParameterDescriptor typeParameterDescriptor : getTypeConstructor().getParameters()) {
scope.addClassifierDescriptor(typeParameterDescriptor);
}
@@ -125,7 +126,9 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
public JetScope getScopeForMemberDeclarationResolution() {
if (scopeForMemberDeclarationResolution == null) {
WritableScopeImpl scope = new WritableScopeImpl(
getScopeForClassHeaderResolution(), this, RedeclarationHandler.DO_NOTHING, "Member Declaration Resolution");
JetScope.EMPTY, this, RedeclarationHandler.DO_NOTHING, "Member Declaration Resolution");
scope.importScope(getScopeForClassHeaderResolution());
scope.importScope(getScopeForMemberLookup());
// TODO : supertypes etc