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 a9add87c124..8a20825ab15 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java @@ -1027,8 +1027,7 @@ public class DescriptorResolver { @NotNull final BindingTrace trace ) { ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor(); - boolean isAnonymous = classifierDescriptor != null && classifierDescriptor.getName().isSpecial() && !ErrorUtils.isErrorType(type); - if (!isAnonymous) { + if (!DescriptorUtils.isAnonymous(classifierDescriptor)) { return type; } 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 f186d05acd5..160cfa2c417 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java @@ -258,6 +258,11 @@ public class DescriptorUtils { && ((ClassDescriptor) descriptor).getKind() == ClassKind.CLASS_OBJECT; } + public static boolean isAnonymous(@Nullable ClassifierDescriptor descriptor) { + return descriptor instanceof ClassDescriptor + && descriptor.getName().isSpecial() && ((ClassDescriptor)descriptor).getKind() == ClassKind.OBJECT; + } + public static boolean isEnumEntry(@NotNull DeclarationDescriptor descriptor) { return descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() == ClassKind.ENUM_ENTRY;