Minor, inline DescriptorUtils.getEnumEntriesScope
This commit is contained in:
+2
-1
@@ -132,7 +132,8 @@ public class DescriptorSerializer {
|
||||
}
|
||||
|
||||
if (classDescriptor.getKind() == ClassKind.ENUM_CLASS) {
|
||||
for (DeclarationDescriptor descriptor : getEnumEntriesScope(classDescriptor).getAllDescriptors()) {
|
||||
// Not calling sort() here, because the order of enum entries matters
|
||||
for (DeclarationDescriptor descriptor : nestedClasses) {
|
||||
if (isEnumEntry(descriptor)) {
|
||||
builder.addEnumEntry(nameTable.getSimpleNameIndex(descriptor.getName()));
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getEnumEntriesScope;
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isEnumEntry;
|
||||
|
||||
public final class WhenChecker {
|
||||
@@ -54,7 +53,7 @@ public final class WhenChecker {
|
||||
if (classDescriptor.getKind() != ClassKind.ENUM_CLASS || classDescriptor.getModality().isOverridable()) return false;
|
||||
boolean isExhaust = true;
|
||||
boolean notEmpty = false;
|
||||
for (DeclarationDescriptor descriptor : getEnumEntriesScope(classDescriptor).getAllDescriptors()) {
|
||||
for (DeclarationDescriptor descriptor : classDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors()) {
|
||||
if (isEnumEntry(descriptor)) {
|
||||
notEmpty = true;
|
||||
if (!containsEnumEntryCase(expression, (ClassDescriptor) descriptor, trace)) {
|
||||
|
||||
+1
-2
@@ -37,7 +37,6 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getEnumEntriesScope;
|
||||
import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES;
|
||||
import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES;
|
||||
|
||||
@@ -140,7 +139,7 @@ public final class JavaAnnotationArgumentResolver {
|
||||
ClassDescriptor enumClass = classResolver.resolveClass(fqName, INCLUDE_KOTLIN_SOURCES, taskList);
|
||||
if (enumClass == null) return null;
|
||||
|
||||
ClassifierDescriptor classifier = getEnumEntriesScope(enumClass).getClassifier(field.getName());
|
||||
ClassifierDescriptor classifier = enumClass.getUnsubstitutedInnerClassesScope().getClassifier(field.getName());
|
||||
if (!(classifier instanceof ClassDescriptor)) return null;
|
||||
|
||||
return new EnumValue((ClassDescriptor) classifier);
|
||||
|
||||
+3
-2
@@ -44,7 +44,8 @@ import javax.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.*;
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isClassObject;
|
||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait;
|
||||
import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KOTLIN_SOURCES;
|
||||
import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName;
|
||||
import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.naiveKotlinFqName;
|
||||
@@ -184,7 +185,7 @@ public class AnnotationDescriptorDeserializer implements AnnotationDeserializer
|
||||
private CompileTimeConstant<?> enumEntryValue(@NotNull JvmClassName enumClassName, @NotNull Name name) {
|
||||
ClassDescriptor enumClass = resolveClass(enumClassName);
|
||||
if (enumClass.getKind() == ClassKind.ENUM_CLASS) {
|
||||
ClassifierDescriptor classifier = getEnumEntriesScope(enumClass).getClassifier(name);
|
||||
ClassifierDescriptor classifier = enumClass.getUnsubstitutedInnerClassesScope().getClassifier(name);
|
||||
if (classifier instanceof ClassDescriptor) {
|
||||
return new EnumValue((ClassDescriptor) classifier);
|
||||
}
|
||||
|
||||
@@ -487,10 +487,4 @@ public class DescriptorUtils {
|
||||
return isTopLevelDeclaration(descriptor) ||
|
||||
containing instanceof ClassDescriptor && isTopLevelOrInnerClass((ClassDescriptor) containing);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static JetScope getEnumEntriesScope(@NotNull ClassDescriptor enumClass) {
|
||||
assert isEnumClass(enumClass) : "Only enum classes have enum entries: " + enumClass;
|
||||
return enumClass.getUnsubstitutedInnerClassesScope();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user