Mark all api in kotlin.reflect.full package with SinceKotlin(1.1), since it actually appeared in that package only in 1.1. #KT-16557 Fixed.

It doesn't matter that some functions were since 1.0 in the old package.
This commit is contained in:
Ilya Gorbunov
2017-02-28 21:22:47 +03:00
parent 646f50dd66
commit c038d3e9a3
2 changed files with 18 additions and 0 deletions
@@ -35,6 +35,7 @@ import kotlin.reflect.jvm.internal.KotlinReflectionInternalError
* See the [Kotlin language documentation](http://kotlinlang.org/docs/reference/classes.html#constructors) * See the [Kotlin language documentation](http://kotlinlang.org/docs/reference/classes.html#constructors)
* for more information. * for more information.
*/ */
@SinceKotlin("1.1")
val <T : Any> KClass<T>.primaryConstructor: KFunction<T>? val <T : Any> KClass<T>.primaryConstructor: KFunction<T>?
get() = (this as KClassImpl<T>).constructors.firstOrNull { get() = (this as KClassImpl<T>).constructors.firstOrNull {
((it as KFunctionImpl).descriptor as ConstructorDescriptor).isPrimary ((it as KFunctionImpl).descriptor as ConstructorDescriptor).isPrimary
@@ -45,6 +46,7 @@ val <T : Any> KClass<T>.primaryConstructor: KFunction<T>?
* Returns a [KClass] instance representing the companion object of a given class, * Returns a [KClass] instance representing the companion object of a given class,
* or `null` if the class doesn't have a companion object. * or `null` if the class doesn't have a companion object.
*/ */
@SinceKotlin("1.1")
val KClass<*>.companionObject: KClass<*>? val KClass<*>.companionObject: KClass<*>?
get() = nestedClasses.firstOrNull { get() = nestedClasses.firstOrNull {
(it as KClassImpl<*>).descriptor.isCompanionObject (it as KClassImpl<*>).descriptor.isCompanionObject
@@ -54,6 +56,7 @@ val KClass<*>.companionObject: KClass<*>?
* Returns an instance of the companion object of a given class, * Returns an instance of the companion object of a given class,
* or `null` if the class doesn't have a companion object. * or `null` if the class doesn't have a companion object.
*/ */
@SinceKotlin("1.1")
val KClass<*>.companionObjectInstance: Any? val KClass<*>.companionObjectInstance: Any?
get() = companionObject?.objectInstance get() = companionObject?.objectInstance
@@ -65,6 +68,7 @@ val KClass<*>.companionObjectInstance: Any?
@Deprecated("This function creates a type which rarely makes sense for generic classes. " + @Deprecated("This function creates a type which rarely makes sense for generic classes. " +
"For example, such type can only be used in signatures of members of that class. " + "For example, such type can only be used in signatures of members of that class. " +
"Use starProjectedType or createType() for clearer semantics.") "Use starProjectedType or createType() for clearer semantics.")
@SinceKotlin("1.1")
val KClass<*>.defaultType: KType val KClass<*>.defaultType: KType
get() = KTypeImpl((this as KClassImpl<*>).descriptor.defaultType) { jClass } get() = KTypeImpl((this as KClassImpl<*>).descriptor.defaultType) { jClass }
@@ -81,24 +85,28 @@ val KClass<*>.declaredMembers: Collection<KCallable<*>>
* Returns all functions declared in this class, including all non-static methods declared in the class * Returns all functions declared in this class, including all non-static methods declared in the class
* and the superclasses, as well as static methods declared in the class. * and the superclasses, as well as static methods declared in the class.
*/ */
@SinceKotlin("1.1")
val KClass<*>.functions: Collection<KFunction<*>> val KClass<*>.functions: Collection<KFunction<*>>
get() = members.filterIsInstance<KFunction<*>>() get() = members.filterIsInstance<KFunction<*>>()
/** /**
* Returns static functions declared in this class. * Returns static functions declared in this class.
*/ */
@SinceKotlin("1.1")
val KClass<*>.staticFunctions: Collection<KFunction<*>> val KClass<*>.staticFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().allStaticMembers.filterIsInstance<KFunction<*>>() get() = (this as KClassImpl).data().allStaticMembers.filterIsInstance<KFunction<*>>()
/** /**
* Returns non-extension non-static functions declared in this class and all of its superclasses. * Returns non-extension non-static functions declared in this class and all of its superclasses.
*/ */
@SinceKotlin("1.1")
val KClass<*>.memberFunctions: Collection<KFunction<*>> val KClass<*>.memberFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().allNonStaticMembers.filter { it.isNotExtension && it is KFunction<*> } as Collection<KFunction<*>> get() = (this as KClassImpl).data().allNonStaticMembers.filter { it.isNotExtension && it is KFunction<*> } as Collection<KFunction<*>>
/** /**
* Returns extension functions declared in this class and all of its superclasses. * Returns extension functions declared in this class and all of its superclasses.
*/ */
@SinceKotlin("1.1")
val KClass<*>.memberExtensionFunctions: Collection<KFunction<*>> val KClass<*>.memberExtensionFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().allNonStaticMembers.filter { it.isExtension && it is KFunction<*> } as Collection<KFunction<*>> get() = (this as KClassImpl).data().allNonStaticMembers.filter { it.isExtension && it is KFunction<*> } as Collection<KFunction<*>>
@@ -107,18 +115,21 @@ val KClass<*>.memberExtensionFunctions: Collection<KFunction<*>>
* If this is a Java class, it includes all non-static methods (both extensions and non-extensions) * If this is a Java class, it includes all non-static methods (both extensions and non-extensions)
* declared in the class and the superclasses, as well as static methods declared in the class. * declared in the class and the superclasses, as well as static methods declared in the class.
*/ */
@SinceKotlin("1.1")
val KClass<*>.declaredFunctions: Collection<KFunction<*>> val KClass<*>.declaredFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().declaredMembers.filterIsInstance<KFunction<*>>() get() = (this as KClassImpl).data().declaredMembers.filterIsInstance<KFunction<*>>()
/** /**
* Returns non-extension non-static functions declared in this class. * Returns non-extension non-static functions declared in this class.
*/ */
@SinceKotlin("1.1")
val KClass<*>.declaredMemberFunctions: Collection<KFunction<*>> val KClass<*>.declaredMemberFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().declaredNonStaticMembers.filter { it.isNotExtension && it is KFunction<*> } as Collection<KFunction<*>> get() = (this as KClassImpl).data().declaredNonStaticMembers.filter { it.isNotExtension && it is KFunction<*> } as Collection<KFunction<*>>
/** /**
* Returns extension functions declared in this class. * Returns extension functions declared in this class.
*/ */
@SinceKotlin("1.1")
val KClass<*>.declaredMemberExtensionFunctions: Collection<KFunction<*>> val KClass<*>.declaredMemberExtensionFunctions: Collection<KFunction<*>>
get() = (this as KClassImpl).data().declaredNonStaticMembers.filter { it.isExtension && it is KFunction<*> } as Collection<KFunction<*>> get() = (this as KClassImpl).data().declaredNonStaticMembers.filter { it.isExtension && it is KFunction<*> } as Collection<KFunction<*>>
@@ -126,30 +137,35 @@ val KClass<*>.declaredMemberExtensionFunctions: Collection<KFunction<*>>
* Returns static properties declared in this class. * Returns static properties declared in this class.
* Only properties representing static fields of Java classes are considered static. * Only properties representing static fields of Java classes are considered static.
*/ */
@SinceKotlin("1.1")
val KClass<*>.staticProperties: Collection<KProperty0<*>> val KClass<*>.staticProperties: Collection<KProperty0<*>>
get() = (this as KClassImpl).data().allStaticMembers.filter { it.isNotExtension && it is KProperty0<*> } as Collection<KProperty0<*>> get() = (this as KClassImpl).data().allStaticMembers.filter { it.isNotExtension && it is KProperty0<*> } as Collection<KProperty0<*>>
/** /**
* Returns non-extension properties declared in this class and all of its superclasses. * Returns non-extension properties declared in this class and all of its superclasses.
*/ */
@SinceKotlin("1.1")
val <T : Any> KClass<T>.memberProperties: Collection<KProperty1<T, *>> val <T : Any> KClass<T>.memberProperties: Collection<KProperty1<T, *>>
get() = (this as KClassImpl<T>).data().allNonStaticMembers.filter { it.isNotExtension && it is KProperty1<*, *> } as Collection<KProperty1<T, *>> get() = (this as KClassImpl<T>).data().allNonStaticMembers.filter { it.isNotExtension && it is KProperty1<*, *> } as Collection<KProperty1<T, *>>
/** /**
* Returns extension properties declared in this class and all of its superclasses. * Returns extension properties declared in this class and all of its superclasses.
*/ */
@SinceKotlin("1.1")
val <T : Any> KClass<T>.memberExtensionProperties: Collection<KProperty2<T, *, *>> val <T : Any> KClass<T>.memberExtensionProperties: Collection<KProperty2<T, *, *>>
get() = (this as KClassImpl<T>).data().allNonStaticMembers.filter { it.isExtension && it is KProperty2<*, *, *> } as Collection<KProperty2<T, *, *>> get() = (this as KClassImpl<T>).data().allNonStaticMembers.filter { it.isExtension && it is KProperty2<*, *, *> } as Collection<KProperty2<T, *, *>>
/** /**
* Returns non-extension properties declared in this class. * Returns non-extension properties declared in this class.
*/ */
@SinceKotlin("1.1")
val <T : Any> KClass<T>.declaredMemberProperties: Collection<KProperty1<T, *>> val <T : Any> KClass<T>.declaredMemberProperties: Collection<KProperty1<T, *>>
get() = (this as KClassImpl<T>).data().declaredNonStaticMembers.filter { it.isNotExtension && it is KProperty1<*, *> } as Collection<KProperty1<T, *>> get() = (this as KClassImpl<T>).data().declaredNonStaticMembers.filter { it.isNotExtension && it is KProperty1<*, *> } as Collection<KProperty1<T, *>>
/** /**
* Returns extension properties declared in this class. * Returns extension properties declared in this class.
*/ */
@SinceKotlin("1.1")
val <T : Any> KClass<T>.declaredMemberExtensionProperties: Collection<KProperty2<T, *, *>> val <T : Any> KClass<T>.declaredMemberExtensionProperties: Collection<KProperty2<T, *, *>>
get() = (this as KClassImpl<T>).data().declaredNonStaticMembers.filter { it.isExtension && it is KProperty2<*, *, *> } as Collection<KProperty2<T, *, *>> get() = (this as KClassImpl<T>).data().declaredNonStaticMembers.filter { it.isExtension && it is KProperty2<*, *, *> } as Collection<KProperty2<T, *, *>>
@@ -27,6 +27,7 @@ import kotlin.reflect.jvm.isAccessible
* *
* @see [kotlin.reflect.jvm.isAccessible] * @see [kotlin.reflect.jvm.isAccessible]
*/ */
@SinceKotlin("1.1")
class IllegalCallableAccessException(cause: IllegalAccessException) : kotlin.reflect.IllegalCallableAccessException(cause) class IllegalCallableAccessException(cause: IllegalAccessException) : kotlin.reflect.IllegalCallableAccessException(cause)
/** /**
@@ -48,5 +49,6 @@ class IllegalPropertyDelegateAccessException(cause: IllegalAccessException) : Ex
* An exception that is thrown when the code tries to introspect a property of a class or a package * An exception that is thrown when the code tries to introspect a property of a class or a package
* and that class or the package no longer has that property. * and that class or the package no longer has that property.
*/ */
@SinceKotlin("1.1")
class NoSuchPropertyException(cause: Exception? = null) : kotlin.reflect.NoSuchPropertyException(cause) class NoSuchPropertyException(cause: Exception? = null) : kotlin.reflect.NoSuchPropertyException(cause)