Resolve enum entries similar to objects in TypeHierarchyResolver
This commit is contained in:
+8
@@ -31,6 +31,8 @@ import org.jetbrains.jet.storage.StorageManager;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isEnumClass;
|
||||
|
||||
public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
private final Name name;
|
||||
protected final NotNullLazyValue<JetType> defaultType;
|
||||
@@ -81,6 +83,12 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
return getDefaultType();
|
||||
}
|
||||
|
||||
if (getKind() == ClassKind.ENUM_ENTRY) {
|
||||
DeclarationDescriptor enumClass = getContainingDeclaration();
|
||||
assert isEnumClass(enumClass) : "Enum entry should be declared in enum class: " + this;
|
||||
return ((ClassDescriptor) enumClass).getDefaultType();
|
||||
}
|
||||
|
||||
ClassDescriptor classObject = getClassObjectDescriptor();
|
||||
return classObject == null ? null : classObject.getDefaultType();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user