KT-449 class object in inner class must be an error
===
class A {
class B {
class object { }
}
}
===
This commit is contained in:
@@ -61,6 +61,9 @@ public class MutableClassDescriptor extends MutableDeclarationDescriptor impleme
|
|||||||
@Override
|
@Override
|
||||||
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
|
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
|
||||||
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
|
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
|
||||||
|
if (!(this.getContainingDeclaration() instanceof NamespaceDescriptor)) {
|
||||||
|
return ClassObjectStatus.NOT_ALLOWED;
|
||||||
|
}
|
||||||
assert classObjectDescriptor.getKind() == ClassKind.OBJECT;
|
assert classObjectDescriptor.getKind() == ClassKind.OBJECT;
|
||||||
this.classObjectDescriptor = classObjectDescriptor;
|
this.classObjectDescriptor = classObjectDescriptor;
|
||||||
return ClassObjectStatus.OK;
|
return ClassObjectStatus.OK;
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// http://youtrack.jetbrains.net/issue/KT-449
|
||||||
|
|
||||||
|
class A {
|
||||||
|
class B {
|
||||||
|
<!CLASS_OBJECT_NOT_ALLOWED!>class object { }<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user