FIR Java: map classes to make java type-parameters have correct bounds

Really, this commit implements early J2K mapping for all Java types.
It's questionable and probably wrong at least for super-types,
because, for example, we cannot resolve spliterator() in classes
derived from java.lang.Iterable
This commit is contained in:
Simon Ogorodnik
2019-04-23 04:22:12 +03:00
committed by Mikhail Glukhikh
parent cb91c6b977
commit 3e69838f48
279 changed files with 338 additions and 337 deletions
@@ -1,2 +1,2 @@
public abstract interface PropagateTypeArgumentNullable : R|java/lang/Object| {
public abstract interface PropagateTypeArgumentNullable : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface ChangeProjectionKind1 : R|java/lang/Object| {
public abstract interface ChangeProjectionKind1 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface DeeplySubstitutedClassParameter : R|java/lang/Object| {
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface DeeplySubstitutedClassParameter2 : R|java/lang/Object| {
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNotVararg : R|java/lang/Object| {
public abstract interface InheritNotVararg : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNotVarargInteger : R|java/lang/Object| {
public abstract interface InheritNotVarargInteger : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNotVarargNotNull : R|java/lang/Object| {
public abstract interface InheritNotVarargNotNull : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNotVarargPrimitive : R|java/lang/Object| {
public abstract interface InheritNotVarargPrimitive : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullability : R|java/lang/Object| {
public abstract interface InheritNullability : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritVararg : R|java/lang/Object| {
public abstract interface InheritVararg : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritVarargInteger : R|java/lang/Object| {
public abstract interface InheritVarargInteger : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritVarargNotNull : R|java/lang/Object| {
public abstract interface InheritVarargNotNull : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritVarargPrimitive : R|java/lang/Object| {
public abstract interface InheritVarargPrimitive : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface Kt3302 : R|java/lang/Object| {
public abstract interface Kt3302 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface MutableToReadOnly : R|java/lang/Object| {
public abstract interface MutableToReadOnly : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface NotNullToNullable : R|java/lang/Object| {
public abstract interface NotNullToNullable : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface NullableToNotNull : R|java/lang/Object| {
public abstract interface NullableToNotNull : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface NullableToNotNullKotlinSignature : R|java/lang/Object| {
public abstract interface NullableToNotNullKotlinSignature : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface OverrideWithErasedParameter : R|java/lang/Object| {
public abstract interface OverrideWithErasedParameter : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface ReadOnlyToMutable : R|java/lang/Object| {
public abstract interface ReadOnlyToMutable : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SubclassFromGenericAndNot : R|java/lang/Object| {
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SubstitutedClassParameter : R|java/lang/Object| {
public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SubstitutedClassParameters : R|java/lang/Object| {
public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNotNullJavaSubtype : R|java/lang/Object| {
public abstract interface AddNotNullJavaSubtype : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNotNullSameJavaType : R|java/lang/Object| {
public abstract interface AddNotNullSameJavaType : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNullabilityJavaSubtype : R|java/lang/Object| {
public abstract interface AddNullabilityJavaSubtype : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNullabilitySameGenericType1 : R|java/lang/Object| {
public abstract interface AddNullabilitySameGenericType1 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNullabilitySameGenericType2 : R|java/lang/Object| {
public abstract interface AddNullabilitySameGenericType2 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface AddNullabilitySameJavaType : R|java/lang/Object| {
public abstract interface AddNullabilitySameJavaType : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface CantMakeImmutableInSubclass : R|java/lang/Object| {
public abstract interface CantMakeImmutableInSubclass : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface DeeplySubstitutedClassParameter : R|java/lang/Object| {
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface DeeplySubstitutedClassParameter2 : R|java/lang/Object| {
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface HalfSubstitutedTypeParameters : R|java/lang/Object| {
public abstract interface HalfSubstitutedTypeParameters : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullabilityGenericSubclassSimple : R|java/lang/Object| {
public abstract interface InheritNullabilityGenericSubclassSimple : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullabilityJavaSubtype : R|java/lang/Object| {
public abstract interface InheritNullabilityJavaSubtype : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullabilitySameGenericType : R|java/lang/Object| {
public abstract interface InheritNullabilitySameGenericType : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullabilitySameJavaType : R|java/lang/Object| {
public abstract interface InheritNullabilitySameJavaType : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritProjectionKind : R|java/lang/Object| {
public abstract interface InheritProjectionKind : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritReadOnlinessOfArgument : R|java/lang/Object| {
public abstract interface InheritReadOnlinessOfArgument : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritReadOnlinessSameClass : R|java/lang/Object| {
public abstract interface InheritReadOnlinessSameClass : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritReadOnlinessSubclass : R|java/lang/Object| {
public abstract interface InheritReadOnlinessSubclass : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SameProjectionKind : R|java/lang/Object| {
public abstract interface SameProjectionKind : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SubclassFromGenericAndNot : R|java/lang/Object| {
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
}
@@ -1,4 +1,4 @@
public abstract interface SubclassOfCollection<E> : R|java/util/Collection<E>| {
public abstract operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<E, E?>>, kotlin/collections/Iterator<ft<E, E?>>?>|!
public abstract interface SubclassOfCollection<E> : R|kotlin/collections/Collection<E>| {
public abstract operator fun iterator(): R|kotlin/collections/Iterator<ft<E, E?>>|
}
@@ -1,4 +1,4 @@
public abstract interface SubclassOfMapEntry<K, V> : R|java/util/Map.Entry<K, V>| {
public abstract interface SubclassOfMapEntry<K, V> : R|kotlin/collections/Map.Entry<K, V>| {
public abstract operator fun setValue(value: R|ft<V, V?>|!): R|ft<V, V?>|!
}
@@ -1,2 +1,2 @@
public abstract interface SubstitutedClassParameter : R|java/lang/Object| {
public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface SubstitutedClassParameters : R|java/lang/Object| {
public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesConflictingProjectionKinds : R|java/lang/Object| {
public abstract interface TwoSuperclassesConflictingProjectionKinds : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesInvariantAndCovariantInferMutability : R|java/lang/Object| {
public abstract interface TwoSuperclassesInvariantAndCovariantInferMutability : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesInvariantAndCovariantInferNullability : R|java/lang/Object| {
public abstract interface TwoSuperclassesInvariantAndCovariantInferNullability : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesMutableAndNot : R|java/lang/Object| {
public abstract interface TwoSuperclassesMutableAndNot : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesReturnJavaSubtype : R|java/lang/Object| {
public abstract interface TwoSuperclassesReturnJavaSubtype : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesReturnSameJavaType : R|java/lang/Object| {
public abstract interface TwoSuperclassesReturnSameJavaType : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclassesSupplementNotNull : R|java/lang/Object| {
public abstract interface TwoSuperclassesSupplementNotNull : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TypeParamOfClass : R|java/lang/Object| {
public abstract interface TypeParamOfClass : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TypeParamOfClassSubstituted : R|java/lang/Object| {
public abstract interface TypeParamOfClassSubstituted : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TypeParamOfFun : R|java/lang/Object| {
public abstract interface TypeParamOfFun : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface InheritNullability : R|java/lang/Object| {
public abstract interface InheritNullability : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoBounds : R|java/lang/Object| {
public abstract interface TwoBounds : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoSuperclasses : R|java/lang/Object| {
public abstract interface TwoSuperclasses : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface TwoTypeParameters : R|java/lang/Object| {
public abstract interface TwoTypeParameters : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface UseParameterAsUpperBound : R|java/lang/Object| {
public abstract interface UseParameterAsUpperBound : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface UseParameterInUpperBound : R|java/lang/Object| {
public abstract interface UseParameterInUpperBound : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public abstract interface UseParameterInUpperBoundWithKotlinSignature : R|java/lang/Object| {
public abstract interface UseParameterInUpperBoundWithKotlinSignature : R|kotlin/Any| {
}