KT-449 class object in inner class must be an error

===
class A {
  class B {
    class object { }
  }
}
===
This commit is contained in:
Stepan Koltsov
2011-11-09 16:21:19 +04:00
parent a6898c7c64
commit 099725da7f
2 changed files with 10 additions and 0 deletions
@@ -61,6 +61,9 @@ public class MutableClassDescriptor extends MutableDeclarationDescriptor impleme
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
if (!(this.getContainingDeclaration() instanceof NamespaceDescriptor)) {
return ClassObjectStatus.NOT_ALLOWED;
}
assert classObjectDescriptor.getKind() == ClassKind.OBJECT;
this.classObjectDescriptor = classObjectDescriptor;
return ClassObjectStatus.OK;
@@ -0,0 +1,7 @@
// http://youtrack.jetbrains.net/issue/KT-449
class A {
class B {
<!CLASS_OBJECT_NOT_ALLOWED!>class object { }<!>
}
}