diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java index e9cd1883596..5bc98216c47 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java @@ -1146,11 +1146,11 @@ public class DescriptorResolver { } public static SimpleFunctionDescriptor createEnumClassObjectValuesMethod( - final ClassDescriptor enumClassDescriptor, + @NotNull ClassDescriptor classObjectDescriptor, BindingTrace trace ) { - ClassDescriptor classObjectDescriptor = enumClassDescriptor.getClassObjectDescriptor(); - assert classObjectDescriptor != null : "Enum class has no class object"; + final ClassDescriptor enumClassDescriptor = (ClassDescriptor) classObjectDescriptor.getContainingDeclaration(); + assert enumClassDescriptor.getKind() == ClassKind.ENUM_CLASS; List annotations = Collections.emptyList(); SimpleFunctionDescriptorImpl values = new SimpleFunctionDescriptorImpl(classObjectDescriptor, annotations, @@ -1171,11 +1171,11 @@ public class DescriptorResolver { } public static SimpleFunctionDescriptor createEnumClassObjectValueOfMethod( - final ClassDescriptor enumClassDescriptor, + @NotNull ClassDescriptor classObjectDescriptor, BindingTrace trace ) { - ClassDescriptor classObjectDescriptor = enumClassDescriptor.getClassObjectDescriptor(); - assert classObjectDescriptor != null : "Enum class has no class object"; + final ClassDescriptor enumClassDescriptor = (ClassDescriptor) classObjectDescriptor.getContainingDeclaration(); + assert enumClassDescriptor.getKind() == ClassKind.ENUM_CLASS; List annotations = Collections.emptyList(); SimpleFunctionDescriptorImpl values = new SimpleFunctionDescriptorImpl(classObjectDescriptor, annotations, diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java index 6f769c354a3..cc2f6575523 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java @@ -303,8 +303,8 @@ public class TypeHierarchyResolver { ConstructorDescriptorImpl primaryConstructorForObject = createPrimaryConstructorForObject(null, classObjectDescriptor); primaryConstructorForObject.setReturnType(classObjectDescriptor.getDefaultType()); - classObjectDescriptor.getBuilder().addFunctionDescriptor(DescriptorResolver.createEnumClassObjectValuesMethod(mutableClassDescriptor, trace)); - classObjectDescriptor.getBuilder().addFunctionDescriptor(DescriptorResolver.createEnumClassObjectValueOfMethod(mutableClassDescriptor, trace)); + classObjectDescriptor.getBuilder().addFunctionDescriptor(DescriptorResolver.createEnumClassObjectValuesMethod(classObjectDescriptor, trace)); + classObjectDescriptor.getBuilder().addFunctionDescriptor(DescriptorResolver.createEnumClassObjectValueOfMethod(classObjectDescriptor, trace)); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassMemberScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassMemberScope.java index 9bf1da1269a..0c082e269bf 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassMemberScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassMemberScope.java @@ -149,12 +149,12 @@ public class LazyClassMemberScope extends AbstractLazyMemberScope