diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java index 9ea1843ee23..dcbf8bc4d0f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java @@ -365,4 +365,14 @@ public class DescriptorUtils { } return false; } + + @NotNull + public static Name getClassObjectName(@NotNull Name className) { + return getClassObjectName(className.getName()); + } + + @NotNull + public static Name getClassObjectName(@NotNull String className) { + return Name.special(""); + } } 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 6e071bb041f..589cc4961c2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java @@ -25,7 +25,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.RedeclarationHandler; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; @@ -43,6 +42,7 @@ import java.util.*; import static org.jetbrains.jet.lang.diagnostics.Errors.*; import static org.jetbrains.jet.lang.resolve.BindingContext.FQNAME_TO_CLASS_DESCRIPTOR; import static org.jetbrains.jet.lang.resolve.BindingContext.TYPE; +import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getClassObjectName; /** * @author abreslav @@ -291,7 +291,7 @@ public class TypeHierarchyResolver { if (klass.hasModifier(JetTokens.ENUM_KEYWORD)) { MutableClassDescriptor classObjectDescriptor = new MutableClassDescriptor( mutableClassDescriptor, outerScope, ClassKind.OBJECT, - Name.special("")); + getClassObjectName(klass.getName())); mutableClassDescriptor.getBuilder().setClassObjectDescriptor(classObjectDescriptor); classObjectDescriptor.setModality(Modality.FINAL); classObjectDescriptor.setVisibility(DescriptorResolver.resolveVisibilityFromModifiers(klass.getModifierList())); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassDescriptor.java index 18b54c00f83..1c88d865f00 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyClassDescriptor.java @@ -43,6 +43,8 @@ import org.jetbrains.jet.lang.types.TypeUtils; import java.util.*; +import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getClassObjectName; + /** * @author abreslav */ @@ -222,7 +224,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes JetClassLikeInfo classObjectInfo = getClassObjectInfo(classObject); if (classObjectInfo != null) { Name classObjectName = getKind() == ClassKind.ENUM_CLASS - ? Name.special("") + ? getClassObjectName(getName()) : JetPsiUtil.NO_NAME_PROVIDED; classObjectDescriptor = new LazyClassDescriptor(resolveSession, this, classObjectName, classObjectInfo); }