Minor: reformat

This commit is contained in:
Dmitry Petrov
2018-08-15 16:51:45 +03:00
parent 5ad8405893
commit 06ef8824b6
@@ -10,16 +10,16 @@ import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
class TypeMappingMode private constructor( class TypeMappingMode private constructor(
val needPrimitiveBoxing: Boolean = true, val needPrimitiveBoxing: Boolean = true,
val needInlineClassWrapping: Boolean = true, val needInlineClassWrapping: Boolean = true,
val isForAnnotationParameter: Boolean = false, val isForAnnotationParameter: Boolean = false,
// Here DeclarationSiteWildcards means wildcard generated because of declaration-site variance // Here DeclarationSiteWildcards means wildcard generated because of declaration-site variance
val skipDeclarationSiteWildcards: Boolean = false, val skipDeclarationSiteWildcards: Boolean = false,
val skipDeclarationSiteWildcardsIfPossible: Boolean = false, val skipDeclarationSiteWildcardsIfPossible: Boolean = false,
private val genericArgumentMode: TypeMappingMode? = null, private val genericArgumentMode: TypeMappingMode? = null,
val kotlinCollectionsToJavaCollections: Boolean = true, val kotlinCollectionsToJavaCollections: Boolean = true,
private val genericContravariantArgumentMode: TypeMappingMode? = genericArgumentMode, private val genericContravariantArgumentMode: TypeMappingMode? = genericArgumentMode,
private val genericInvariantArgumentMode: TypeMappingMode? = genericArgumentMode private val genericInvariantArgumentMode: TypeMappingMode? = genericArgumentMode
) { ) {
companion object { companion object {
/** /**
@@ -62,9 +62,9 @@ class TypeMappingMode private constructor(
@JvmField @JvmField
val SUPER_TYPE_KOTLIN_COLLECTIONS_AS_IS = TypeMappingMode( val SUPER_TYPE_KOTLIN_COLLECTIONS_AS_IS = TypeMappingMode(
skipDeclarationSiteWildcards = true, skipDeclarationSiteWildcards = true,
genericArgumentMode = GENERIC_ARGUMENT, genericArgumentMode = GENERIC_ARGUMENT,
kotlinCollectionsToJavaCollections = false kotlinCollectionsToJavaCollections = false
) )
/** /**
@@ -74,32 +74,33 @@ class TypeMappingMode private constructor(
*/ */
@JvmField @JvmField
val VALUE_FOR_ANNOTATION = TypeMappingMode( val VALUE_FOR_ANNOTATION = TypeMappingMode(
isForAnnotationParameter = true, isForAnnotationParameter = true,
needPrimitiveBoxing = false, needPrimitiveBoxing = false,
needInlineClassWrapping = false, needInlineClassWrapping = false,
genericArgumentMode = TypeMappingMode(isForAnnotationParameter = true, genericArgumentMode = GENERIC_ARGUMENT)) genericArgumentMode = TypeMappingMode(isForAnnotationParameter = true, genericArgumentMode = GENERIC_ARGUMENT)
)
@JvmStatic @JvmStatic
fun getModeForReturnTypeNoGeneric( fun getModeForReturnTypeNoGeneric(
isAnnotationMethod: Boolean isAnnotationMethod: Boolean
) = if (isAnnotationMethod) VALUE_FOR_ANNOTATION else DEFAULT ) = if (isAnnotationMethod) VALUE_FOR_ANNOTATION else DEFAULT
@JvmStatic @JvmStatic
fun getOptimalModeForValueParameter( fun getOptimalModeForValueParameter(
type: KotlinType type: KotlinType
) = getOptimalModeForSignaturePart(type, isForAnnotationParameter = false, canBeUsedInSupertypePosition = true) ) = getOptimalModeForSignaturePart(type, isForAnnotationParameter = false, canBeUsedInSupertypePosition = true)
@JvmStatic @JvmStatic
fun getOptimalModeForReturnType( fun getOptimalModeForReturnType(
type: KotlinType, type: KotlinType,
isAnnotationMethod: Boolean isAnnotationMethod: Boolean
) = getOptimalModeForSignaturePart(type, isForAnnotationParameter = isAnnotationMethod, canBeUsedInSupertypePosition = false) ) = getOptimalModeForSignaturePart(type, isForAnnotationParameter = isAnnotationMethod, canBeUsedInSupertypePosition = false)
private fun getOptimalModeForSignaturePart( private fun getOptimalModeForSignaturePart(
type: KotlinType, type: KotlinType,
isForAnnotationParameter: Boolean, isForAnnotationParameter: Boolean,
canBeUsedInSupertypePosition: Boolean canBeUsedInSupertypePosition: Boolean
): TypeMappingMode { ): TypeMappingMode {
if (type.arguments.isEmpty()) return DEFAULT if (type.arguments.isEmpty()) return DEFAULT
@@ -113,49 +114,51 @@ class TypeMappingMode private constructor(
val contravariantArgumentMode = val contravariantArgumentMode =
if (!canBeUsedInSupertypePosition) if (!canBeUsedInSupertypePosition)
TypeMappingMode( TypeMappingMode(
isForAnnotationParameter = isForAnnotationParameter, isForAnnotationParameter = isForAnnotationParameter,
skipDeclarationSiteWildcards = false, skipDeclarationSiteWildcards = false,
skipDeclarationSiteWildcardsIfPossible = true) skipDeclarationSiteWildcardsIfPossible = true
)
else else
null null
val invariantArgumentMode = val invariantArgumentMode =
if (canBeUsedInSupertypePosition) if (canBeUsedInSupertypePosition)
getOptimalModeForSignaturePart(type, isForAnnotationParameter, canBeUsedInSupertypePosition = false) getOptimalModeForSignaturePart(type, isForAnnotationParameter, canBeUsedInSupertypePosition = false)
else else
null null
return TypeMappingMode( return TypeMappingMode(
isForAnnotationParameter = isForAnnotationParameter, isForAnnotationParameter = isForAnnotationParameter,
skipDeclarationSiteWildcards = !canBeUsedInSupertypePosition, skipDeclarationSiteWildcards = !canBeUsedInSupertypePosition,
skipDeclarationSiteWildcardsIfPossible = true, skipDeclarationSiteWildcardsIfPossible = true,
genericContravariantArgumentMode = contravariantArgumentMode, genericContravariantArgumentMode = contravariantArgumentMode,
genericInvariantArgumentMode = invariantArgumentMode, genericInvariantArgumentMode = invariantArgumentMode,
needInlineClassWrapping = !type.isInlineClassType() needInlineClassWrapping = !type.isInlineClassType()
) )
} }
@JvmStatic @JvmStatic
fun createWithConstantDeclarationSiteWildcardsMode( fun createWithConstantDeclarationSiteWildcardsMode(
skipDeclarationSiteWildcards: Boolean, skipDeclarationSiteWildcards: Boolean,
isForAnnotationParameter: Boolean, isForAnnotationParameter: Boolean,
fallbackMode: TypeMappingMode? = null fallbackMode: TypeMappingMode? = null
) = TypeMappingMode( ) = TypeMappingMode(
isForAnnotationParameter = isForAnnotationParameter, isForAnnotationParameter = isForAnnotationParameter,
skipDeclarationSiteWildcards = skipDeclarationSiteWildcards, skipDeclarationSiteWildcards = skipDeclarationSiteWildcards,
genericArgumentMode = fallbackMode) genericArgumentMode = fallbackMode
)
} }
fun toGenericArgumentMode(effectiveVariance: Variance): TypeMappingMode = fun toGenericArgumentMode(effectiveVariance: Variance): TypeMappingMode =
when (effectiveVariance) { when (effectiveVariance) {
Variance.IN_VARIANCE -> genericContravariantArgumentMode ?: this Variance.IN_VARIANCE -> genericContravariantArgumentMode ?: this
Variance.INVARIANT -> genericInvariantArgumentMode ?: this Variance.INVARIANT -> genericInvariantArgumentMode ?: this
else -> genericArgumentMode ?: this else -> genericArgumentMode ?: this
} }
fun wrapInlineClassesMode(): TypeMappingMode = fun wrapInlineClassesMode(): TypeMappingMode =
TypeMappingMode( TypeMappingMode(
needPrimitiveBoxing, true, isForAnnotationParameter, skipDeclarationSiteWildcards, skipDeclarationSiteWildcardsIfPossible, needPrimitiveBoxing, true, isForAnnotationParameter, skipDeclarationSiteWildcards, skipDeclarationSiteWildcardsIfPossible,
genericArgumentMode, kotlinCollectionsToJavaCollections, genericContravariantArgumentMode, genericInvariantArgumentMode genericArgumentMode, kotlinCollectionsToJavaCollections, genericContravariantArgumentMode, genericInvariantArgumentMode
) )
} }