Added tests cases for internal visibility in ReadKotlinBinaryClass

This commit is contained in:
Evgeny Gerashchenko
2012-06-16 18:31:44 +04:00
parent 085b9704b8
commit 258623cb5f
11 changed files with 92 additions and 1 deletions
@@ -0,0 +1,3 @@
package test
internal class InternalClass
@@ -0,0 +1,5 @@
namespace test
internal final class test.InternalClass : jet.Any {
public final /*constructor*/ fun <init>(): test.InternalClass
}
@@ -0,0 +1,3 @@
package test
public class InternalConstructor internal()
@@ -0,0 +1,5 @@
namespace test
public final class test.InternalConstructor : jet.Any {
internal final /*constructor*/ fun <init>(): test.InternalConstructor
}
@@ -0,0 +1,4 @@
package test
internal val x = 0
internal fun f() = 0
@@ -0,0 +1,4 @@
namespace test
internal final val x: jet.Int
internal final fun f(): jet.Int
@@ -0,0 +1,8 @@
package test
trait A {
internal fun f() : Int
internal val v : Int
public var p : Int
internal set
}
@@ -0,0 +1,7 @@
namespace test
internal abstract trait test.A : jet.Any {
internal abstract fun f(): jet.Int
internal abstract val v: jet.Int
public abstract var p: jet.Int internal set
}
@@ -0,0 +1,14 @@
package test
trait A {
internal open fun f() : Int = 0
internal open val v : Int
get() = 0
public var p : Int
get() = 5
internal set(value) {
}
}
class B : A {
}
@@ -0,0 +1,13 @@
namespace test
internal abstract trait test.A : jet.Any {
internal open fun f(): jet.Int
internal open val v: jet.Int
public open var p: jet.Int internal set
}
internal final class test.B : test.A {
internal open override /*1*/ fun f(): jet.Int
internal open override /*1*/ val v: jet.Int
public final /*constructor*/ fun <init>(): test.B
public open override /*1*/ var p: jet.Int internal set
}
@@ -695,7 +695,32 @@ public class LazyResolveNamespaceComparingTestGenerated {
public void testTuple0() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/type/Tuple0.kt");
}
@Test
public void testInternalClass() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/visibility/InternalClass.kt");
}
@Test
public void testInternalConstructor() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/visibility/InternalConstructor.kt");
}
@Test
public void testInternalTopLevelMembers() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/visibility/InternalTopLevelMembers.kt");
}
@Test
public void testInternalTraitMembers() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/visibility/InternalTraitMembers.kt");
}
@Test
public void testInternalTraitMembersInherited() throws Exception {
doTestSinglePackage("compiler/testData/readKotlinBinaryClass/visibility/InternalTraitMembersInherited.kt");
}
public static void allTestsPresent(Class<?> clazz, File testDataDir, boolean recursive) {
Set<String> methodNames = new HashSet<String>();
for (Method method : clazz.getDeclaredMethods()) {