Get rid of MutableClassDescriptorLite.isStatic()

isStatic() is now precisely !isInner()
This commit is contained in:
Alexander Udalov
2012-12-04 22:10:42 +04:00
parent b612989eb0
commit 051e94b1c5
2 changed files with 7 additions and 23 deletions
@@ -91,23 +91,6 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
return this;
}
private static boolean isStatic(ClassDescriptor declarationClassDescriptor) {
if (declarationClassDescriptor.getKind() == ClassKind.ENUM_CLASS) {
return true;
}
DeclarationDescriptor containingDescriptor = declarationClassDescriptor.getContainingDeclaration();
if (containingDescriptor instanceof NamespaceDescriptor) {
return true;
}
else if (containingDescriptor instanceof ClassDescriptor) {
ClassDescriptor containingClassDescriptor = (ClassDescriptor) containingDescriptor;
return containingClassDescriptor.getKind().isObject();
}
else {
return false;
}
}
@NotNull
@Override
public TypeConstructor getTypeConstructor() {
@@ -294,7 +277,7 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
if (getKind().isObject()) {
if (getKind().isObject() || isInner()) {
return ClassObjectStatus.NOT_ALLOWED;
}
@@ -302,10 +285,6 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
return ClassObjectStatus.DUPLICATE;
}
if (!isStatic(MutableClassDescriptorLite.this)) {
return ClassObjectStatus.NOT_ALLOWED;
}
assert classObjectDescriptor.getKind() == ClassKind.CLASS_OBJECT;
MutableClassDescriptorLite.this.classObjectDescriptor = classObjectDescriptor;
@@ -1,7 +1,7 @@
// http://youtrack.jetbrains.net/issue/KT-449
class A {
class B {
inner class B {
<!CLASS_OBJECT_NOT_ALLOWED!>class object { }<!>
}
}
@@ -18,3 +18,8 @@ class B {
}
}
class C {
class D {
class object { }
}
}