Rename ClassKind.isObject -> isSingleton

"isObject" gives a false impression that this is a check if the kind is OBJECT
This commit is contained in:
Alexander Udalov
2013-11-21 16:43:37 +04:00
parent 9a8d639ac5
commit 2c6bf6171f
21 changed files with 35 additions and 34 deletions
@@ -292,7 +292,7 @@ public class CodegenUtil {
ReceiverParameterDescriptor expectedThisObject = descriptor.getExpectedThisObject();
if (expectedThisObject != null) {
ClassDescriptor expectedThisClass = (ClassDescriptor) expectedThisObject.getContainingDeclaration();
if (!expectedThisClass.getKind().isObject()) {
if (!expectedThisClass.getKind().isSingleton()) {
return expectedThisClass;
}
}
@@ -5,10 +5,10 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.*;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.storage.StorageManager;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.storage.StorageManager;
import java.util.ArrayList;
import java.util.Collection;
@@ -62,7 +62,7 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
if (classDescriptor == null) {
return null;
}
return classDescriptor.getKind().isObject() == object ? classDescriptor : null;
return classDescriptor.getKind().isSingleton() == object ? classDescriptor : null;
}
@Override
@@ -81,7 +81,7 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
ClassDescriptor classDescriptor = findClassDescriptor(className, object);
if (classDescriptor != null) {
assert classDescriptor.getKind().isObject() == object;
assert classDescriptor.getKind().isSingleton() == object;
result.add(classDescriptor);
}
}
@@ -148,7 +148,7 @@ public interface Importer {
@Override
public void addAliasImport(@NotNull DeclarationDescriptor descriptor, @NotNull Name aliasName) {
assert !DescriptorUtils.isObject(descriptor) : "Never import objects: " + descriptor;
assert !DescriptorUtils.isSingleton(descriptor) : "Never import objects: " + descriptor;
imports.add(new AliasImportEntry(descriptor, aliasName));
}
@@ -104,7 +104,7 @@ public class QualifiedExpressionResolver {
}
for (DeclarationDescriptor descriptor : descriptors) {
if (!DescriptorUtils.isObject(descriptor)) {
if (!DescriptorUtils.isSingleton(descriptor)) {
importer.addAliasImport(descriptor, aliasName);
}
}
@@ -142,7 +142,7 @@ public class QualifiedExpressionResolver {
if (descriptor instanceof NamespaceDescriptor) {
return true;
}
if (descriptor instanceof ClassDescriptor && !((ClassDescriptor)descriptor).getKind().isObject()) {
if (descriptor instanceof ClassDescriptor && !((ClassDescriptor)descriptor).getKind().isSingleton()) {
return true;
}
trace.report(CANNOT_IMPORT_FROM_ELEMENT.on(reference, descriptor));
@@ -183,7 +183,7 @@ public class CandidateResolver {
if (context.call.getExplicitReceiver().exists() || context.call.getThisObject().exists()) return true;
ClassDescriptor candidateThis = getDeclaringClass(context.candidateCall.getCandidateDescriptor());
if (candidateThis == null || candidateThis.getKind().isObject()) return true;
if (candidateThis == null || candidateThis.getKind().isSingleton()) return true;
return DescriptorResolver.checkHasOuterClassInstance(context.scope, context.trace, context.call.getCallElement(), candidateThis);
}
@@ -115,7 +115,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
this.kind = classLikeInfo.getClassKind();
JetModifierList modifierList = classLikeInfo.getModifierList();
if (kind.isObject()) {
if (kind.isSingleton()) {
this.modality = Modality.FINAL;
}
else {
@@ -356,7 +356,7 @@ public class LazyClassMemberScope extends AbstractLazyMemberScope<LazyClassDescr
ConstructorDescriptor primaryConstructor = null;
if (GENERATE_CONSTRUCTORS_FOR.contains(thisDescriptor.getKind())) {
JetClassOrObject classOrObject = declarationProvider.getOwnerInfo().getCorrespondingClassOrObject();
if (!thisDescriptor.getKind().isObject()) {
if (!thisDescriptor.getKind().isSingleton()) {
JetClass jetClass = (JetClass) classOrObject;
ConstructorDescriptorImpl constructor = resolveSession.getInjector().getDescriptorResolver()
.resolvePrimaryConstructorDescriptor(thisDescriptor.getScopeForClassHeaderResolution(),
@@ -30,11 +30,11 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.lazy.KotlinTestWithEnvironment;
import org.jetbrains.jet.lang.resolve.lazy.LazyResolveTestUtil;
import org.jetbrains.jet.storage.LockBasedStorageManager;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
import org.jetbrains.jet.storage.LockBasedStorageManager;
import org.jetbrains.jet.test.util.NamespaceComparator;
import java.io.File;
@@ -98,7 +98,7 @@ public abstract class AbstractDescriptorSerializationTest extends KotlinTestWith
ClassId classId = getClassId(classDescriptor);
ClassDescriptor descriptor = descriptorFinder.findClass(classId);
assert descriptor != null : "Class not loaded: " + classId;
if (descriptor.getKind().isObject()) {
if (descriptor.getKind().isSingleton()) {
namespace.getMemberScope().addObjectDescriptor(descriptor);
}
else {
@@ -396,7 +396,7 @@ public class DescriptorValidator {
public Void visitClassDescriptor(
ClassDescriptor descriptor, JetScope scope
) {
if (descriptor.getKind().isObject()) {
if (descriptor.getKind().isSingleton()) {
assertFound(scope, descriptor, scope.getObjectDescriptor(descriptor.getName()));
}
else {
@@ -166,7 +166,7 @@ public abstract class JavaBaseScope extends JetScopeImpl {
private static Collection<ClassDescriptor> filterObjects(@NotNull Collection<ClassDescriptor> classes, boolean objects) {
List<ClassDescriptor> result = new ArrayList<ClassDescriptor>();
for (ClassDescriptor descriptor : classes) {
if (descriptor.getKind().isObject() == objects) {
if (descriptor.getKind().isSingleton() == objects) {
result.add(descriptor);
}
}
@@ -67,7 +67,7 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
@Override
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
ClassDescriptor innerClass = getInnerClassesMap().get(name);
if (innerClass != null && innerClass.getKind().isObject()) {
if (innerClass != null && innerClass.getKind().isSingleton()) {
return innerClass;
}
return null;
@@ -76,7 +76,7 @@ public abstract class JavaClassMembersScope extends JavaBaseScope {
@Override
public ClassifierDescriptor getClassifier(@NotNull Name name) {
ClassDescriptor innerClass = getInnerClassesMap().get(name);
if (innerClass == null || innerClass.getKind().isObject()) {
if (innerClass == null || innerClass.getKind().isSingleton()) {
return null;
}
return innerClass;
@@ -56,7 +56,7 @@ public final class JavaPackageScope extends JavaBaseScope {
@Override
public ClassifierDescriptor getClassifier(@NotNull Name name) {
ClassDescriptor classDescriptor = memberResolver.resolveClass(packageFQN.child(name), IGNORE_KOTLIN_SOURCES);
if (classDescriptor == null || classDescriptor.getKind().isObject()) {
if (classDescriptor == null || classDescriptor.getKind().isSingleton()) {
return null;
}
return classDescriptor;
@@ -65,7 +65,7 @@ public final class JavaPackageScope extends JavaBaseScope {
@Override
public ClassDescriptor getObjectDescriptor(@NotNull Name name) {
ClassDescriptor classDescriptor = memberResolver.resolveClass(packageFQN.child(name), IGNORE_KOTLIN_SOURCES);
if (classDescriptor != null && classDescriptor.getKind().isObject()) {
if (classDescriptor != null && classDescriptor.getKind().isSingleton()) {
return classDescriptor;
}
return null;
@@ -25,7 +25,7 @@ public enum ClassKind {
OBJECT,
CLASS_OBJECT;
public boolean isObject() {
public boolean isSingleton() {
return this == OBJECT || this == CLASS_OBJECT || this == ENUM_ENTRY;
}
}
@@ -252,7 +252,7 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
if (getKind().isObject() || isInner()) {
if (getKind().isSingleton() || isInner()) {
return ClassObjectStatus.NOT_ALLOWED;
}
@@ -238,10 +238,10 @@ public class DescriptorUtils {
return isKindOf(descriptor, ClassKind.ENUM_ENTRY);
}
public static boolean isObject(@NotNull DeclarationDescriptor classifier) {
public static boolean isSingleton(@NotNull DeclarationDescriptor classifier) {
if (classifier instanceof ClassDescriptor) {
ClassDescriptor clazz = (ClassDescriptor) classifier;
return clazz.getKind().isObject();
return clazz.getKind().isSingleton();
}
return false;
}
@@ -304,7 +304,7 @@ public class DescriptorUtils {
if (containingDeclaration instanceof ClassDescriptor) {
ClassDescriptor classDescriptor = (ClassDescriptor) containingDeclaration;
if (classDescriptor.getKind().isObject()) {
if (classDescriptor.getKind().isSingleton()) {
return inStaticContext(classDescriptor.getContainingDeclaration());
}
@@ -328,7 +328,7 @@ public class DescriptorUtils {
if (classKind == ClassKind.ENUM_CLASS) {
return Visibilities.PRIVATE;
}
if (classKind.isObject()) {
if (classKind.isSingleton()) {
return Visibilities.PRIVATE;
}
assert classKind == ClassKind.CLASS || classKind == ClassKind.TRAIT || classKind == ClassKind.ANNOTATION_CLASS;
@@ -421,7 +421,7 @@ public class DescriptorUtils {
return descriptor instanceof ClassDescriptor &&
containing instanceof ClassDescriptor &&
!((ClassDescriptor) descriptor).isInner() &&
!((ClassDescriptor) containing).getKind().isObject();
!((ClassDescriptor) containing).getKind().isSingleton();
}
@Nullable
@@ -87,6 +87,6 @@ public class InnerClassesScopeWrapper extends AbstractScopeAdapter {
}
private static boolean isClass(DeclarationDescriptor descriptor) {
return descriptor instanceof ClassDescriptor && !((ClassDescriptor) descriptor).getKind().isObject();
return descriptor instanceof ClassDescriptor && !((ClassDescriptor) descriptor).getKind().isSingleton();
}
}
@@ -310,7 +310,7 @@ public class WritableScopeImpl extends WritableScopeWithImports {
public void addClassifierDescriptor(@NotNull ClassifierDescriptor classDescriptor) {
checkMayWrite();
if (DescriptorUtils.isObject(classDescriptor)) {
if (DescriptorUtils.isSingleton(classDescriptor)) {
throw new IllegalStateException("must not be object: " + classDescriptor);
}
@@ -321,7 +321,7 @@ public class WritableScopeImpl extends WritableScopeWithImports {
public void addObjectDescriptor(@NotNull ClassDescriptor objectDescriptor) {
checkMayWrite();
if (!objectDescriptor.getKind().isObject()) {
if (!objectDescriptor.getKind().isSingleton()) {
throw new IllegalStateException("must be object: " + objectDescriptor);
}
@@ -216,7 +216,7 @@ public abstract class WritableScopeWithImports extends JetScopeAdapter implement
public void importClassifierAlias(@NotNull Name importedClassifierName, @NotNull ClassifierDescriptor classifierDescriptor) {
checkMayWrite();
if (DescriptorUtils.isObject(classifierDescriptor)) {
if (DescriptorUtils.isSingleton(classifierDescriptor)) {
throw new IllegalStateException("must not be object: " + classifierDescriptor);
}
@@ -612,7 +612,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
renderAnnotations(klass, builder);
renderVisibility(klass.getVisibility(), builder);
if (!(klass.getKind() == ClassKind.TRAIT && klass.getModality() == Modality.ABSTRACT
|| klass.getKind().isObject() && klass.getModality() == Modality.FINAL)) {
|| klass.getKind().isSingleton() && klass.getModality() == Modality.FINAL)) {
renderModality(klass.getModality(), builder);
}
renderInner(klass.isInner(), builder);
@@ -627,7 +627,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
List<TypeParameterDescriptor> typeParameters = klass.getTypeConstructor().getParameters();
renderTypeParameters(typeParameters, builder, false);
if (!klass.getKind().isObject() && classWithPrimaryConstructor) {
if (!klass.getKind().isSingleton() && classWithPrimaryConstructor) {
ConstructorDescriptor primaryConstructor = klass.getUnsubstitutedPrimaryConstructor();
if (primaryConstructor != null) {
renderValueParameters(primaryConstructor, builder);
@@ -136,7 +136,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
@Nullable
private DeclarationDescriptor findCurrentDescriptorForClass(@NotNull ClassDescriptor originalDescriptor) {
if (originalDescriptor.getKind().isObject()) {
if (originalDescriptor.getKind().isSingleton()) {
DeclarationDescriptor currentParent = findCurrentDescriptor(originalDescriptor.getContainingDeclaration());
if (currentParent == null) return null;
return ((ClassDescriptor) currentParent).getClassObjectDescriptor();
@@ -37,7 +37,8 @@ import org.jetbrains.k2js.translate.utils.JsAstUtils;
import java.util.*;
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.*;
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getClassDescriptorForType;
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getClassDescriptorForTypeConstructor;
import static org.jetbrains.jet.lang.types.TypeUtils.topologicallySortSuperclassesAndRecordAllInstances;
import static org.jetbrains.k2js.translate.expression.LiteralFunctionTranslator.createPlace;
import static org.jetbrains.k2js.translate.initializer.InitializerUtils.createClassObjectInitializer;
@@ -137,7 +138,7 @@ public final class ClassTranslator extends AbstractTranslator {
if (!isTopLevelDeclaration) {
qualifiedReference = null;
}
else if (descriptor.getKind().isObject()) {
else if (descriptor.getKind().isSingleton()) {
qualifiedReference = null;
declarationContext.literalFunctionTranslator().setDefinitionPlace(
new NotNullLazyValue<Trinity<List<JsPropertyInitializer>, LabelGenerator, JsExpression>>() {