FIR Java types: add Kotlin/Java mapping & mutability enhancements

Related to KT-29937
This commit is contained in:
Mikhail Glukhikh
2019-02-28 11:34:18 +03:00
parent e7ac88d326
commit 6c79b184c0
23 changed files with 70 additions and 47 deletions

View File

@@ -1,10 +1,10 @@
<T> public abstract interface LoadIterable : R|java/lang/Object| {
@R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|
@R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>>|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>>|): R|kotlin/Unit|
@R|kotlin/annotations/jvm/ReadOnly|() public abstract operator function getReadOnlyIterable(): R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|
@R|kotlin/annotations/jvm/ReadOnly|() public abstract operator function getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|
public abstract operator function setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
public abstract operator function setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() Iterable: R|ft<kotlin/collections/Iterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
}

View File

@@ -1,6 +1,6 @@
<T> public abstract interface LoadIterableWithConflict : R|java/lang/Object| {
@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|
@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
}

View File

@@ -1,10 +1,10 @@
<T> public abstract interface LoadIterableWithNullability : R|java/lang/Object| {
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator function getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>>|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/Mutable|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
public abstract operator function setIterable(@R|kotlin/annotations/jvm/Mutable|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>>|): R|kotlin/Unit|
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/ReadOnly|() public abstract operator function getReadOnlyIterable(): R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/ReadOnly|() public abstract operator function getReadOnlyIterable(): R|ft<kotlin/collections/Iterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|
public abstract operator function setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|ft<java/lang/Iterable<ft<T, T?>>, java/lang/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
public abstract operator function setReadOnlyIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|ft<kotlin/collections/Iterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>>|): R|kotlin/Unit|
}

View File

@@ -1,6 +1,6 @@
public abstract interface ReadOnlyExtendsWildcard : R|java/lang/Object| {
public abstract operator function bar(): R|kotlin/Unit|
public abstract operator function foo(@R|kotlin/annotations/jvm/ReadOnly|() x: R|ft<java/util/List<class error: Unexpected type argument: JavaWildcardTypeImpl: PsiType:? extends CharSequence>, java/util/List<class error: Unexpected type argument: JavaWildcardTypeImpl: PsiType:? extends CharSequence>?>|!, @R|org/jetbrains/annotations/NotNull|() y: R|ft<java/lang/Comparable<*>, java/lang/Comparable<*>>|): R|kotlin/Unit|
public abstract operator function foo(@R|kotlin/annotations/jvm/ReadOnly|() x: R|ft<kotlin/collections/List<*>, java/util/List<class error: Unexpected type argument: JavaWildcardTypeImpl: PsiType:? extends CharSequence>?>|!, @R|org/jetbrains/annotations/NotNull|() y: R|ft<kotlin/Comparable<*>, kotlin/Comparable<*>>|): R|kotlin/Unit|
}