FIR: Support loading deserialized declarations from JVM class files

This commit is contained in:
Denis Zharkov
2019-03-25 18:10:40 +03:00
parent 0f9d54c4dc
commit 1426341e9f
482 changed files with 6225 additions and 27 deletions
@@ -0,0 +1,2 @@
public final annotation class AnnotatedAnnotation : R|kotlin/Annotation| {
}
@@ -0,0 +1,4 @@
public open class AnnotatedMethod : R|kotlin/Any| {
public open fun f(): R|kotlin/Unit|
}
@@ -0,0 +1,14 @@
public final class AnnotationInAnnotationArguments : R|kotlin/Any| {
}
public final enum class E : R|kotlin/Enum<test/E>| {
}
public final annotation class EnumOption : R|kotlin/Annotation| {
}
public final annotation class OptionGroups : R|kotlin/Annotation| {
}
public final annotation class StringOptions : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Klass : R|kotlin/Any| {
}
@@ -0,0 +1,13 @@
public final enum class E : R|kotlin/Enum<test/E>| {
}
public final annotation class EnumAnno : R|kotlin/Annotation| {
}
public final class EnumArgumentWithCustomToString : R|kotlin/Any| {
public final fun annotated(): R|kotlin/Unit|
}
public final annotation class EnumArrayAnno : R|kotlin/Annotation| {
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public abstract interface T : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Array<kotlin/Array<kotlin/Array<test/T>>>|
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Klass : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
public final annotation class SimpleAnnotation : R|kotlin/Annotation| {
}
@@ -0,0 +1,2 @@
public final annotation class TargetedAnnotation : R|kotlin/Annotation| {
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Constructor : R|kotlin/Any| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final fun foo(): R|kotlin/Unit|
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final annotation class Bnno : R|kotlin/Annotation| {
}
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final fun foo(): R|kotlin/Unit|
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,20 @@
public final annotation class Ann : R|kotlin/Annotation| {
}
public sealed class Sealed : R|kotlin/Any| {
public final class Derived : R|test/Sealed| {
}
}
public final class Test : R|kotlin/Any| {
}
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|
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,8 @@
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|
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,17 @@
public final class A : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final annotation class Anno1 : R|kotlin/Annotation| {
}
public final class B : R|kotlin/Any| {
public final annotation class Anno2 : R|kotlin/Annotation| {
}
}
}
}
public final class C : R|kotlin/Any| {
}
@@ -0,0 +1,11 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final class Nested : R|kotlin/Any| {
}
}
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
@@ -0,0 +1,8 @@
public final class A : R|kotlin/Any| {
public final class B : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
}
@@ -0,0 +1,12 @@
public final data class My : R|kotlin/Any| {
public final operator fun component1(): R|kotlin/Int|
public final fun copy(x: R|kotlin/Int|): 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|
}
@@ -0,0 +1,11 @@
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
public final inner class Inner : R|kotlin/Any| {
}
public final class Nested : R|kotlin/Any| {
}
}
@@ -0,0 +1,11 @@
public final annotation class $$$$$$ : R|kotlin/Annotation| {
}
public final class A : R|kotlin/Any| {
}
public final annotation class Anno$tation : R|kotlin/Annotation| {
}
public final class Cla$s : R|kotlin/Any| {
}
@@ -0,0 +1,14 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
public final inner class Inner : R|kotlin/Any| {
}
public final class Nested : R|kotlin/Any| {
}
}
@@ -0,0 +1,11 @@
public final annotation class A1 : R|kotlin/Annotation| {
}
public final annotation class A2 : R|kotlin/Annotation| {
}
public final annotation class A3 : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,10 @@
public final class A : R|kotlin/Any| {
public final annotation class Anno : R|kotlin/Annotation| {
}
}
public final class B : R|kotlin/Any| {
public final fun f(): R|kotlin/Unit|
}
@@ -0,0 +1,11 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final inner class Inner : R|kotlin/Any| {
}
public final class Nested : R|kotlin/Any| {
}
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class X : R|kotlin/Any| {
}
@@ -0,0 +1,26 @@
public final annotation class BooleanAnno : R|kotlin/Annotation| {
}
public final annotation class ByteAnno : R|kotlin/Annotation| {
}
public final annotation class CharAnno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
public final annotation class DoubleAnno : R|kotlin/Annotation| {
}
public final annotation class FloatAnno : R|kotlin/Annotation| {
}
public final annotation class IntAnno : R|kotlin/Annotation| {
}
public final annotation class LongAnno : R|kotlin/Annotation| {
}
public final annotation class ShortAnno : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,4 @@
public final fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,6 @@
public final fun baz(): R|kotlin/Unit|
public final fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,4 @@
public final fun function(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,6 @@
public final fun baz(): R|kotlin/Unit|
public final fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,8 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final annotation class B : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,8 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final annotation class B : R|kotlin/Annotation| {
}
public final enum class E : R|kotlin/Enum<test/E>| {
}
@@ -0,0 +1,4 @@
public final fun R|kotlin/Int|.foo(x: R|kotlin/Int|): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final fun R|kotlin/String|.foo(x: R|kotlin/Int|): R|kotlin/Int|
}
@@ -0,0 +1,5 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final fun foo(x: R|kotlin/String|): R|kotlin/Unit|
}
@@ -0,0 +1,7 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public abstract interface Trait : R|kotlin/Any| {
public open fun foo(x: R|kotlin/String|): R|kotlin/Int|
}
@@ -0,0 +1,11 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class Outer : R|kotlin/Any| {
public final inner class Inner : R|kotlin/Any| {
}
public final class Nested : R|kotlin/Any| {
}
}
@@ -0,0 +1,15 @@
public final fun bar(x: R|kotlin/Int|): R|kotlin/Unit|
public final fun foo(x: R|kotlin/Int|, y: R|kotlin/Double|, z: R|kotlin/String|): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
}
public final annotation class B : R|kotlin/Annotation| {
}
public final annotation class C : R|kotlin/Annotation| {
}
public final annotation class D : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,4 @@
public final fun foo(x: R|kotlin/Int|): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final annotation class B : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
@@ -0,0 +1,11 @@
public final class Class : R|kotlin/Any| {
}
public final annotation class DoubleAnno : R|kotlin/Annotation| {
}
public final annotation class IntAnno : R|kotlin/Annotation| {
}
public final annotation class StringAnno : R|kotlin/Annotation| {
}
@@ -0,0 +1,8 @@
public final annotation class DoubleAnno : R|kotlin/Annotation| {
}
public final annotation class IntAnno : R|kotlin/Annotation| {
}
public final annotation class StringAnno : R|kotlin/Annotation| {
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public abstract interface Trait : R|kotlin/Any| {
}
}
@@ -0,0 +1,2 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public abstract interface Trait : R|kotlin/Any| {
}
@@ -0,0 +1,8 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public abstract interface Trait : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
@@ -0,0 +1,25 @@
public final class A : R|kotlin/Any| {
public final fun arrays(s: R|kotlin/Array<kotlin/Int>|, t: R|kotlin/Array<kotlin/IntArray>|, u: R|kotlin/Array<kotlin/Array<kotlin/Int>>|, v: R|kotlin/Array<kotlin/Array<kotlin/Array<kotlin/String>>>|): R|kotlin/Unit|
public final fun generic(s: R|kotlin/String|): R|kotlin/Unit|
public final fun innerGeneric(s: R|kotlin/String|): R|kotlin/Unit|
public final fun simple(s: R|kotlin/String|): R|kotlin/Unit|
}
public final annotation class Ann : R|kotlin/Annotation| {
}
<T> public final class Generic : R|kotlin/Any| {
}
<A, B> public final class InnerGeneric : R|kotlin/Any| {
<C, D> public final inner class Inner : R|kotlin/Any| {
}
}
public final class Simple : R|kotlin/Any| {
}
@@ -0,0 +1,4 @@
public final fun R|kotlin/String|.foo(): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
}
@@ -0,0 +1,7 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class SimpleTypeAnnotation : R|kotlin/Any| {
public final fun foo(x: R|kotlin/ranges/IntRange|): R|kotlin/Int|
}
@@ -0,0 +1,9 @@
public final fun typeAnnotation(): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
}
public final class TypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
}
@@ -0,0 +1,7 @@
public final annotation class A : R|kotlin/Annotation| {
}
<T> public abstract interface Foo : R|java/io/Serializable| {
<E, F> public abstract fun bar(): R|kotlin/Unit|
}
@@ -0,0 +1,7 @@
public final annotation class Ann : R|kotlin/Annotation| {
}
public final class TypeAnnotationWithArguments : R|kotlin/Any| {
public final fun foo(param: R|kotlin/ranges/IntRange|): R|kotlin/Unit|
}
@@ -0,0 +1,4 @@
public final fun foo(bar: R|kotlin/collections/Map<kotlin/String, kotlin/collections/List<kotlin/Int>>|): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
}
@@ -0,0 +1,7 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class SimpleTypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
}
@@ -0,0 +1,7 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final class SimpleTypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
}
@@ -0,0 +1,10 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
public final class CustomDelegate : R|kotlin/Any| {
public final operator fun getValue(thisRef: R|kotlin/Any|, prop: R|kotlin/reflect/KProperty<*>|): R|kotlin/String|
}
@@ -0,0 +1,5 @@
public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
}
@@ -0,0 +1,8 @@
public final annotation class A : R|kotlin/Annotation| {
}
public final annotation class B : R|kotlin/Annotation| {
}
public abstract interface I : R|kotlin/Any| {
}
@@ -0,0 +1,7 @@
public final class A : R|kotlin/Any| {
public final fun R|kotlin/String|.myLength(q: R|kotlin/String|): R|kotlin/Int|
}
public final annotation class Ann : R|kotlin/Annotation| {
}
@@ -0,0 +1,2 @@
public final class Ramification : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<T> public final class Wine : R|kotlin/Any| {
}
@@ -0,0 +1,5 @@
public final class Outer : R|kotlin/Any| {
public final inner class Inner : R|kotlin/Any| {
}
}
@@ -0,0 +1,32 @@
<test> public final class ConstructorTypeParamClassObjectConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
<test> public final class ConstructorTypeParamClassObjectTypeConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public abstract interface test : R|kotlin/Any| {
}
}
}
public final class TestClassObjectAndClassConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
public final class TestConstructorParamClassObjectConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
public final class TestConstructorValClassObjectConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
}
}
@@ -0,0 +1,2 @@
<T> public final class Juice : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<T> public final class Beer : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<A, B> public final class ClassParamReferencesParam : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<A, B> public final class ClassParamReferencesParam : R|kotlin/Any| {
}
@@ -0,0 +1,5 @@
<A> public final class ClassParamReferencesSelf : R|kotlin/Any| {
}
<P> public abstract interface TraitWithP : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<A> public final class Clock : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<A> public final class Clock : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<A> public final class Clock : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<P, Q> public final class ClassTwoParams : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
<P, Q> public final class ClassTwoParams : R|kotlin/Any| {
}
@@ -0,0 +1,2 @@
public final enum class EnumWithGenericConstructorParameter : R|kotlin/Enum<test/EnumWithGenericConstructorParameter>| {
}
@@ -0,0 +1,2 @@
public final enum class EnumWithPrimitiveConstructorParameter : R|kotlin/Enum<test/EnumWithPrimitiveConstructorParameter>| {
}
@@ -0,0 +1,5 @@
public abstract class Aaa : R|kotlin/Any| {
}
public final class Bbb : R|test/Aaa| {
}
@@ -0,0 +1,5 @@
<P> public abstract class Aaa : R|kotlin/Any| {
}
public final class Bbb : R|test/Aaa<java/util/Random>| {
}
@@ -0,0 +1,11 @@
<T> public abstract interface A : R|kotlin/Any| {
public abstract fun bar(): R|T|
public open fun foo(): R|T|
}
public final class B : R|test/A<kotlin/String>| {
public open fun bar(): R|kotlin/String|
}
@@ -0,0 +1,7 @@
public open class Class : R|test/Trait| {
}
public abstract interface Trait : R|kotlin/Any| {
public open fun f(a: R|kotlin/String|): R|kotlin/Unit|
}
@@ -0,0 +1,5 @@
<P> public abstract interface Aaa : R|kotlin/Any| {
}
public final class Bbb : R|test/Aaa<java/util/Random>| {
}
@@ -0,0 +1,8 @@
public final class Outer : R|kotlin/Any| {
public open inner class Inner1 : R|kotlin/Any| {
}
public final inner class Inner2 : R|test/Outer.Inner1| {
}
}
@@ -0,0 +1,5 @@
public final class Outer : R|kotlin/Any| {
<T> public final inner class Inner : R|kotlin/Any| {
}
}
@@ -0,0 +1,15 @@
<E, F> public final class Outer : R|kotlin/Any| {
public final fun bar(x: R|test/Outer.Inner2<kotlin/String, kotlin/Double>|, y: R|test/Outer.Inner2<E, F>|): R|kotlin/Unit|
<G, H> public final inner class Inner : R|kotlin/Any| {
<I> public final inner class Inner3 : R|kotlin/Any| {
public final fun foo(x: R|test/Outer.Inner<G, kotlin/Int, kotlin/String, F>|, y: R|test/Outer.Inner<E, kotlin/Double, E, F>|, z: R|test/Outer.Inner.Inner3<kotlin/Double, G, kotlin/Int, kotlin/String, F>|, w: R|test/Outer.Inner.Inner3<*, G, H, E, F>|): R|kotlin/Unit|
}
}
public final inner class Inner2 : R|kotlin/Any| {
}
}

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