Add ClassDescriptor#isDefaultObject()

with dummy implementations for now
This commit is contained in:
Pavel V. Talanov
2015-03-04 16:24:13 +03:00
parent 63acb19413
commit f72f548a93
8 changed files with 31 additions and 0 deletions
@@ -143,6 +143,11 @@ public class MutableClassDescriptor extends ClassDescriptorBase implements Class
return isInner; return isInner;
} }
@Override
public boolean isDefaultObject() {
return getKind() == ClassKind.CLASS_OBJECT;
}
@NotNull @NotNull
@Override @Override
public TypeConstructor getTypeConstructor() { public TypeConstructor getTypeConstructor() {
@@ -439,6 +439,11 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
return isInner; return isInner;
} }
@Override
public boolean isDefaultObject() {
return getKind() == ClassKind.CLASS_OBJECT;
}
@NotNull @NotNull
@Override @Override
public Annotations getAnnotations() { public Annotations getAnnotations() {
@@ -100,6 +100,8 @@ class LazyJavaClassDescriptor(
override fun getFunctionTypeForSamInterface(): JetType? = functionTypeForSamInterface() override fun getFunctionTypeForSamInterface(): JetType? = functionTypeForSamInterface()
override fun isDefaultObject() = false
override fun toString() = "lazy java class $fqName" override fun toString() = "lazy java class $fqName"
private inner class LazyJavaClassTypeConstructor : AbstractClassTypeConstructor() { private inner class LazyJavaClassTypeConstructor : AbstractClassTypeConstructor() {
@@ -82,6 +82,8 @@ public interface ClassDescriptor extends ClassifierDescriptor, MemberDescriptor,
*/ */
boolean isInner(); boolean isInner();
boolean isDefaultObject();
@NotNull @NotNull
ReceiverParameterDescriptor getThisAsReceiverParameter(); ReceiverParameterDescriptor getThisAsReceiverParameter();
@@ -111,6 +111,11 @@ public class ClassDescriptorImpl extends ClassDescriptorBase {
return ClassKind.CLASS; return ClassKind.CLASS;
} }
@Override
public boolean isDefaultObject() {
return false;
}
@Override @Override
public ConstructorDescriptor getUnsubstitutedPrimaryConstructor() { public ConstructorDescriptor getUnsubstitutedPrimaryConstructor() {
return primaryConstructor; return primaryConstructor;
@@ -142,6 +142,11 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase {
return false; return false;
} }
@Override
public boolean isDefaultObject() {
return false;
}
@Nullable @Nullable
@Override @Override
public ConstructorDescriptor getUnsubstitutedPrimaryConstructor() { public ConstructorDescriptor getUnsubstitutedPrimaryConstructor() {
@@ -196,6 +196,11 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor {
return original.isInner(); return original.isInner();
} }
@Override
public boolean isDefaultObject() {
return original.isDefaultObject();
}
@Override @Override
public <R, D> R accept(DeclarationDescriptorVisitor<R, D> visitor, D data) { public <R, D> R accept(DeclarationDescriptorVisitor<R, D> visitor, D data) {
return visitor.visitClassDescriptor(this, data); return visitor.visitClassDescriptor(this, data);
@@ -88,6 +88,8 @@ public class DeserializedClassDescriptor(
override fun getStaticScope() = staticScope override fun getStaticScope() = staticScope
override fun isDefaultObject(): Boolean = getKind() == ClassKind.CLASS_OBJECT
private fun computePrimaryConstructor(): ConstructorDescriptor? { private fun computePrimaryConstructor(): ConstructorDescriptor? {
if (!classProto.hasPrimaryConstructor()) return null if (!classProto.hasPrimaryConstructor()) return null