706a4e9919
Both explicitly specified and default argument expressions are considered. In case an argument expression is considered as 'unlinked' the whole annotation is removed from the declaration. An appropriate compiler warning logged for each such case.
153 lines
3.6 KiB
Kotlin
Vendored
153 lines
3.6 KiB
Kotlin
Vendored
class ClassToEnum {
|
|
class Foo
|
|
object Bar
|
|
inner class Baz
|
|
}
|
|
|
|
object ObjectToEnum {
|
|
class Foo
|
|
object Bar
|
|
}
|
|
|
|
enum class EnumToClass {
|
|
Foo,
|
|
Bar,
|
|
Baz
|
|
}
|
|
|
|
enum class EnumToObject {
|
|
Foo,
|
|
Bar
|
|
}
|
|
|
|
class ClassToObject
|
|
object ObjectToClass
|
|
|
|
class ClassToInterface
|
|
|
|
class NestedObjectToCompanion1 {
|
|
object Companion {
|
|
fun name() = "NestedObjectToCompanion1.Companion"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
|
|
class NestedObjectToCompanion2 {
|
|
object Foo {
|
|
fun name() = "NestedObjectToCompanion2.Foo"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
|
|
class CompanionToNestedObject1 {
|
|
companion object {
|
|
fun name() = "CompanionToNestedObject1.Companion"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
|
|
class CompanionToNestedObject2 {
|
|
companion object Foo {
|
|
fun name() = "CompanionToNestedObject2.Foo"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
|
|
class CompanionAndNestedObjectsSwap {
|
|
companion object Foo {
|
|
fun name() = "Foo"
|
|
}
|
|
|
|
object Bar {
|
|
fun name() = "Bar"
|
|
}
|
|
}
|
|
|
|
class NestedClassContainer {
|
|
fun name() = "NestedClassContainer"
|
|
|
|
class NestedToInner {
|
|
fun name() = "NestedClassContainer.NestedToInner"
|
|
override fun toString() = name()
|
|
|
|
object Object {
|
|
fun name() = "NestedClassContainer.NestedToInner.Object"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
companion object Companion {
|
|
fun name() = "NestedClassContainer.NestedToInner.Companion"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
class Nested {
|
|
fun name() = "NestedClassContainer.NestedToInner.Nested"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
inner class Inner {
|
|
fun name() = this@NestedToInner.name() + ".Inner"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
}
|
|
|
|
class InnerClassContainer {
|
|
fun name() = "InnerClassContainer"
|
|
|
|
inner class InnerToNested {
|
|
fun name() = this@InnerClassContainer.name() + ".InnerToNested"
|
|
override fun toString() = name()
|
|
|
|
inner class /*object*/ Object {
|
|
fun name() = this@InnerToNested.name() + ".Object"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
inner class /*companion object*/ Companion {
|
|
fun name() = this@InnerToNested.name() + ".Companion"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
inner class /*class*/ Nested {
|
|
fun name() = this@InnerToNested.name() + ".Nested"
|
|
override fun toString() = name()
|
|
}
|
|
|
|
inner class Inner {
|
|
fun name() = this@InnerToNested.name() + ".Inner"
|
|
override fun toString() = name()
|
|
}
|
|
}
|
|
}
|
|
|
|
annotation class AnnotationClassWithChangedParameterType(val x: Int)
|
|
annotation class AnnotationClassThatBecomesRegularClass(val x: Int)
|
|
annotation class AnnotationClassThatDisappears(val x: Int)
|
|
annotation class AnnotationClassWithRenamedParameters(val i: Int, val s: String)
|
|
annotation class AnnotationClassWithReorderedParameters(val i: Int, val s: String)
|
|
annotation class AnnotationClassWithNewParameter(val i: Int)
|
|
|
|
value class ValueToClass(val x: Int)
|
|
class ClassToValue(val x: Int)
|
|
|
|
data class DataToClass(val x: Int, val y: Int)
|
|
|
|
fun interface FunctionalInterfaceToInterface {
|
|
fun work()
|
|
}
|
|
|
|
class ClassToAbstractClass {
|
|
var name: String = "Alice"
|
|
fun getGreeting() = "Hello, $name!"
|
|
}
|
|
|
|
class RemovedClass
|
|
enum class EnumClassWithDisappearingEntry { UNCHANGED, REMOVED }
|
|
|
|
object PublicTopLevelLib1 {
|
|
annotation class AnnotationClassThatBecomesPrivate
|
|
class ClassThatBecomesPrivate
|
|
enum class EnumClassThatBecomesPrivate { ENTRY }
|
|
}
|