Use module to resolve annotation classes in AnnotationDescriptorLoader

This commit is contained in:
Pavel V. Talanov
2014-06-16 15:00:57 +04:00
parent d961d17cd4
commit 245919d691
20 changed files with 209 additions and 68 deletions
@@ -0,0 +1,13 @@
package test
class A {
class object {
annotation class Anno1
class B {
annotation class Anno2
}
}
}
A.Anno1 A.B.Anno2 class C
@@ -0,0 +1,25 @@
package test
internal final class A {
/*primary*/ public constructor A()
internal class object <class-object-for-A> {
/*primary*/ private constructor <class-object-for-A>()
internal final annotation class Anno1 : kotlin.Annotation {
/*primary*/ public constructor Anno1()
}
internal final class B {
/*primary*/ public constructor B()
internal final annotation class Anno2 : kotlin.Annotation {
/*primary*/ public constructor Anno2()
}
}
}
}
test.A.Anno1() test.A.B.Anno2() internal final class C {
/*primary*/ public constructor C()
}
@@ -0,0 +1,6 @@
package test
//this test relies on particular heuristic implemntation, can become irrelevant should implementation change
annotation class `$$$$$$`
`$$$$$$`class A
@@ -0,0 +1,9 @@
package test
internal final annotation class $$$$$$ : kotlin.Annotation {
/*primary*/ public constructor $$$$$$()
}
test.$$$$$$() internal final class A {
/*primary*/ public constructor A()
}
@@ -0,0 +1,9 @@
package test
class A {
annotation class Anno
}
A.Anno class B {
A.Anno fun f() {}
}
@@ -0,0 +1,14 @@
package test
internal final class A {
/*primary*/ public constructor A()
internal final annotation class Anno : kotlin.Annotation {
/*primary*/ public constructor Anno()
}
}
test.A.Anno() internal final class B {
/*primary*/ public constructor B()
test.A.Anno() internal final fun f(): kotlin.Unit
}