Back-end: write correct visibility flags for private inner classes

This commit is contained in:
Natalia.Ukhorskaya
2012-12-05 21:14:34 +04:00
parent 17fa105116
commit a739964c74
38 changed files with 531 additions and 9 deletions
@@ -0,0 +1,7 @@
//ACC_PUBLIC because private in kotlin is package private in java + it should be visible in subpackages
private class MyClass() {
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: MyClass
// FLAGS: ACC_FINAL, ACC_PUBLIC, ACC_SUPER
@@ -0,0 +1,6 @@
private enum class MyClass() {
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: MyClass
// FLAGS: ACC_FINAL, ACC_PUBLIC, ACC_SUPER, ACC_ENUM
@@ -0,0 +1,8 @@
class Foo {
private class MyClass() {
}
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: Foo$MyClass
// FLAGS: ACC_FINAL, ACC_SUPER
@@ -0,0 +1,10 @@
// NO_FLAGS because we put enum in class object of foo. When it will be fixed - MyClass should have ACC_PRIVATE flag
class Foo {
private enum class MyClass() {
}
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: Foo$MyClass
// FLAGS: ACC_FINAL, ACC_SUPER, ACC_ENUM
@@ -0,0 +1,8 @@
class Foo {
private object MyClass {
}
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: Foo$MyClass
// FLAGS: ACC_FINAL, ACC_SUPER
@@ -0,0 +1,8 @@
class Foo {
private trait MyClass {
}
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: Foo$MyClass
// FLAGS: ACC_ABSTRACT, ACC_INTERFACE
@@ -0,0 +1,6 @@
private object MyClass {
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: MyClass
// FLAGS: ACC_FINAL, ACC_PUBLIC, ACC_SUPER
@@ -0,0 +1,6 @@
private trait MyClass {
}
// TESTED_OBJECT_KIND: class
// TESTED_OBJECTS: MyClass
// FLAGS: ACC_ABSTRACT, ACC_INTERFACE, ACC_PUBLIC