FIR Java: add default constructors

This commit is contained in:
Mikhail Glukhikh
2019-05-24 11:41:05 +03:00
parent d0404b2c2a
commit 56435fa283
141 changed files with 320 additions and 13 deletions
@@ -7,6 +7,9 @@ package org.jetbrains.kotlin.fir.java
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -206,14 +209,14 @@ class JavaSymbolProvider(
}
declarations += firJavaMethod
}
for (javaConstructor in javaClass.constructors) {
val constructorId = CallableId(classId.packageFqName, classId.relativeClassName, classId.shortClassName)
val javaClassDeclaredConstructors = javaClass.constructors
val constructorId = CallableId(classId.packageFqName, classId.relativeClassName, classId.shortClassName)
fun addJavaConstructor(visibility: Visibility = Visibilities.PUBLIC): FirJavaConstructor {
val constructorSymbol = FirFunctionSymbol(constructorId)
val classTypeParameters = javaClass.typeParameters.convertTypeParameters(javaTypeParameterStack)
val constructorTypeParameters = javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack)
val typeParameters = classTypeParameters + constructorTypeParameters
val firJavaConstructor = FirJavaConstructor(
this@JavaSymbolProvider.session, constructorSymbol, javaConstructor.visibility,
this@JavaSymbolProvider.session, constructorSymbol, visibility,
FirResolvedTypeRefImpl(
this@JavaSymbolProvider.session, null,
firSymbol.constructType(
@@ -221,7 +224,18 @@ class JavaSymbolProvider(
)
)
).apply {
this.typeParameters += typeParameters
this.typeParameters += classTypeParameters
}
declarations += firJavaConstructor
return firJavaConstructor
}
if (javaClassDeclaredConstructors.isEmpty() && javaClass.classKind == ClassKind.CLASS) {
addJavaConstructor()
}
for (javaConstructor in javaClassDeclaredConstructors) {
addJavaConstructor(javaConstructor.visibility).apply {
this.typeParameters += javaConstructor.typeParameters.convertTypeParameters(javaTypeParameterStack)
addAnnotationsFrom(this@JavaSymbolProvider.session, javaConstructor, javaTypeParameterStack)
for (valueParameter in javaConstructor.valueParameters) {
valueParameters += valueParameter.toFirValueParameters(
@@ -229,7 +243,6 @@ class JavaSymbolProvider(
)
}
}
declarations += firJavaConstructor
}
}
}
@@ -5,4 +5,6 @@ public open class NonNullNever : R|kotlin/Any| {
@R|MyNullable|() public open operator 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|
}
@@ -5,4 +5,6 @@ public open class Simple : R|kotlin/Any| {
@R|javax/annotation/Nonnull|() public open operator fun bar(): R|kotlin/String|
public constructor(): R|Simple|
}
@@ -5,4 +5,6 @@ public open class Strange : R|kotlin/Any| {
@R|javax/annotation/Nonnull|() public open operator fun bar(): R|kotlin/String|
public constructor(): R|Strange|
}
@@ -7,6 +7,8 @@
@R|javax/annotation/Nonnull|() public open operator 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| {
}
@@ -3,6 +3,8 @@
@R|spr/ForceFlexibility|() public open operator 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| {
}
@@ -7,6 +7,8 @@
public open operator 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 operator fun foo(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
@@ -11,6 +11,8 @@
public open operator 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 operator fun foo1(x: R|kotlin/String|): R|kotlin/CharSequence|
@@ -35,6 +37,8 @@
public open operator 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 operator fun foo1(x: R|kotlin/String|): R|kotlin/String|
@@ -47,6 +51,8 @@
public open operator 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| {
}
@@ -9,6 +9,8 @@
@R|javax/annotation/Nullable|() public open operator 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| {
}
@@ -5,4 +5,6 @@
@R|javax/annotation/Nonnull|() public open operator fun bar(): R|kotlin/String|
public constructor(): R|A|
}
@@ -5,6 +5,8 @@ public open class A : R|kotlin/Any| {
@R|javax/annotation/Nonnull|() public open operator 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|?
@@ -13,4 +15,6 @@ public open class A2 : R|kotlin/Any| {
@R|javax/annotation/Nonnull|() public open operator fun bar(): R|kotlin/String|
public constructor(): R|test2/A2|
}
@@ -7,6 +7,8 @@
@R|spr/Nullable|() public open operator 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| {
}
@@ -7,6 +7,8 @@ public open class A : R|kotlin/Any| {
@R|spr/Nullable|() public open operator 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| {
}
@@ -1,2 +1,4 @@
public abstract class AbstractMap : R|kotlin/Any|, R|kotlin/collections/MutableMap<kotlin/String, kotlin/String>| {
public constructor(): R|AbstractMap|
}
@@ -7,6 +7,8 @@ public/*package*/ open class A : R|kotlin/Any| {
public open operator 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 constructor(): R|A|
}
public final enum class Mixed : R|kotlin/Enum<Mixed>| {
public final static field NOT_ENTRY_EITHER: R|ft<Mixed, Mixed?>|!
@@ -7,6 +7,8 @@ public open class A : R|kotlin/Any| {
public open operator 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 operator fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x)) value: R|ft<kotlin/Long, kotlin/Long?>|!): R|kotlin/Unit|
@@ -17,4 +19,6 @@ public open class B : R|kotlin/Any| {
public open operator fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1234)) value: R|ft<kotlin/Long, kotlin/Long?>|!): R|kotlin/Unit|
public constructor(): R|B|
}
@@ -3,8 +3,12 @@ public open class A : R|kotlin/Any| {
public open operator 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 operator fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() t: R|ft<T, T?>|! = Null(null)): R|kotlin/Unit|
public constructor<T>(): R|B<T>|
}
@@ -7,6 +7,8 @@ public open class A : R|kotlin/Any| {
public open operator 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 operator fun foo(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) i: R|ft<kotlin/Int, kotlin/Int?>|! = Int(42)): R|kotlin/Unit|
@@ -21,6 +23,10 @@ public open class B : R|A| {
public open operator 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|
}
@@ -9,4 +9,6 @@ public/*package*/ open class A : R|kotlin/Any| {
public open operator fun wrong(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) i: R|ft<kotlin/Int, kotlin/Int?>|!): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -5,4 +5,6 @@ public/*package*/ open class A : R|kotlin/Any| {
public open operator fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(Int(42)) first: R|ft<kotlin/String, kotlin/String?>|!): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -1,4 +1,6 @@
public open class A : R|kotlin/Any| {
public open operator 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|
}
@@ -1,4 +1,6 @@
public open class A : R|kotlin/Any| {
public open operator 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|
}
@@ -3,4 +3,6 @@ public open class A : R|kotlin/Any| {
public open operator fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(String(42)) field: R|ft<kotlin/String, kotlin/String?>|!): R|kotlin/Unit|
public constructor(): R|A|
}
@@ -1,4 +1,6 @@
public/*package*/ open class A : R|kotlin/Any| {
public open static operator 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 constructor(): R|A|
}
@@ -1,4 +1,6 @@
public final class ArrayTypeVariance : R|kotlin/Any| {
public final operator fun toArray(p0: R|kotlin/Array<ft<kotlin/Any, kotlin/Any?>>|): R|kotlin/Array<ft<kotlin/Any, kotlin/Any?>>|
public constructor(): R|test/ArrayTypeVariance|
}
@@ -1,2 +1,4 @@
public abstract class ClassDoesNotOverrideMethod : R|java/util/Date| {
public constructor(): R|test/ClassDoesNotOverrideMethod|
}
@@ -3,4 +3,6 @@ public final class ClassWithConstVal : R|kotlin/Any| {
public final field f2: R|kotlin/Int|
public constructor(): R|test/ClassWithConstVal|
}
@@ -1,2 +1,4 @@
public final class ClassWithTypeP<P> : R|kotlin/Any| {
public constructor<P>(): R|test/ClassWithTypeP<P>|
}
@@ -1,2 +1,4 @@
public abstract class ClassWithTypePExtendsIterableP<P> : R|kotlin/Any|, R|kotlin/collections/MutableIterable<P>| {
public constructor<P>(): R|test/ClassWithTypePExtendsIterableP<P>|
}
@@ -1,2 +1,4 @@
public final class ClassWithTypePP<P, Q : R|P|> : R|kotlin/Any| {
public final class ClassWithTypePP<P, Q : R|P|, R|P|> : R|kotlin/Any| {
public constructor<P, Q : R|P|, R|P|>(): R|test/ClassWithTypePP<P, Q>|
}
@@ -1,2 +1,4 @@
public open class ClassWithTypePRefNext<R : R|kotlin/collections/MutableIterable<P>|, P> : R|kotlin/Any| {
public open class ClassWithTypePRefNext<R : R|kotlin/collections/MutableIterable<P>|, R|kotlin/collections/MutableIterable<P>|, P> : R|kotlin/Any| {
public constructor<R : R|kotlin/collections/MutableIterable<P>|, R|kotlin/collections/MutableIterable<P>|, P>(): R|test/ClassWithTypePRefNext<R, P>|
}
@@ -1,2 +1,4 @@
public final class ClassWithTypePRefSelf<P : R|kotlin/Enum<P>|> : R|kotlin/Any| {
public final class ClassWithTypePRefSelf<P : R|kotlin/Enum<P>|, R|kotlin/Enum<P>|> : R|kotlin/Any| {
public constructor<P : R|kotlin/Enum<P>|, R|kotlin/Enum<P>|>(): R|test/ClassWithTypePRefSelf<P>|
}
@@ -1,2 +1,4 @@
public final class ClassWithTypePRefSelfAndClass<P : R|test/ClassWithTypePRefSelfAndClass<P>|> : R|kotlin/Any| {
public final class ClassWithTypePRefSelfAndClass<P : R|test/ClassWithTypePRefSelfAndClass<P>|, R|test/ClassWithTypePRefSelfAndClass<P>|> : R|kotlin/Any| {
public constructor<P : R|test/ClassWithTypePRefSelfAndClass<P>|, R|test/ClassWithTypePRefSelfAndClass<P>|>(): R|test/ClassWithTypePRefSelfAndClass<P>|
}
@@ -1,4 +1,6 @@
public final class FieldAsVar : R|kotlin/Any| {
public open field f: R|kotlin/Int|
public constructor(): R|test/FieldAsVar|
}
@@ -1,4 +1,6 @@
public open class FieldOfArrayType : R|kotlin/Any| {
public open field files: R|kotlin/Array<ft<java/io/File, java/io/File?>>|
public constructor(): R|test/FieldOfArrayType|
}
@@ -1,4 +1,6 @@
public final class FinalFieldAsVal : R|kotlin/Any| {
public final field f: R|kotlin/Int|
public constructor(): R|test/FinalFieldAsVal|
}
@@ -1,2 +1,4 @@
public final class InheritMethodsDifferentReturnTypes : R|kotlin/Any| {
public constructor(): R|test/InheritMethodsDifferentReturnTypes|
}
@@ -1,2 +1,4 @@
public final class InheritMethodsDifferentReturnTypesGeneric : R|kotlin/Any| {
public constructor(): R|test/InheritMethodsDifferentReturnTypesGeneric|
}
@@ -1,2 +1,4 @@
public open class InnerClass : R|kotlin/Any| {
public constructor(): R|test/InnerClass|
}
@@ -1,2 +1,4 @@
public open class InnerClassReferencesOuterTP<P> : R|kotlin/Any| {
public constructor<P>(): R|test/InnerClassReferencesOuterTP<P>|
}
@@ -1,4 +1,6 @@
public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| {
public open operator fun staticType(): R|ft<test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<kotlin/Byte, kotlin/Byte?>, ft<kotlin/Char, kotlin/Char?>, ft<kotlin/Boolean, kotlin/Boolean?>>, test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<kotlin/Byte, kotlin/Byte?>, ft<kotlin/Char, kotlin/Char?>, ft<kotlin/Boolean, kotlin/Boolean?>>?>|!
public constructor(): R|test/InnerClassTypeMultipleGeneric|
}
@@ -1,2 +1,4 @@
public open class InnerClassesInGeneric<P, Q> : R|kotlin/Any| {
public constructor<P, Q>(): R|test/InnerClassesInGeneric<P, Q>|
}
@@ -1,2 +1,4 @@
public open class InnerOfGeneric : R|kotlin/Any| {
public constructor(): R|test/InnerOfGeneric|
}
@@ -1,2 +1,4 @@
public final class MethodReferencesOuterClassTP<P> : R|kotlin/Any| {
public constructor<P>(): R|test/MethodReferencesOuterClassTP<P>|
}
@@ -1,4 +1,6 @@
public open class MethodTypePOneUpperBound : R|kotlin/Any| {
public open operator fun <T : R|kotlin/Cloneable|> bar(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePOneUpperBound|
}
@@ -1,4 +1,6 @@
public open class MethodTypePTwoUpperBounds : R|kotlin/Any| {
public open operator fun <T : R|kotlin/Cloneable|, R|java/lang/Runnable|> foo(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePTwoUpperBounds|
}
@@ -1,4 +1,6 @@
public final class MethodWithTypeP : R|kotlin/Any| {
public final operator fun <P> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypeP|
}
@@ -1,4 +1,6 @@
public final class MethodWithTypePP : R|kotlin/Any| {
public final operator fun <P, Q : R|P|> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypePP|
}
@@ -1,4 +1,6 @@
public open class MethodWithTypePRefClassP<P> : R|kotlin/Any| {
public final operator fun <Q : R|P|> f(): R|kotlin/Unit|
public constructor<P>(): R|test/MethodWithTypePRefClassP<P>|
}
@@ -1,4 +1,6 @@
public final class MethosWithPRefTP : R|kotlin/Any| {
public final operator fun <P> f(p: R|ft<P, P?>|!): R|kotlin/Unit|
public constructor(): R|test/MethosWithPRefTP|
}
@@ -1,2 +1,4 @@
public open class NestedClass : R|kotlin/Any| {
public constructor(): R|test/NestedClass|
}
@@ -1,2 +1,4 @@
public open class OverrideMethod : R|kotlin/Any| {
public constructor(): R|test/OverrideMethod|
}
@@ -1,6 +1,8 @@
public open class Frame : R|kotlin/Any| {
public/*package*/ open field accessibleContext: R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|awt/Frame|
}
public open class JFrame : R|awt/Frame| {
protected/*protected and package*/ open field accessibleContext: R|ft<kotlin/String, kotlin/String?>|!
@@ -1,2 +1,4 @@
public open class PrivateMembersInHierarchy : R|kotlin/Any| {
public constructor(): R|test/PrivateMembersInHierarchy|
}
@@ -1,2 +1,4 @@
public open class RawOverrides : R|kotlin/Any| {
public constructor(): R|test/RawOverrides|
}
@@ -1,4 +1,6 @@
public open class TopLevel$Class : R|kotlin/Any| {
public open operator fun foo(other: R|ft<test/TopLevel$Class, test/TopLevel$Class?>|!): R|kotlin/Unit|
public constructor(): R|test/TopLevel$Class|
}
@@ -3,4 +3,6 @@ public final class TwoFields : R|kotlin/Any| {
public open field b: R|kotlin/Short|
public constructor(): R|test/TwoFields|
}
@@ -3,4 +3,6 @@ public final class UnboundWildcard : R|kotlin/Any| {
public final operator fun collection(): R|ft<kotlin/collections/MutableCollection<*>, kotlin/collections/Collection<*>?>|!
public constructor(): R|test/UnboundWildcard|
}
@@ -1,4 +1,6 @@
public open class WildcardBounds : R|kotlin/Any| {
public/*package*/ open operator fun foo(x: R|ft<test/WildcardBounds.A<out kotlin/CharSequence>, test/WildcardBounds.A<out kotlin/CharSequence>?>|!, y: R|ft<test/WildcardBounds.A<in kotlin/String>, test/WildcardBounds.A<in kotlin/String>?>|!): R|kotlin/Unit|
public constructor(): R|test/WildcardBounds|
}
@@ -3,4 +3,6 @@ public open class AnnotatedField : R|kotlin/Any| {
@R|test/AnnotatedField.Anno|(String(member)) public final field y: R|kotlin/Int|
public constructor(): R|test/AnnotatedField|
}
@@ -1,4 +1,6 @@
public open class AnnotatedMethod : R|kotlin/Any| {
@R|test/AnnotatedMethod.Anno|(Int(42)) public open operator fun f(): R|kotlin/Unit|
public constructor(): R|test/AnnotatedMethod|
}
@@ -1,2 +1,4 @@
public/*package*/ open class AnnotatedParameterInInnerClassConstructor : R|kotlin/Any| {
public constructor(): R|test/AnnotatedParameterInInnerClassConstructor|
}
@@ -1,4 +1,6 @@
public/*package*/ open class AnnotatedTypeInFun : R|kotlin/Any| {
public/*package*/ open operator fun foo(@R|test/AnnotatedTypeInFun.Anno|(String(a)) a: @R|test/AnnotatedTypeInFun.Anno|(String(a)) R|ft<kotlin/String, kotlin/String?>|!, @R|test/AnnotatedTypeInFun.Anno|(String(b)) b: @R|test/AnnotatedTypeInFun.Anno|(String(b)) R|ft<kotlin/String, kotlin/String?>|!): R|kotlin/Unit|
public constructor(): R|test/AnnotatedTypeInFun|
}
@@ -1,4 +1,6 @@
public open class AnnotatedValueParameter : R|kotlin/Any| {
public open operator fun f(@R|test/AnnotatedValueParameter.Anno|(String(non-empty)) parameter: R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>>?>|!): R|kotlin/Unit|
public constructor(): R|test/AnnotatedValueParameter|
}
@@ -1,2 +1,4 @@
public open class AnnotationRetentions : R|kotlin/Any| {
public constructor(): R|test/AnnotationRetentions|
}
@@ -1,2 +1,4 @@
public open class AnnotationTargets : R|kotlin/Any| {
public constructor(): R|test/AnnotationTargets|
}
@@ -1,2 +1,4 @@
public open class ArithmeticExpressionInParam : R|kotlin/Any| {
public constructor(): R|test/ArithmeticExpressionInParam|
}
@@ -1,2 +1,4 @@
public open class ClassObjectArrayInParam : R|kotlin/Any| {
public constructor(): R|test/ClassObjectArrayInParam|
}
@@ -1,2 +1,4 @@
public open class ClassObjectInParam : R|kotlin/Any| {
public constructor(): R|test/ClassObjectInParam|
}
@@ -1,2 +1,4 @@
public open class ClassObjectInParamRaw : R|kotlin/Any| {
public constructor(): R|test/ClassObjectInParamRaw|
}
@@ -1,2 +1,4 @@
public open class ClassObjectInParamVariance : R|kotlin/Any| {
public constructor(): R|test/ClassObjectInParamVariance|
}
@@ -1,4 +1,6 @@
public open class EnumArgumentWithCustomToString : R|kotlin/Any| {
@R|test/EnumArgumentWithCustomToString.EnumAnno|(R|test/EnumArgumentWithCustomToString.E.CAKE|()) @R|test/EnumArgumentWithCustomToString.EnumArrayAnno|(<implicitArrayOf>(R|test/EnumArgumentWithCustomToString.E.CAKE|(), R|test/EnumArgumentWithCustomToString.E.CAKE|())) public/*package*/ open operator fun annotated(): R|kotlin/Unit|
public constructor(): R|test/EnumArgumentWithCustomToString|
}
@@ -1,4 +1,6 @@
public open class JavaDocDeprecated : R|kotlin/Any| {
public open operator fun getFoo(text: R|ft<kotlin/String, kotlin/String?>|!): R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/JavaDocDeprecated|
}
@@ -1,4 +1,6 @@
public open class NestedEnumArgument : R|kotlin/Any| {
@R|test/NestedEnumArgument.Anno|(R|test/NestedEnumArgument.E.FIRST|()) public/*package*/ open operator fun foo(): R|kotlin/Unit|
public constructor(): R|test/NestedEnumArgument|
}
@@ -3,4 +3,6 @@ public open class DifferentGetterAndSetter : R|kotlin/Any| {
public open operator fun getSomething(): R|kotlin/Int|
public constructor(): R|test/DifferentGetterAndSetter|
}
@@ -1,4 +1,6 @@
public open class JavaBeanVal : R|kotlin/Any| {
public open operator fun getColor(): R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/JavaBeanVal|
}
@@ -3,4 +3,6 @@ public open class JavaBeanVar : R|kotlin/Any| {
public open operator fun setColor(string: R|ft<kotlin/String, kotlin/String?>|!): R|kotlin/Unit|
public constructor(): R|test/JavaBeanVar|
}
@@ -3,4 +3,6 @@ public open class JavaBeanVarOfGenericType<P> : R|kotlin/Any| {
public open operator fun setCharacters(characters: R|ft<java/util/ArrayList<ft<P, P?>>, java/util/ArrayList<ft<P, P?>>?>|!): R|kotlin/Unit|
public constructor<P>(): R|test/JavaBeanVarOfGenericType<P>|
}
@@ -3,4 +3,6 @@ public open class TwoSetters : R|kotlin/Any| {
public open operator fun setSize(size: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|test/TwoSetters|
}
@@ -1,4 +1,6 @@
public open class AllBoundsInWhen : R|kotlin/Any| {
public open operator fun <T : R|java/io/Serializable|> foo(): R|kotlin/Unit|
public constructor(): R|test/AllBoundsInWhen|
}
@@ -1,4 +1,6 @@
public open class ArrayType : R|kotlin/Any| {
public open operator fun foo(): R|kotlin/Array<ft<kotlin/String, kotlin/String?>>|
public constructor(): R|test/ArrayType|
}
@@ -1,4 +1,6 @@
public open class CustomProjectionKind : R|kotlin/Any| {
public open operator fun foo(): R|ft<kotlin/collections/MutableList<ft<kotlin/Number, kotlin/Number?>>, kotlin/collections/List<ft<kotlin/Number, kotlin/Number?>>?>|!
public constructor(): R|test/CustomProjectionKind|
}
@@ -1,4 +1,6 @@
public open class MethodWithFunctionTypes : R|kotlin/Any| {
public open operator fun foo(f: R|ft<kotlin/Function1<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/Function1<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>|!): R|ft<kotlin/Function0<ft<kotlin/String, kotlin/String?>>, kotlin/Function0<ft<kotlin/String, kotlin/String?>>?>|!
public constructor(): R|test/MethodWithFunctionTypes|
}
@@ -1,4 +1,6 @@
public open class MethodWithGenerics : R|kotlin/Any| {
public open operator fun foo(a: R|ft<kotlin/String, kotlin/String?>|!, b: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>?>|!): R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/MethodWithGenerics|
}
@@ -3,4 +3,6 @@ public open class MethodWithMappedClasses : R|kotlin/Any| {
public open operator fun <T> copyMap(dest: R|ft<kotlin/collections/MutableMap<ft<kotlin/String, kotlin/String?>, in T>, kotlin/collections/Map<ft<kotlin/String, kotlin/String?>, in T>?>|!, src: R|ft<kotlin/collections/MutableMap<ft<kotlin/String, kotlin/String?>, ft<T, T?>>, kotlin/collections/Map<ft<kotlin/String, kotlin/String?>, ft<T, T?>>?>|!): R|kotlin/Unit|
public constructor(): R|test/MethodWithMappedClasses|
}
@@ -1,4 +1,6 @@
public open class MethodWithTypeParameters : R|kotlin/Any| {
public open operator fun <A, B : R|java/lang/Runnable|, R|kotlin/collections/MutableList<kotlin/Cloneable>|> foo(a: R|ft<A, A?>|!, b: R|ft<kotlin/collections/MutableList<out B>, kotlin/collections/List<out B>?>|!, list: R|ft<kotlin/collections/MutableList<in kotlin/String>, kotlin/collections/List<in kotlin/String>?>|!): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypeParameters|
}
@@ -1,4 +1,6 @@
public open class MethodWithVararg : R|kotlin/Any| {
public open operator fun foo(vararg s: R|kotlin/Array<ft<kotlin/String, kotlin/String?>>|): R|kotlin/Unit|
public constructor(): R|test/MethodWithVararg|
}
@@ -5,4 +5,6 @@ public open class PropertyArrayTypes<T> : R|kotlin/Any| {
public open field genericArray: R|kotlin/Array<ft<T, T?>>|
public constructor<T>(): R|test/PropertyArrayTypes<T>|
}
@@ -7,4 +7,6 @@ public open class PropertyComplexTypes<T> : R|kotlin/Any| {
public open field listOfGenericList: R|ft<java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>?>>, java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>?>>?>|!
public constructor<T>(): R|test/PropertyComplexTypes<T>|
}
@@ -3,4 +3,6 @@ public open class PropertySimpleType : R|kotlin/Any| {
public open field fieldTwo: R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/PropertySimpleType|
}
@@ -1,4 +1,6 @@
public final class StarProjection : R|kotlin/Any| {
public final operator fun foo(): R|ft<test/StarProjection.MyClass<*>, test/StarProjection.MyClass<*>?>|!
public constructor(): R|test/StarProjection|
}
@@ -1,4 +1,6 @@
public open class WrongProjectionKind : R|kotlin/Any| {
public open operator fun copy(from: R|kotlin/Array<ft<kotlin/Number, kotlin/Number?>>|, to: R|kotlin/Array<ft<kotlin/Number, kotlin/Number?>>|): R|ft<kotlin/collections/MutableList<ft<kotlin/Number, kotlin/Number?>>, kotlin/collections/List<ft<kotlin/Number, kotlin/Number?>>?>|!
public constructor(): R|test/WrongProjectionKind|
}
@@ -1,4 +1,6 @@
public open class WrongReturnTypeStructure : R|kotlin/Any| {
public open operator fun foo(a: R|ft<kotlin/String, kotlin/String?>|!, b: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>?>|!): R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/WrongReturnTypeStructure|
}
@@ -1,4 +1,6 @@
public open class WrongTypeParameterBoundStructure1 : R|kotlin/Any| {
public open operator fun <A, B : R|java/lang/Runnable|, R|kotlin/collections/MutableList<kotlin/Cloneable>|> foo(a: R|ft<A, A?>|!, b: R|ft<kotlin/collections/MutableList<out B>, kotlin/collections/List<out B>?>|!): R|kotlin/Unit|
public constructor(): R|test/WrongTypeParameterBoundStructure1|
}
@@ -1,4 +1,6 @@
public open class WrongValueParameterStructure1 : R|kotlin/Any| {
public open operator fun foo(a: R|ft<kotlin/String, kotlin/String?>|!, b: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>?>|!): R|ft<kotlin/String, kotlin/String?>|!
public constructor(): R|test/WrongValueParameterStructure1|
}
@@ -1,4 +1,6 @@
public open class Max : R|kotlin/Any| {
public open operator fun <T : R|kotlin/Any|, R|kotlin/Comparable<in T>|> max(coll: R|ft<kotlin/collections/MutableCollection<out T>, kotlin/collections/Collection<out T>?>|!): R|ft<T, T?>|!
public constructor(): R|test/Max|
}
@@ -3,4 +3,6 @@ public open class ModalityOfFakeOverrides : R|java/util/AbstractList<kotlin/Stri
@R|java/lang/Override|() public open operator fun size(): R|kotlin/Int|
public constructor(): R|test/ModalityOfFakeOverrides|
}
@@ -1,4 +1,6 @@
public open class NotNullField : R|kotlin/Any| {
@R|org/jetbrains/annotations/NotNull|() public open field hi: R|kotlin/String|
public constructor(): R|test/NotNullField|
}
@@ -1,4 +1,6 @@
public open class NotNullIntArray : R|kotlin/Any| {
@R|org/jetbrains/annotations/NotNull|() public open operator fun hi(): R|kotlin/IntArray|
public constructor(): R|test/NotNullIntArray|
}
@@ -1,4 +1,6 @@
public open class NotNullMethod : R|kotlin/Any| {
@R|org/jetbrains/annotations/NotNull|() public open operator fun hi(): R|kotlin/String|
public constructor(): R|test/NotNullMethod|
}

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