[FIR-TEST] Move analysis tests to separate module

This commit is contained in:
Dmitriy Novozhilov
2020-03-18 15:10:46 +03:00
parent 3a479d5d16
commit cc07ae96b3
1477 changed files with 1001 additions and 980 deletions
@@ -0,0 +1,300 @@
public abstract class BooleanIterator : R|kotlin/collections/Iterator<kotlin/Boolean>| {
public final operator fun next(): R|kotlin/Boolean|
public abstract fun nextBoolean(): R|kotlin/Boolean|
public constructor(): R|kotlin/collections/BooleanIterator|
}
public abstract class ByteIterator : R|kotlin/collections/Iterator<kotlin/Byte>| {
public final operator fun next(): R|kotlin/Byte|
public abstract fun nextByte(): R|kotlin/Byte|
public constructor(): R|kotlin/collections/ByteIterator|
}
public abstract class CharIterator : R|kotlin/collections/Iterator<kotlin/Char>| {
public final operator fun next(): R|kotlin/Char|
public abstract fun nextChar(): R|kotlin/Char|
public constructor(): R|kotlin/collections/CharIterator|
}
public abstract interface Collection<out E> : R|kotlin/collections/Iterable<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun isEmpty(): R|kotlin/Boolean|
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
public abstract val size: R|kotlin/Int|
public get(): R|kotlin/Int|
}
public abstract class DoubleIterator : R|kotlin/collections/Iterator<kotlin/Double>| {
public final operator fun next(): R|kotlin/Double|
public abstract fun nextDouble(): R|kotlin/Double|
public constructor(): R|kotlin/collections/DoubleIterator|
}
public abstract class FloatIterator : R|kotlin/collections/Iterator<kotlin/Float>| {
public final operator fun next(): R|kotlin/Float|
public abstract fun nextFloat(): R|kotlin/Float|
public constructor(): R|kotlin/collections/FloatIterator|
}
public abstract class IntIterator : R|kotlin/collections/Iterator<kotlin/Int>| {
public final operator fun next(): R|kotlin/Int|
public abstract fun nextInt(): R|kotlin/Int|
public constructor(): R|kotlin/collections/IntIterator|
}
public abstract interface Iterable<out T> : R|kotlin/Any| {
public abstract operator fun iterator(): R|kotlin/collections/Iterator<T>|
}
public abstract interface Iterator<out T> : R|kotlin/Any| {
public abstract operator fun hasNext(): R|kotlin/Boolean|
public abstract operator fun next(): R|T|
}
public abstract interface List<out E> : R|kotlin/collections/Collection<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract operator fun get(index: R|kotlin/Int|): R|E|
public abstract fun indexOf(element: R|E|): R|kotlin/Int|
public abstract fun isEmpty(): R|kotlin/Boolean|
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
public abstract fun lastIndexOf(element: R|E|): R|kotlin/Int|
public abstract fun listIterator(): R|kotlin/collections/ListIterator<E>|
public abstract fun listIterator(index: R|kotlin/Int|): R|kotlin/collections/ListIterator<E>|
public abstract fun subList(fromIndex: R|kotlin/Int|, toIndex: R|kotlin/Int|): R|kotlin/collections/List<E>|
public abstract val size: R|kotlin/Int|
public get(): R|kotlin/Int|
}
public abstract interface ListIterator<out T> : R|kotlin/collections/Iterator<T>| {
public abstract operator fun hasNext(): R|kotlin/Boolean|
public abstract fun hasPrevious(): R|kotlin/Boolean|
public abstract operator fun next(): R|T|
public abstract fun nextIndex(): R|kotlin/Int|
public abstract fun previous(): R|T|
public abstract fun previousIndex(): R|kotlin/Int|
}
public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>| {
public final operator fun next(): R|kotlin/Long|
public abstract fun nextLong(): R|kotlin/Long|
public constructor(): R|kotlin/collections/LongIterator|
}
public abstract interface Map<K, out V> : R|kotlin/Any| {
public abstract fun containsKey(key: R|K|): R|kotlin/Boolean|
public abstract fun containsValue(value: R|V|): R|kotlin/Boolean|
public abstract operator fun get(key: R|K|): R|V?|
@R|kotlin/SinceKotlin|(version = String(1.1)) @R|kotlin/internal/PlatformDependent|() public open fun getOrDefault(key: R|K|, defaultValue: R|V|): R|V|
public abstract fun isEmpty(): R|kotlin/Boolean|
public abstract val entries: R|kotlin/collections/Set<kotlin/collections/Map.Entry<K, V>>|
public get(): R|kotlin/collections/Set<kotlin/collections/Map.Entry<K, V>>|
public abstract val keys: R|kotlin/collections/Set<K>|
public get(): R|kotlin/collections/Set<K>|
public abstract val size: R|kotlin/Int|
public get(): R|kotlin/Int|
public abstract val values: R|kotlin/collections/Collection<V>|
public get(): R|kotlin/collections/Collection<V>|
public abstract interface Entry<out K, out V> : R|kotlin/Any| {
public abstract val key: R|K|
public get(): R|K|
public abstract val value: R|V|
public get(): R|V|
}
}
public abstract interface MutableCollection<E> : R|kotlin/collections/Collection<E>|, R|kotlin/collections/MutableIterable<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun clear(): R|kotlin/Unit|
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<E>|
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
}
public abstract interface MutableIterable<out T> : R|kotlin/collections/Iterable<T>| {
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<T>|
}
public abstract interface MutableIterator<out T> : R|kotlin/collections/Iterator<T>| {
public abstract fun remove(): R|kotlin/Unit|
}
public abstract interface MutableList<E> : R|kotlin/collections/List<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun add(index: R|kotlin/Int|, element: R|E|): R|kotlin/Unit|
public abstract fun addAll(index: R|kotlin/Int|, elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun clear(): R|kotlin/Unit|
public abstract fun listIterator(): R|kotlin/collections/MutableListIterator<E>|
public abstract fun listIterator(index: R|kotlin/Int|): R|kotlin/collections/MutableListIterator<E>|
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun removeAt(index: R|kotlin/Int|): R|E|
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract operator fun set(index: R|kotlin/Int|, element: R|E|): R|E|
public abstract fun subList(fromIndex: R|kotlin/Int|, toIndex: R|kotlin/Int|): R|kotlin/collections/MutableList<E>|
}
public abstract interface MutableListIterator<T> : R|kotlin/collections/ListIterator<T>|, R|kotlin/collections/MutableIterator<T>| {
public abstract fun add(element: R|T|): R|kotlin/Unit|
public abstract operator fun hasNext(): R|kotlin/Boolean|
public abstract operator fun next(): R|T|
public abstract fun remove(): R|kotlin/Unit|
public abstract fun set(element: R|T|): R|kotlin/Unit|
}
public abstract interface MutableMap<K, V> : R|kotlin/collections/Map<K, V>| {
public abstract fun clear(): R|kotlin/Unit|
public abstract fun put(key: R|K|, value: R|V|): R|V?|
public abstract fun putAll(from: R|kotlin/collections/Map<out K, V>|): R|kotlin/Unit|
public abstract fun remove(key: R|K|): R|V?|
@R|kotlin/SinceKotlin|(version = String(1.1)) @R|kotlin/internal/PlatformDependent|() public open fun remove(key: R|K|, value: R|V|): R|kotlin/Boolean|
public abstract val entries: R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|
public get(): R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|
public abstract val keys: R|kotlin/collections/MutableSet<K>|
public get(): R|kotlin/collections/MutableSet<K>|
public abstract val values: R|kotlin/collections/MutableCollection<V>|
public get(): R|kotlin/collections/MutableCollection<V>|
public abstract interface MutableEntry<K, V> : R|kotlin/collections/Map.Entry<K, V>| {
public abstract fun setValue(newValue: R|V|): R|V|
}
}
public abstract interface MutableSet<E> : R|kotlin/collections/Set<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun clear(): R|kotlin/Unit|
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<E>|
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
}
public abstract interface Set<out E> : R|kotlin/collections/Collection<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
public abstract fun isEmpty(): R|kotlin/Boolean|
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
public abstract val size: R|kotlin/Int|
public get(): R|kotlin/Int|
}
public abstract class ShortIterator : R|kotlin/collections/Iterator<kotlin/Short>| {
public final operator fun next(): R|kotlin/Short|
public abstract fun nextShort(): R|kotlin/Short|
public constructor(): R|kotlin/collections/ShortIterator|
}
@@ -0,0 +1,261 @@
public open class CharProgression : R|kotlin/collections/Iterable<kotlin/Char>| {
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open operator fun iterator(): R|kotlin/collections/CharIterator|
public open fun toString(): R|kotlin/String|
public final val first: R|kotlin/Char|
public get(): R|kotlin/Char|
public final val last: R|kotlin/Char|
public get(): R|kotlin/Char|
public final val step: R|kotlin/Int|
public get(): R|kotlin/Int|
internal constructor(start: R|kotlin/Char|, endInclusive: R|kotlin/Char|, step: R|kotlin/Int|): R|kotlin/ranges/CharProgression|
public final companion object Companion : R|kotlin/Any| {
public final fun fromClosedRange(rangeStart: R|kotlin/Char|, rangeEnd: R|kotlin/Char|, step: R|kotlin/Int|): R|kotlin/ranges/CharProgression|
private constructor(): R|kotlin/ranges/CharProgression.Companion|
}
}
internal final class CharProgressionIterator : R|kotlin/collections/CharIterator| {
public open operator fun hasNext(): R|kotlin/Boolean|
public open fun nextChar(): R|kotlin/Char|
private final val finalElement: R|kotlin/Int|
private get(): R|kotlin/Int|
private final var hasNext: R|kotlin/Boolean|
private get(): R|kotlin/Boolean|
private set(value: R|kotlin/Boolean|): R|kotlin/Unit|
private final var next: R|kotlin/Int|
private get(): R|kotlin/Int|
private set(value: R|kotlin/Int|): R|kotlin/Unit|
public final val step: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(first: R|kotlin/Char|, last: R|kotlin/Char|, step: R|kotlin/Int|): R|kotlin/ranges/CharProgressionIterator|
}
public final class CharRange : R|kotlin/ranges/CharProgression|, R|kotlin/ranges/ClosedRange<kotlin/Char>| {
public open operator fun contains(value: R|kotlin/Char|): R|kotlin/Boolean|
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open fun toString(): R|kotlin/String|
public open val endInclusive: R|kotlin/Char|
public get(): R|kotlin/Char|
public open val start: R|kotlin/Char|
public get(): R|kotlin/Char|
public constructor(start: R|kotlin/Char|, endInclusive: R|kotlin/Char|): R|kotlin/ranges/CharRange|
public final companion object Companion : R|kotlin/Any| {
public final val EMPTY: R|kotlin/ranges/CharRange|
public get(): R|kotlin/ranges/CharRange|
private constructor(): R|kotlin/ranges/CharRange.Companion|
}
}
public abstract interface ClosedRange<T> : R|kotlin/Any| {
public open operator fun contains(value: R|T|): R|kotlin/Boolean|
public open fun isEmpty(): R|kotlin/Boolean|
public abstract val endInclusive: R|T|
public get(): R|T|
public abstract val start: R|T|
public get(): R|T|
}
public open class IntProgression : R|kotlin/collections/Iterable<kotlin/Int>| {
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open operator fun iterator(): R|kotlin/collections/IntIterator|
public open fun toString(): R|kotlin/String|
public final val first: R|kotlin/Int|
public get(): R|kotlin/Int|
public final val last: R|kotlin/Int|
public get(): R|kotlin/Int|
public final val step: R|kotlin/Int|
public get(): R|kotlin/Int|
internal constructor(start: R|kotlin/Int|, endInclusive: R|kotlin/Int|, step: R|kotlin/Int|): R|kotlin/ranges/IntProgression|
public final companion object Companion : R|kotlin/Any| {
public final fun fromClosedRange(rangeStart: R|kotlin/Int|, rangeEnd: R|kotlin/Int|, step: R|kotlin/Int|): R|kotlin/ranges/IntProgression|
private constructor(): R|kotlin/ranges/IntProgression.Companion|
}
}
internal final class IntProgressionIterator : R|kotlin/collections/IntIterator| {
public open operator fun hasNext(): R|kotlin/Boolean|
public open fun nextInt(): R|kotlin/Int|
private final val finalElement: R|kotlin/Int|
private get(): R|kotlin/Int|
private final var hasNext: R|kotlin/Boolean|
private get(): R|kotlin/Boolean|
private set(value: R|kotlin/Boolean|): R|kotlin/Unit|
private final var next: R|kotlin/Int|
private get(): R|kotlin/Int|
private set(value: R|kotlin/Int|): R|kotlin/Unit|
public final val step: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(first: R|kotlin/Int|, last: R|kotlin/Int|, step: R|kotlin/Int|): R|kotlin/ranges/IntProgressionIterator|
}
public final class IntRange : R|kotlin/ranges/IntProgression|, R|kotlin/ranges/ClosedRange<kotlin/Int>| {
public open operator fun contains(value: R|kotlin/Int|): R|kotlin/Boolean|
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open fun toString(): R|kotlin/String|
public open val endInclusive: R|kotlin/Int|
public get(): R|kotlin/Int|
public open val start: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(start: R|kotlin/Int|, endInclusive: R|kotlin/Int|): R|kotlin/ranges/IntRange|
public final companion object Companion : R|kotlin/Any| {
public final val EMPTY: R|kotlin/ranges/IntRange|
public get(): R|kotlin/ranges/IntRange|
private constructor(): R|kotlin/ranges/IntRange.Companion|
}
}
public open class LongProgression : R|kotlin/collections/Iterable<kotlin/Long>| {
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open operator fun iterator(): R|kotlin/collections/LongIterator|
public open fun toString(): R|kotlin/String|
public final val first: R|kotlin/Long|
public get(): R|kotlin/Long|
public final val last: R|kotlin/Long|
public get(): R|kotlin/Long|
public final val step: R|kotlin/Long|
public get(): R|kotlin/Long|
internal constructor(start: R|kotlin/Long|, endInclusive: R|kotlin/Long|, step: R|kotlin/Long|): R|kotlin/ranges/LongProgression|
public final companion object Companion : R|kotlin/Any| {
public final fun fromClosedRange(rangeStart: R|kotlin/Long|, rangeEnd: R|kotlin/Long|, step: R|kotlin/Long|): R|kotlin/ranges/LongProgression|
private constructor(): R|kotlin/ranges/LongProgression.Companion|
}
}
internal final class LongProgressionIterator : R|kotlin/collections/LongIterator| {
public open operator fun hasNext(): R|kotlin/Boolean|
public open fun nextLong(): R|kotlin/Long|
private final val finalElement: R|kotlin/Long|
private get(): R|kotlin/Long|
private final var hasNext: R|kotlin/Boolean|
private get(): R|kotlin/Boolean|
private set(value: R|kotlin/Boolean|): R|kotlin/Unit|
private final var next: R|kotlin/Long|
private get(): R|kotlin/Long|
private set(value: R|kotlin/Long|): R|kotlin/Unit|
public final val step: R|kotlin/Long|
public get(): R|kotlin/Long|
public constructor(first: R|kotlin/Long|, last: R|kotlin/Long|, step: R|kotlin/Long|): R|kotlin/ranges/LongProgressionIterator|
}
public final class LongRange : R|kotlin/ranges/LongProgression|, R|kotlin/ranges/ClosedRange<kotlin/Long>| {
public open operator fun contains(value: R|kotlin/Long|): R|kotlin/Boolean|
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun isEmpty(): R|kotlin/Boolean|
public open fun toString(): R|kotlin/String|
public open val endInclusive: R|kotlin/Long|
public get(): R|kotlin/Long|
public open val start: R|kotlin/Long|
public get(): R|kotlin/Long|
public constructor(start: R|kotlin/Long|, endInclusive: R|kotlin/Long|): R|kotlin/ranges/LongRange|
public final companion object Companion : R|kotlin/Any| {
public final val EMPTY: R|kotlin/ranges/LongRange|
public get(): R|kotlin/ranges/LongRange|
private constructor(): R|kotlin/ranges/LongRange.Companion|
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
@R|java/lang/annotation/Documented|() @R|javax/annotation/meta/TypeQualifierNickname|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) public abstract annotation class MyNullable : R|kotlin/Annotation| {
}
public open class NonNullNever : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) public open field field: R|kotlin/String?|
@R|MyNullable|() public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) x: R|kotlin/String?|, @R|MyNullable|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
public constructor(): R|NonNullNever|
}
@@ -0,0 +1,33 @@
// FOREIGN_ANNOTATIONS
// FILE: MyNullable.java
import javax.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Documented
@TypeQualifierNickname
@Nonnull(when = When.NEVER)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyNullable {
}
// FILE: NonNullNever.java
import javax.annotation.*;
import javax.annotation.meta.When;
public class NonNullNever {
@Nonnull(when = When.NEVER) public String field = null;
@MyNullable
public String foo(@Nonnull(when = When.NEVER) String x, @MyNullable CharSequence y) {
return "";
}
}
@@ -0,0 +1,10 @@
public open class Simple : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|Simple|
}
@@ -0,0 +1,17 @@
// FOREIGN_ANNOTATIONS
import javax.annotation.*;
public class Simple {
@Nullable public String field = null;
@Nullable
public String foo(@Nonnull String x, @CheckForNull CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
@@ -0,0 +1,10 @@
public open class Strange : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) public open field field: R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.ALWAYS|()) x: R|kotlin/String|, @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|Strange|
}
@@ -0,0 +1,18 @@
// FOREIGN_ANNOTATIONS
import javax.annotation.*;
import javax.annotation.meta.*;
public class Strange {
@Nonnull(when=When.UNKNOWN) public String field = null;
@Nonnull(when=When.MAYBE)
public String foo(@Nonnull(when=When.ALWAYS) String x, @Nonnull(when=When.NEVER) CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
@@ -0,0 +1,14 @@
@R|FieldsAreNullable|() public open class A : R|kotlin/Any| {
public open field field: R|kotlin/String?|
@R|javax/annotation/Nonnull|() public open field nonNullField: R|kotlin/String|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|A|
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/CheckForNull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class FieldsAreNullable : R|kotlin/Annotation| {
}
@@ -0,0 +1,39 @@
// FOREIGN_ANNOTATIONS
// FILE: FieldsAreNullable.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.CheckForNull;
import javax.annotation.meta.TypeQualifierDefault;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@CheckForNull
@TypeQualifierDefault({ElementType.FIELD})
public @interface FieldsAreNullable {
}
// FILE: A.java
import javax.annotation.*;
@FieldsAreNullable
public class A {
public String field = null;
@Nonnull
public String nonNullField = "";
public String foo(String q, @Nonnull String x, @CheckForNull CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
@@ -0,0 +1,16 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any| {
public open fun foo(x: R|kotlin/String|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|kotlin/String|
@R|spr/ForceFlexibility|() public open fun bar(x: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() y: R|kotlin/CharSequence|): R|ft<kotlin/String, kotlin/String?>!|
public constructor(): R|A|
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|spr/UnknownNullability|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class ForceFlexibility : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.TYPE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) @R|javax/annotation/meta/TypeQualifierNickname|() public abstract annotation class Nullable : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Documented|() @R|javax/annotation/meta/TypeQualifierNickname|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) public abstract annotation class UnknownNullability : R|kotlin/Annotation| {
}
@@ -0,0 +1,99 @@
// FOREIGN_ANNOTATIONS
// FILE: spr/Nullable.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Target({ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull(when = When.MAYBE)
@TypeQualifierNickname
public @interface Nullable {
}
// FILE: spr/NonNullApi.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface NonNullApi {
}
// FILE: spr/UnknownNullability.java
package spr;
import javax.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Documented
@TypeQualifierNickname
@Nonnull(when = When.UNKNOWN)
@Retention(RetentionPolicy.RUNTIME)
public @interface UnknownNullability {
}
// FILE: spr/ForceFlexibility.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
import javax.annotation.meta.When;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@UnknownNullability
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface ForceFlexibility {
}
// FILE: A.java
import spr.*;
@NonNullApi
public class A {
public String foo(String x, @Nullable CharSequence y) {
return "";
}
@ForceFlexibility
public String bar(String x, @javax.annotation.Nonnull CharSequence y) {
return "";
}
}
@@ -0,0 +1,28 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any|, R|B| {
@R|spr/ForceFlexibility|() public open fun foo(x: R|kotlin/String|): R|kotlin/Unit|
public open fun bar(@R|spr/ForceFlexibility|() x: R|kotlin/String|): R|kotlin/Unit|
public open fun baz(@R|spr/UnknownNullability|() x: R|kotlin/String|): R|kotlin/Unit|
public open fun foobar(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) x: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
}
public abstract interface B : R|kotlin/Any| {
public abstract fun foo(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
public abstract fun bar(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
public abstract fun foobar(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|spr/UnknownNullability|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class ForceFlexibility : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.TYPE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Documented|() @R|javax/annotation/meta/TypeQualifierNickname|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) public abstract annotation class UnknownNullability : R|kotlin/Annotation| {
}
@@ -0,0 +1,82 @@
// FOREIGN_ANNOTATIONS
// FILE: spr/NonNullApi.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface NonNullApi {
}
// FILE: spr/UnknownNullability.java
package spr;
import javax.annotation.*;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Documented
@TypeQualifierNickname
@Nonnull(when = When.UNKNOWN)
@Retention(RetentionPolicy.RUNTIME)
public @interface UnknownNullability {
}
// FILE: spr/ForceFlexibility.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
import javax.annotation.meta.When;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@UnknownNullability
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface ForceFlexibility {
}
// FILE: B.java
public interface B {
public void foo(@javax.annotation.Nonnull String x);
public void bar(@javax.annotation.Nonnull String x);
public void baz(@javax.annotation.Nonnull String x);
public void foobar(@javax.annotation.Nonnull String x);
}
// FILE: A.java
import spr.*;
@NonNullApi
public class A implements B {
@ForceFlexibility
public void foo(String x) {}
public void bar(@ForceFlexibility String x) {}
public void baz(@UnknownNullability String x) {}
public void foobar(@javax.annotation.Nonnull(when = javax.annotation.meta.When.UNKNOWN) String x) {}
}
@@ -0,0 +1,60 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
public open fun foo2(x: R|kotlin/String|): R|kotlin/String|
public open fun foo3(x: R|kotlin/String|): R|kotlin/String|
@R|javax/annotation/Nullable|() public open fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
public open fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
public constructor(): R|A|
}
@R|NonNullApi|() public abstract interface AInt : R|kotlin/Any| {
public abstract fun foo1(x: R|kotlin/String|): R|kotlin/CharSequence|
public abstract fun foo2(x: R|kotlin/String|): R|kotlin/CharSequence|
public abstract fun foo3(x: R|kotlin/String|): R|kotlin/CharSequence|
@R|javax/annotation/Nullable|() public abstract fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/CharSequence|
}
@R|NullableApi|() public open class B : R|A|, R|AInt| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
@R|javax/annotation/Nonnull|() public open fun foo2(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
public open fun baz(x: R|kotlin/String|): R|kotlin/String|
public constructor(): R|B|
}
@R|NonNullApi|() public open class C : R|A|, R|AInt| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
public open fun baz(x: R|kotlin/String|): R|kotlin/String|
public constructor(): R|C|
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.TYPE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|(), R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.TYPE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/CheckForNull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|(), R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class NullableApi : R|kotlin/Annotation| {
}
@@ -0,0 +1,131 @@
// FOREIGN_ANNOTATIONS
// FILE: NonNullApi.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
public @interface NonNullApi {
}
// FILE: NullableApi.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.CheckForNull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@CheckForNull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
public @interface NullableApi {
}
// FILE: A.java
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
@NonNullApi
public class A {
public String foo1(String x) { return ""; }
public String foo2(String x) { return ""; }
public String foo3(String x) { return ""; }
@Nullable
public String bar1(@Nullable String x) { return ""; }
@Nullable
public String bar2(@Nullable String x) { return ""; }
public String baz(@Nonnull String x) { return ""; }
}
// FILE: AInt.java
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
@NonNullApi
public interface AInt {
public CharSequence foo1(String x);
public CharSequence foo2(String x);
public CharSequence foo3(String x);
@Nullable
public CharSequence bar1(@Nullable String x);
@Nullable
public CharSequence bar2(@Nullable String x);
public CharSequence baz(@Nonnull String x);
}
// FILE: B.java
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
@NullableApi
public class B extends A implements AInt {
// conflicts
public String foo1(String x) { return ""; }
// no conflicts
@Nonnull
public String foo2(@Nonnull String x) { return ""; }
// fake override for foo3 shouldn't have any conflicts
// no conflicts
public String bar1(String x) { return ""; }
// conflicts
public String baz(String x) { return ""; }
}
// FILE: C.java
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
@NonNullApi
public class C extends A implements AInt {
// no conflicts
public String foo1(String x) { return ""; }
// no conflicts
public String foo2(@Nonnull String x) { return ""; }
// fake override for foo3 shouldn't have any conflicts
// no conflicts, covariant override
public String bar1(String x) { return ""; }
// no conflicts
@Nullable
public String bar2(@Nullable String x) { return ""; }
// no conflicts
public String baz(String x) { return ""; }
}
@@ -0,0 +1,20 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| {
public open field field: R|kotlin/String|
public open fun foo(x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String|
@R|NullableApi|() public open fun foobar(x: R|kotlin/String?|, @R|NonNullApi|() y: R|kotlin/CharSequence|): R|kotlin/String?|
public open fun bar(): R|kotlin/String|
@R|javax/annotation/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|A|
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/CheckForNull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class FieldsAreNullable : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|(), R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/CheckForNull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|(), R|java/lang/annotation/ElementType.FIELD|())) public abstract annotation class NullableApi : R|kotlin/Annotation| {
}
@@ -0,0 +1,128 @@
// FOREIGN_ANNOTATIONS
// FILE: NonNullApi.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
public @interface NonNullApi {
}
// FILE: NullableApi.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.CheckForNull;
import javax.annotation.meta.TypeQualifierDefault;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@CheckForNull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
public @interface NullableApi {
}
// FILE: FieldsAreNullable.java
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.CheckForNull;
import javax.annotation.meta.TypeQualifierDefault;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@CheckForNull
@TypeQualifierDefault({ElementType.FIELD})
public @interface FieldsAreNullable {
}
// FILE: A.java
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
@NonNullApi
public class A {
public String field = null;
public String foo(String x, @CheckForNull CharSequence y) {
return "";
}
@NullableApi
public String foobar(String x, @NonNullApi CharSequence y) {
return "";
}
public String bar() {
return "";
}
@Nullable
public java.util.List<String> baz() {
return null;
}
@NullableApi
public class B {
public String field = null;
public String foo(String x, @Nonnull CharSequence y) {
return "";
}
@NonNullApi
public String foobar(String x, @NullableApi CharSequence y) {
return "";
}
public String bar() {
return "";
}
@Nullable
public java.util.List<String> baz() {
return null;
}
}
@FieldsAreNullable
public class C {
public String field = null;
public String foo(String x, @Nullable CharSequence y) {
return "";
}
@NullableApi
public String foobar(String x, @Nullable CharSequence y) {
return "";
}
public String bar() {
return "";
}
@Nullable
public java.util.List<String> baz() {
return null;
}
}
}
@@ -0,0 +1,10 @@
@R|javax/annotation/ParametersAreNonnullByDefault|() public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
public open fun foo(q: R|kotlin/String|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|A|
}
@@ -0,0 +1,20 @@
// FOREIGN_ANNOTATIONS
// FILE: A.java
import javax.annotation.*;
@ParametersAreNonnullByDefault
public class A {
@Nullable public String field = null;
public String foo(String q, @Nonnull String x, @CheckForNull CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
@@ -0,0 +1,20 @@
public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|test/A|
}
public open class A2 : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
public constructor(): R|test2/A2|
}
@@ -0,0 +1,45 @@
// FOREIGN_ANNOTATIONS
// FILE: test/package-info.java
@javax.annotation.ParametersAreNonnullByDefault()
package test;
// FILE: test/A.java
package test;
import javax.annotation.*;
public class A {
@Nullable public String field = null;
public String foo(String q, @Nonnull String x, @CheckForNull CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
// FILE: test2/A2.java
package test2;
import javax.annotation.*;
public class A2 {
@Nullable public String field = null;
public String foo(String q, @Nonnull String x, @CheckForNull CharSequence y) {
return "";
}
@Nonnull
public String bar() {
return "";
}
}
@@ -0,0 +1,16 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any| {
public open field field: R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(x: R|kotlin/String|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|kotlin/String|
public open fun bar(): R|kotlin/String|
@R|spr/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|A|
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.TYPE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) @R|javax/annotation/meta/TypeQualifierNickname|() public abstract annotation class Nullable : R|kotlin/Annotation| {
}
@@ -0,0 +1,65 @@
// FOREIGN_ANNOTATIONS
// FILE: spr/Nullable.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Target({ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull(when = When.MAYBE)
@TypeQualifierNickname
public @interface Nullable {
}
// FILE: spr/NonNullApi.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface NonNullApi {
}
// FILE: A.java
import spr.*;
@NonNullApi
public class A {
public String field = null;
public String foo(String x, @Nullable CharSequence y) {
return "";
}
public String bar() {
return "";
}
@Nullable
public java.util.List<String> baz() {
return null;
}
}
@@ -0,0 +1,16 @@
public open class A : R|kotlin/Any| {
public open field field: R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(x: R|ft<kotlin/String, kotlin/String?>!|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun bar(): R|ft<kotlin/String, kotlin/String?>!|
@R|spr/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|test/A|
}
@R|java/lang/annotation/Target|(R|java/lang/annotation/ElementType.PACKAGE|()) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class NonNullApi : R|kotlin/Annotation| {
}
@R|java/lang/annotation/Target|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) @R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) @R|javax/annotation/meta/TypeQualifierNickname|() public abstract annotation class Nullable : R|kotlin/Annotation| {
}
@@ -0,0 +1,71 @@
// FOREIGN_ANNOTATIONS
// FILE: spr/Nullable.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;
@Target({ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull(when = When.MAYBE)
@TypeQualifierNickname
public @interface Nullable {
}
// FILE: spr/NonNullApi.java
package spr;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
@Target(ElementType.PACKAGE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Nonnull
@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER})
public @interface NonNullApi {
}
// FILE: test/package-info.java
@spr.NonNullApi()
package test;
// FILE: test/A.java
package test;
import spr.*;
public class A {
public String field = null;
public String foo(String x, @Nullable CharSequence y) {
return "";
}
public String bar() {
return "";
}
@Nullable
public java.util.List<String> baz() {
return null;
}
}
@@ -0,0 +1,4 @@
public abstract class AbstractMap : R|kotlin/Any|, R|kotlin/collections/MutableMap<ft<kotlin/String, kotlin/String?>!, ft<kotlin/String, kotlin/String?>!>| {
public constructor(): R|AbstractMap|
}
@@ -0,0 +1,3 @@
public abstract class AbstractMap implements java.util.Map<String, String> {
}
@@ -0,0 +1 @@
Most FIR enhancement tests use compiler/testData/loadJava/compilerJava
@@ -0,0 +1,36 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun a(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(HELLO)) arg: R|ft<Signs, Signs?>!| = R|/Signs.HELLO|): R|ft<Signs, Signs?>!|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(X)) arg: R|ft<Signs, Signs?>!| = R|/Signs.X|): R|ft<Signs, Signs?>!|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<Signs, Signs?>!|): R|ft<Signs, Signs?>!|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<Mixed, Mixed?>!| = R|/Mixed.NOT_ENTRY_EITHER|): R|ft<Mixed, Mixed?>!|
public/*package*/ constructor(): R|A|
}
public final enum class Mixed : R|kotlin/Enum<ft<Mixed, Mixed?>!>| {
public final static field NOT_ENTRY_EITHER: R|ft<Mixed, Mixed?>!|
public final static fun values(): R|kotlin/Array<Mixed>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|Mixed| {
}
}
public final enum class Signs : R|kotlin/Enum<ft<Signs, Signs?>!>| {
public final static field HELLO: R|ft<Signs, Signs?>!|
public final static field WORLD: R|ft<Signs, Signs?>!|
public final static field X: R|ft<Signs, Signs?>!|
public final static fun values(): R|kotlin/Array<Signs>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|Signs| {
}
}
@@ -0,0 +1,39 @@
// FILE: Signs.java
// ANDROID_ANNOTATIONS
public enum Signs {
HELLO,
WORLD;
public static final Signs X;
public static final class NOT_ENTRY_EITHER {}
}
// FILE: Mixed.java
public enum Mixed {
NOT_ENTRY_EITHER;
public static final class NOT_ENTRY_EITHER {}
}
// FILE: A.java
import kotlin.annotations.jvm.internal.*;
class A {
public Signs a(@DefaultValue("HELLO") Signs arg) {
return arg;
}
public Signs bar(@DefaultValue("X") Signs arg) {
return arg;
}
public Signs baz(@DefaultValue("NOT_ENTRY_EITHER") Signs arg) {
return arg;
}
public Mixed bam(@DefaultValue("NOT_ENTRY_EITHER") Mixed arg) {
return arg;
}
}
@@ -0,0 +1,24 @@
public open class A : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x1F)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0X1F)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b1010)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1010)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public constructor(): R|A|
}
public open class B : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0xZZ)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1234)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public constructor(): R|B|
}
@@ -0,0 +1,36 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
public class A {
public void first(@DefaultValue("0x1F") Long value) {
}
public void second(@DefaultValue("0X1F") Long value) {
}
public void third(@DefaultValue("0b1010") Long value) {
}
public void fourth(@DefaultValue("0B1010") Long value) {
}
}
// FILE: B.java
import kotlin.annotations.jvm.internal.*;
public class B {
public void first(@DefaultValue("0x") Long value) {
}
public void second(@DefaultValue("0xZZ") Long value) {
}
public void third(@DefaultValue("0b") Long value) {
}
public void fourth(@DefaultValue("0B1234") Long value) {
}
}
@@ -0,0 +1,14 @@
public open class A : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|kotlin/Int| = Null(null)): R|kotlin/Unit|
public constructor(): R|A|
}
public open class B<T> : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() t: R|ft<T, T?>!| = Null(null)): R|kotlin/Unit|
public constructor<T>(): R|B<T>|
}
@@ -0,0 +1,17 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
public class A {
public void foo(@DefaultNull Integer x) {}
public void bar(@DefaultNull int x) {}
}
// FILE: B.java
import kotlin.annotations.jvm.internal.*;
public class B<T> {
public void foo(@DefaultNull T t) { }
}
@@ -0,0 +1,32 @@
public open class A : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() i: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public constructor(): R|A|
}
public abstract interface AInt : R|kotlin/Any| {
public abstract fun foo(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) i: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public abstract fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
}
public open class B : R|A| {
public open fun foo(i: R|ft<kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() @R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public constructor(): R|B|
}
public open class C : R|A|, R|AInt| {
public constructor(): R|C|
}
@@ -0,0 +1,38 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
public class A {
public void foo(@DefaultNull Integer i) {}
public void bar(@DefaultNull Integer a) {}
public void bam(@DefaultNull Integer a) {}
public void baz(@DefaultValue("42") Integer a) {}
}
// FILE: AInt.java
import kotlin.annotations.jvm.internal.*;
public interface AInt {
public void foo(@DefaultValue("42") Integer i) {}
public void bar(@DefaultNull Integer a) {}
}
// FILE: B.java
import kotlin.annotations.jvm.internal.*;
public class B extends A {
public void foo(Integer i) {}
public void bar(@DefaultValue("42") Integer a) {}
public void bam(@DefaultNull @DefaultValue("42") Integer a) {}
}
// FILE: C.java
public class C extends A implements AInt {
}
@@ -0,0 +1,14 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) value: R|ft<kotlin/String, kotlin/String?>!| = String(hello)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<kotlin/String, kotlin/String?>!| = String(first), @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) b: R|ft<kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<kotlin/String, kotlin/String?>!| = String(first), b: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun fourth(first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) second: R|ft<kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun wrong(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) i: R|ft<kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public/*package*/ constructor(): R|A|
}
@@ -0,0 +1,23 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
class A {
public void first(@DefaultValue("hello") String value) {
}
public void second(@DefaultValue("first") String a, @DefaultValue("second") String b) {
}
public void third(@DefaultValue("first") String a, String b) {
}
public void fourth(String first, @DefaultValue("second") String second) {
}
public void wrong(@DefaultValue("hello") Integer i) {
}
}
@@ -0,0 +1,10 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun emptyName(@R|kotlin/annotations/jvm/internal/ParameterName|(String()) first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|kotlin/Int|): R|kotlin/Unit|
public open fun missingName(@R|kotlin/annotations/jvm/internal/ParameterName|() first: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(Int(42)) first: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public/*package*/ constructor(): R|A|
}
@@ -0,0 +1,16 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
class A {
public void emptyName(@ParameterName("") String first, @ParameterName("ok") int second) {
}
public void missingName(@ParameterName() String first) {
}
public void numberName(@ParameterName(42) String first) {
}
}
@@ -0,0 +1,6 @@
public open class A : R|kotlin/Any| {
public open fun connect(@R|kotlin/annotations/jvm/internal/ParameterName|(String(host)) host: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(port)) port: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -0,0 +1,10 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
public class A {
public void connect(@ParameterName("host") String host, @ParameterName("port") int port) {
}
}
@@ -0,0 +1,6 @@
public open class A : R|kotlin/Any| {
public open fun same(@R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -0,0 +1,10 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
public class A {
public void same(@ParameterName("ok") String first, @ParameterName("ok") String second) {
}
}
@@ -0,0 +1,8 @@
public open class A : R|kotlin/Any| {
public open fun dollarName(@R|kotlin/annotations/jvm/internal/ParameterName|(String($)) host: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(String(42)) field: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -0,0 +1,13 @@
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
import kotlin.internal.*;
public class A {
public void dollarName(@ParameterName("$") String host) {
}
public void numberName(@ParameterName("42") String field) {
}
}
@@ -0,0 +1,6 @@
public/*package*/ open class A : R|kotlin/Any| {
public open static fun withDefault(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(OK)) arg: R|ft<kotlin/String, kotlin/String?>!| = String(OK)): R|ft<kotlin/String, kotlin/String?>!|
public/*package*/ constructor(): R|A|
}
@@ -0,0 +1,13 @@
// IGNORE_BACKEND: JS, NATIVE
// FILE: A.java
// ANDROID_ANNOTATIONS
import kotlin.annotations.jvm.internal.*;
class A {
public static String withDefault(@DefaultValue("OK") String arg) {
return arg;
}
}
@@ -0,0 +1,5 @@
interface A<T, V : CharSequence>
class B : A<Int, String>
// LIGHT_CLASS_FQ_NAME: A, B
@@ -0,0 +1,4 @@
public interface A <T extends java.lang.Object, V extends java.lang.Object> extends java.lang.Object {
}
public final class B implements A<java.lang.Integer, java.lang.String> {
}
@@ -0,0 +1,8 @@
interface A<T>
class B<E> {
inner class C : A<E>
class D : A<String>
}
// LIGHT_CLASS_FQ_NAME: B
@@ -0,0 +1,7 @@
public final class B <E extends java.lang.Object> extends java.lang.Object {
public final class C implements A<E> {
}
public static final class D implements A<java.lang.String> {
}
}
@@ -0,0 +1,11 @@
// FILE: a.kt
package a
interface A
// FILE: b.kt
package b
interface B : a.A
class C : B
// LIGHT_CLASS_FQ_NAME: b.B, b.C
@@ -0,0 +1,5 @@
public interface B extends a.A {
}
public final class C implements b.B {
}
@@ -0,0 +1,16 @@
interface A<T>
interface Pair<T1, T2>
interface Triple<T1, T2, T3>
class B1 : A<String>
class B2 : A<Pair<in String, out String>>
class B3 : A<A<*>>
class B4 : A<A<String>>
class B5 : A<List<A<*>>>
class B6 : A<Int>
class B7 : A<IntArray>
class B8 : A<Array<String>>
class B9 : A<Array<Int>>
class B10 : A<Array<IntArray>>
// LIGHT_CLASS_FQ_NAME: B1, B2, B3, B4, B5, B6, B7, B8, B9, B10
@@ -0,0 +1,20 @@
public final class B1 implements A<java.lang.String> {
}
public final class B2 implements A<Pair<? super java.lang.String, ? extends java.lang.String>> {
}
public final class B3 implements A<A<?>> {
}
public final class B4 implements A<A<java.lang.String>> {
}
public final class B5 implements A<java.util.List<A<?>>> {
}
public final class B6 implements A<java.lang.Integer> {
}
public final class B7 implements A<int[]> {
}
public final class B8 implements A<java.lang.String[]> {
}
public final class B9 implements A<java.lang.Integer[]> {
}
public final class B10 implements A<int[][]> {
}
@@ -0,0 +1,4 @@
@R|test/AnnotatedAnnotation|() public final annotation class AnnotatedAnnotation : R|kotlin/Annotation| {
public constructor(): R|test/AnnotatedAnnotation|
}
@@ -0,0 +1,6 @@
public open class AnnotatedMethod : R|kotlin/Any| {
public open fun f(): R|kotlin/Unit|
public constructor(): R|test/AnnotatedMethod|
}
@@ -0,0 +1,44 @@
@R|test/OptionGroups|(o1 = @R|test/StringOptions|(option = <implicitArrayOf>(String(abc), String(d), String(ef))) , o2 = @R|test/EnumOption|(option = R|test/E.ENTRY|()) ) public final class AnnotationInAnnotationArguments : R|kotlin/Any| {
public constructor(): R|test/AnnotationInAnnotationArguments|
}
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final static enum entry ENTRY: R|test/E|
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
}
public final annotation class EnumOption : R|kotlin/Annotation| {
public final val option: R|test/E|
public get(): R|test/E|
public constructor(option: R|test/E|): R|test/EnumOption|
}
public final annotation class OptionGroups : R|kotlin/Annotation| {
public final val o1: R|test/StringOptions|
public get(): R|test/StringOptions|
public final val o2: R|test/EnumOption|
public get(): R|test/EnumOption|
public constructor(o1: R|test/StringOptions|, o2: R|test/EnumOption|): R|test/OptionGroups|
}
public final annotation class StringOptions : R|kotlin/Annotation| {
public final val option: R|kotlin/Array<out kotlin/String>|
public get(): R|kotlin/Array<out kotlin/String>|
public constructor(vararg option: R|kotlin/Array<out kotlin/String>|): R|test/StringOptions|
}
@@ -0,0 +1,21 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val d2arKlass: R|kotlin/reflect/KClass<kotlin/Array<kotlin/DoubleArray>>|
public get(): R|kotlin/reflect/KClass<kotlin/Array<kotlin/DoubleArray>>|
public final val klass: R|kotlin/reflect/KClass<*>|
public get(): R|kotlin/reflect/KClass<*>|
public final val klasses: R|kotlin/Array<kotlin/reflect/KClass<*>>|
public get(): R|kotlin/Array<kotlin/reflect/KClass<*>>|
public final val sarKlass: R|kotlin/reflect/KClass<kotlin/Array<kotlin/String>>|
public get(): R|kotlin/reflect/KClass<kotlin/Array<kotlin/String>>|
public constructor(klass: R|kotlin/reflect/KClass<*>|, klasses: R|kotlin/Array<kotlin/reflect/KClass<*>>|, sarKlass: R|kotlin/reflect/KClass<kotlin/Array<kotlin/String>>|, d2arKlass: R|kotlin/reflect/KClass<kotlin/Array<kotlin/DoubleArray>>|): R|test/Anno|
}
@R|test/Anno|(klass = <getClass>(<getClass>(R|kotlin/String|)), klasses = <implicitArrayOf>(<getClass>(R|kotlin/Int|), <getClass>(R|kotlin/String|), <getClass>(R|kotlin/Float|)), sarKlass = <getClass>(<getClass>(R|kotlin/String|)), d2arKlass = <getClass>(<getClass>(R|kotlin/DoubleArray|))) public final class Klass : R|kotlin/Any| {
public constructor(): R|test/Klass|
}
@@ -0,0 +1,35 @@
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final static enum entry CAKE: R|test/E|
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
}
public final annotation class EnumAnno : R|kotlin/Annotation| {
public final val value: R|test/E|
public get(): R|test/E|
public constructor(value: R|test/E|): R|test/EnumAnno|
}
public final class EnumArgumentWithCustomToString : R|kotlin/Any| {
public final fun annotated(): R|kotlin/Unit|
public constructor(): R|test/EnumArgumentWithCustomToString|
}
public final annotation class EnumArrayAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Array<out test/E>|
public get(): R|kotlin/Array<out test/E>|
public constructor(vararg value: R|kotlin/Array<out test/E>|): R|test/EnumArrayAnno|
}
@@ -0,0 +1,15 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val s: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(s: R|kotlin/String|): R|test/Anno|
}
public abstract interface T : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Array<kotlin/Array<kotlin/Array<test/T>>>|
public abstract val bar: R|kotlin/Array<kotlin/Array<kotlin/BooleanArray>>|
public get(): R|kotlin/Array<kotlin/Array<kotlin/BooleanArray>>|
}
@@ -0,0 +1,33 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val booleans: R|kotlin/BooleanArray|
public get(): R|kotlin/BooleanArray|
public final val bytes: R|kotlin/ByteArray|
public get(): R|kotlin/ByteArray|
public final val chars: R|kotlin/CharArray|
public get(): R|kotlin/CharArray|
public final val doubles: R|kotlin/DoubleArray|
public get(): R|kotlin/DoubleArray|
public final val floats: R|kotlin/FloatArray|
public get(): R|kotlin/FloatArray|
public final val ints: R|kotlin/IntArray|
public get(): R|kotlin/IntArray|
public final val longs: R|kotlin/LongArray|
public get(): R|kotlin/LongArray|
public final val shorts: R|kotlin/ShortArray|
public get(): R|kotlin/ShortArray|
public constructor(bytes: R|kotlin/ByteArray|, shorts: R|kotlin/ShortArray|, ints: R|kotlin/IntArray|, longs: R|kotlin/LongArray|, chars: R|kotlin/CharArray|, floats: R|kotlin/FloatArray|, doubles: R|kotlin/DoubleArray|, booleans: R|kotlin/BooleanArray|): R|test/Anno|
}
@R|test/Anno|(bytes = <implicitArrayOf>(Byte(42), Byte(-1)), shorts = <implicitArrayOf>(Short(-42), Short(0)), ints = <implicitArrayOf>(Int(42), Int(239)), longs = <implicitArrayOf>(Long(42), Long(239)), chars = <implicitArrayOf>(Char(a), Char(Z)), floats = <implicitArrayOf>(Float(2.72), Float(0.0)), doubles = <implicitArrayOf>(Double(42.0), Double(-3.14)), booleans = <implicitArrayOf>(Boolean(true), Boolean(false))) public final class Klass : R|kotlin/Any| {
public constructor(): R|test/Klass|
}
@@ -0,0 +1,4 @@
public final annotation class SimpleAnnotation : R|kotlin/Annotation| {
public constructor(): R|test/SimpleAnnotation|
}
@@ -0,0 +1,4 @@
@R|kotlin/annotation/Target|(allowedTargets = <implicitArrayOf>(R|kotlin/annotation/AnnotationTarget.CLASS|())) public final annotation class TargetedAnnotation : R|kotlin/Annotation| {
public constructor(): R|test/TargetedAnnotation|
}
@@ -0,0 +1,18 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public final companion object Companion : R|kotlin/Any| {
public final var property: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
private constructor(): R|test/Class.Companion|
}
}
@@ -0,0 +1,12 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val value: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(value: R|kotlin/String|): R|test/Anno|
}
public final class Constructor : R|kotlin/Any| {
public constructor(): R|test/Constructor|
}
@@ -0,0 +1,12 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final val x: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(): R|test/Class|
}
@@ -0,0 +1,18 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val t: R|java/lang/annotation/ElementType|
public get(): R|java/lang/annotation/ElementType|
public constructor(t: R|java/lang/annotation/ElementType|): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final fun foo(): R|kotlin/Unit|
public final var bar: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|test/Class|
}
@@ -0,0 +1,31 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val value: R|kotlin/String|
public get(): R|kotlin/String|
public final val x: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(value: R|kotlin/String| = STUB, x: R|kotlin/Int| = STUB): R|test/Anno|
}
public final annotation class Bnno : R|kotlin/Annotation| {
public constructor(): R|test/Bnno|
}
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
private constructor(): R|test/Eee|
public final static enum entry Entry1: R|test/Eee|
public final static enum entry Entry2: R|test/Eee|
public final static enum entry Entry3: R|test/Eee|
public final static enum entry Entry4: R|test/Eee|
public final static fun values(): R|kotlin/Array<test/Eee>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Eee| {
}
}
@@ -0,0 +1,11 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final fun foo(): R|kotlin/Unit|
public constructor(): R|test/Class|
}
@@ -0,0 +1,12 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final val property: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(): R|test/Class|
}
@@ -0,0 +1,43 @@
public final annotation class Ann : R|kotlin/Annotation| {
public constructor(): R|test/Ann|
}
public sealed class Sealed : R|kotlin/Any| {
public final val z: R|test/Z|
public get(): R|test/Z|
private constructor(z: R|test/Z|): R|test/Sealed|
public final class Derived : R|test/Sealed| {
public constructor(z: R|test/Z|): R|test/Sealed.Derived|
}
}
public final class Test : R|kotlin/Any| {
public final val z: R|test/Z|
public get(): R|test/Z|
public constructor(z: R|test/Z|, a: R|kotlin/Int|): R|test/Test|
private constructor(z: R|test/Z|, s: R|kotlin/String|): R|test/Test|
public constructor(z: R|test/Z|): R|test/Test|
}
public final inline class Z : R|kotlin/Any| {
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun toString(): R|kotlin/String|
public final val x: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(x: R|kotlin/Int|): R|test/Z|
}
@@ -0,0 +1,13 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final var property: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|test/Class|
}
@@ -0,0 +1,13 @@
public final inline class Z : R|kotlin/Any| {
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun toString(): R|kotlin/String|
public final val value: R|kotlin/Int|
public get(): R|kotlin/Int|
internal constructor(value: R|kotlin/Int|): R|test/Z|
}
@@ -0,0 +1,13 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public final var property: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|test/Class|
}
@@ -0,0 +1,29 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/A.Companion|
public final annotation class Anno1 : R|kotlin/Annotation| {
public constructor(): R|test/A.Companion.Anno1|
}
public final class B : R|kotlin/Any| {
public constructor(): R|test/A.Companion.B|
public final annotation class Anno2 : R|kotlin/Annotation| {
public constructor(): R|test/A.Companion.B.Anno2|
}
}
}
}
@R|test/A.Companion.Anno1|() @R|test/A.Companion.B.Anno2|() public final class C : R|kotlin/Any| {
public constructor(): R|test/C|
}
@@ -0,0 +1,19 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
@R|test/Anno|() public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Class.Companion.Nested|
}
}
}
@@ -0,0 +1,14 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|() public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
}
}
@@ -0,0 +1,17 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final class B : R|kotlin/Any| {
public constructor(): R|test/A.B|
public final companion object Companion : R|kotlin/Any| {
public final val TEST: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|test/A.B.Companion|
}
}
}
@@ -0,0 +1,17 @@
public final data class My : R|kotlin/Any| {
public final operator fun component1(): R|kotlin/Int|
public final fun copy(x: R|kotlin/Int| = STUB): R|test/My|
public open operator fun equals(other: R|kotlin/Any?|): R|kotlin/Boolean|
public open fun hashCode(): R|kotlin/Int|
public open fun toString(): R|kotlin/String|
public final val x: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(x: R|kotlin/Int|): R|test/My|
}
@@ -0,0 +1,19 @@
@R|kotlin/Deprecated|(message = String(Class)) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|kotlin/Deprecated|(message = String(companion object)) public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
}
@R|kotlin/Deprecated|(message = String(Inner)) public final inner class Inner : R|kotlin/Any| {
public constructor(): R|test/Class.Inner|
}
@R|kotlin/Deprecated|(message = String(Nested)) public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Class.Nested|
}
}
@@ -0,0 +1,19 @@
public final annotation class $$$$$$ : R|kotlin/Annotation| {
public constructor(): R|test/$$$$$$|
}
@R|test/$$$$$$|() public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
}
public final annotation class Anno$tation : R|kotlin/Annotation| {
public constructor(): R|test/Anno$tation|
}
@R|test/Anno$tation|() public final class Cla$s : R|kotlin/Any| {
public constructor(): R|test/Cla$s|
}
@@ -0,0 +1,27 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val t: R|java/lang/annotation/ElementType|
public get(): R|java/lang/annotation/ElementType|
public constructor(t: R|java/lang/annotation/ElementType|): R|test/Anno|
}
@R|test/Anno|(t = R|java/lang/annotation/ElementType.METHOD|()) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|(t = R|java/lang/annotation/ElementType.ANNOTATION_TYPE|()) public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
}
@R|test/Anno|(t = R|java/lang/annotation/ElementType.PARAMETER|()) public final inner class Inner : R|kotlin/Any| {
public constructor(): R|test/Class.Inner|
}
@R|test/Anno|(t = R|java/lang/annotation/ElementType.TYPE|()) public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Class.Nested|
}
}
@@ -0,0 +1,19 @@
public final annotation class A1 : R|kotlin/Annotation| {
public constructor(): R|test/A1|
}
public final annotation class A2 : R|kotlin/Annotation| {
public constructor(): R|test/A2|
}
public final annotation class A3 : R|kotlin/Annotation| {
public constructor(): R|test/A3|
}
@R|test/A1|() @R|test/A2|() @R|test/A3|() public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
}
@@ -0,0 +1,16 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/A.Anno|
}
}
@R|test/A.Anno|() public final class B : R|kotlin/Any| {
public final fun f(): R|kotlin/Unit|
public constructor(): R|test/B|
}
@@ -0,0 +1,19 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|() public final inner class Inner : R|kotlin/Any| {
public constructor(): R|test/Class.Inner|
}
@R|test/Anno|() public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Class.Nested|
}
}
@@ -0,0 +1,4 @@
@R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.RUNTIME|()) public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@@ -0,0 +1,9 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@R|test/Anno|() public final class X : R|kotlin/Any| {
public constructor(): R|test/X|
}
@@ -0,0 +1,68 @@
public final annotation class BooleanAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Boolean|
public get(): R|kotlin/Boolean|
public constructor(value: R|kotlin/Boolean|): R|test/BooleanAnno|
}
public final annotation class ByteAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Byte|
public get(): R|kotlin/Byte|
public constructor(value: R|kotlin/Byte|): R|test/ByteAnno|
}
public final annotation class CharAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Char|
public get(): R|kotlin/Char|
public constructor(value: R|kotlin/Char|): R|test/CharAnno|
}
@R|test/IntAnno|(value = Int(42)) @R|test/ShortAnno|(value = Short(42)) @R|test/ByteAnno|(value = Byte(42)) @R|test/LongAnno|(value = Long(42)) @R|test/CharAnno|(value = Char(A)) @R|test/BooleanAnno|(value = Boolean(false)) @R|test/FloatAnno|(value = Float(3.14)) @R|test/DoubleAnno|(value = Double(3.14)) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
}
public final annotation class DoubleAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Double|
public get(): R|kotlin/Double|
public constructor(value: R|kotlin/Double|): R|test/DoubleAnno|
}
public final annotation class FloatAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Float|
public get(): R|kotlin/Float|
public constructor(value: R|kotlin/Float|): R|test/FloatAnno|
}
public final annotation class IntAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor(value: R|kotlin/Int|): R|test/IntAnno|
}
public final annotation class LongAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Long|
public get(): R|kotlin/Long|
public constructor(value: R|kotlin/Long|): R|test/LongAnno|
}
public final annotation class ShortAnno : R|kotlin/Annotation| {
public final val value: R|kotlin/Short|
public get(): R|kotlin/Short|
public constructor(value: R|kotlin/Short|): R|test/ShortAnno|
}
@@ -0,0 +1,18 @@
public final annotation class Anno : R|kotlin/Annotation| {
public final val double: R|kotlin/Double|
public get(): R|kotlin/Double|
public final val int: R|kotlin/Int|
public get(): R|kotlin/Int|
public final val string: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(int: R|kotlin/Int|, string: R|kotlin/String|, double: R|kotlin/Double|): R|test/Anno|
}
@R|test/Anno|(int = Int(42), string = String(OK), double = Double(3.14)) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
}
@@ -0,0 +1,4 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@@ -0,0 +1,9 @@
public final fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
public final val t: R|java/lang/annotation/ElementType|
public get(): R|java/lang/annotation/ElementType|
public constructor(t: R|java/lang/annotation/ElementType|): R|test/Anno|
}
@@ -0,0 +1,11 @@
public final fun baz(): R|kotlin/Unit|
public final fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
public final val t: R|kotlin/Array<out java/lang/annotation/ElementType>|
public get(): R|kotlin/Array<out java/lang/annotation/ElementType>|
public constructor(vararg t: R|kotlin/Array<out java/lang/annotation/ElementType>|): R|test/Anno|
}
@@ -0,0 +1,6 @@
public final fun function(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@@ -0,0 +1,4 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@@ -0,0 +1,4 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}
@@ -0,0 +1,4 @@
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/Anno|
}

Some files were not shown because too many files have changed in this diff Show More