JvmSuppressWildcards
@Target([AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPE]) annotation class JvmSuppressWildcards
(Common source) (JVM source)
For JVM
Instructs the compiler to generate or omit wildcards for type arguments corresponding to parameters with declaration-site variance,
for example such as E
of kotlin.collections.Collection
which is declared with an out
variance.
- If the innermost applied
@JvmSuppressWildcards
hassuppress=true
and the type is not annotated with@JvmWildcard
, the type is generated without wildcards. - If the innermost applied
@JvmSuppressWildcards
hassuppress=false
, the type is generated with wildcards.
It may be helpful only if declaration seems to be inconvenient to use from Java.
See the Kotlin language documentation for more information.
For Common
Instructs compiler to generate or omit wildcards for type arguments corresponding to parameters with
declaration-site variance, for example such as Collection<out T>
has.
If the innermost applied @JvmSuppressWildcards
has suppress=true
, the type is generated without wildcards.
If the innermost applied @JvmSuppressWildcards
has suppress=false
, the type is generated with wildcards.
It may be helpful only if declaration seems to be inconvenient to use from Java.
Constructors
<init>
Instructs compiler to generate or omit wildcards for type arguments corresponding to parameters with
declaration-site variance, for example such as Collection<out T>
has.
<init>(suppress: Boolean = true)
Properties
suppress
val suppress: Boolean
Extension Properties
annotationClass
Returns a KClass instance corresponding to the annotation type of this annotation.
val <T : Annotation> T.annotationClass: KClass<out T>