FIR: deserialize annotations (built-ins only, no enums & arrays yet)

Problems: enums aren't deserialized correctly; array aren't done at all;
Target annotation has no arguments in built-in for some reason.
This commit is contained in:
Mikhail Glukhikh
2019-04-19 13:39:26 +03:00
parent 092d10b1a8
commit b839e50ee2
5 changed files with 305 additions and 120 deletions
@@ -47,7 +47,7 @@ fun deserializeClassToSymbol(
?: FirDeserializationContext
.createForClass(classId, classProto, nameResolver, session)
typeParameters += context.typeDeserializer.ownTypeParameters.map { it.firUnsafe() }
//addAnnotationsFrom(classProto) ? TODO
annotations += context.annotationDeserializer.loadClassAnnotations(classProto)
val typeDeserializer = context.typeDeserializer
val classDeserializer = context.memberDeserializer
@@ -61,7 +61,6 @@ fun deserializeClassToSymbol(
FirResolvedTypeRefImpl(session, null, it, false, emptyList())
}
// TODO: properties
addDeclarations(classProto.functionList.map(classDeserializer::loadFunction))
addDeclarations(classProto.propertyList.map(classDeserializer::loadProperty))
@@ -0,0 +1,188 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.deserialization
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.impl.*
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.constructType
import org.jetbrains.kotlin.fir.resolve.getClassDeclaredCallableSymbols
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.service
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTagImpl
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
import org.jetbrains.kotlin.ir.expressions.IrConstKind
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.Argument.Value.Type.*
import org.jetbrains.kotlin.metadata.deserialization.Flags
import org.jetbrains.kotlin.metadata.deserialization.NameResolver
import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol
import org.jetbrains.kotlin.serialization.deserialization.getClassId
import org.jetbrains.kotlin.serialization.deserialization.getName
class FirAnnotationDeserializer(
private val session: FirSession,
private val nameResolver: NameResolver
) {
private val protocol = BuiltInSerializerProtocol
fun loadClassAnnotations(classProto: ProtoBuf.Class): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(classProto.flags)) return emptyList()
val annotations = classProto.getExtension(protocol.classAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
fun loadFunctionAnnotations(functionProto: ProtoBuf.Function): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(functionProto.flags)) return emptyList()
val annotations = functionProto.getExtension(protocol.functionAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
fun loadPropertyAnnotations(propertyProto: ProtoBuf.Property): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(propertyProto.flags)) return emptyList()
val annotations = propertyProto.getExtension(protocol.propertyAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
fun loadConstructorAnnotations(constructorProto: ProtoBuf.Constructor): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(constructorProto.flags)) return emptyList()
val annotations = constructorProto.getExtension(protocol.constructorAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
fun loadValueParameterAnnotations(valueParameterProto: ProtoBuf.ValueParameter): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(valueParameterProto.flags)) return emptyList()
val annotations = valueParameterProto.getExtension(protocol.parameterAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
fun loadTypeAnnotations(typeProto: ProtoBuf.Type): List<FirAnnotationCall> {
if (!Flags.HAS_ANNOTATIONS.get(typeProto.flags)) return emptyList()
val annotations = typeProto.getExtension(protocol.typeAnnotation).orEmpty()
return annotations.map { deserializeAnnotation(it) }
}
private fun deserializeAnnotation(proto: ProtoBuf.Annotation): FirAnnotationCall {
val classId = nameResolver.getClassId(proto.id)
val lookupTag = ConeClassLikeLookupTagImpl(classId)
val symbol = lookupTag.toSymbol(session)
val firAnnotationClass = (symbol as? FirClassSymbol)?.fir
var arguments = emptyList<FirExpression>()
if (proto.argumentCount != 0 && firAnnotationClass?.classKind == ClassKind.ANNOTATION_CLASS) {
val constructor = firAnnotationClass.declarations.firstOrNull { it is FirConstructor }
if (constructor is FirConstructor) {
val parameterByName = constructor.valueParameters.associateBy { it.name }
arguments = proto.argumentList.mapNotNull {
val name = nameResolver.getName(it.nameId)
val parameter = parameterByName[name] ?: return@mapNotNull null
val value = resolveValue(parameter.returnTypeRef, it.value, nameResolver) ?: return@mapNotNull null
FirNamedArgumentExpressionImpl(
session, null, name, value
)
}
}
}
return FirAnnotationCallImpl(
session, null, null,
symbol?.let {
FirResolvedTypeRefImpl(
session, null, it.constructType(emptyList(), isNullable = false),
isMarkedNullable = false, annotations = emptyList()
)
} ?: FirErrorTypeRefImpl(session, null, "Symbol not found for $classId")
).apply {
this.arguments += arguments
}
}
private fun resolveValue(
expectedType: FirTypeRef, value: ProtoBuf.Annotation.Argument.Value, nameResolver: NameResolver
): FirExpression? {
// TODO: val isUnsigned = Flags.IS_UNSIGNED.get(value.flags)
val result: FirExpression = when (value.type) {
BYTE -> const(IrConstKind.Byte, value.intValue.toByte())
CHAR -> const(IrConstKind.Char, value.intValue.toChar())
SHORT -> const(IrConstKind.Short, value.intValue.toShort())
INT -> const(IrConstKind.Int, value.intValue.toInt())
LONG -> const(IrConstKind.Long, value.intValue)
FLOAT -> const(IrConstKind.Float, value.floatValue)
DOUBLE -> const(IrConstKind.Double, value.doubleValue)
BOOLEAN -> const(IrConstKind.Boolean, (value.intValue != 0L))
STRING -> const(IrConstKind.String, nameResolver.getString(value.stringValue))
ANNOTATION -> deserializeAnnotation(value.annotation)
CLASS -> FirGetClassCallImpl(session, null).apply {
val classId = nameResolver.getClassId(value.classId)
val lookupTag = ConeClassLikeLookupTagImpl(classId)
val symbol = lookupTag.toSymbol(this@FirAnnotationDeserializer.session) ?: return null
val referencedType = symbol.constructType(emptyArray(), isNullable = false)
arguments += FirClassReferenceExpressionImpl(
this@FirAnnotationDeserializer.session, null,
FirResolvedTypeRefImpl(
this@FirAnnotationDeserializer.session, null, referencedType,
isMarkedNullable = false, annotations = emptyList()
)
)
}
ENUM -> FirFunctionCallImpl(session, null).apply {
val classId = nameResolver.getClassId(value.classId)
val entryName = nameResolver.getName(value.enumValueId)
val callableSymbol =
this@FirAnnotationDeserializer.session.service<FirSymbolProvider>().getClassDeclaredCallableSymbols(
classId, entryName
).firstOrNull()
this.calleeReference = callableSymbol?.let {
FirResolvedCallableReferenceImpl(this@FirAnnotationDeserializer.session, null, entryName, it)
} ?: FirErrorNamedReference(
this@FirAnnotationDeserializer.session, null,
errorReason = "Strange deserialized enum value: $classId.$entryName"
)
}
// ARRAY -> {
// val expectedIsArray = KotlinBuiltIns.isArray(expectedType) || KotlinBuiltIns.isPrimitiveArray(expectedType)
// val arrayElements = value.arrayElementList
//
// val actualArrayType =
// if (arrayElements.isNotEmpty()) {
// val actualElementType = resolveArrayElementType(arrayElements.first(), nameResolver)
// builtIns.getPrimitiveArrayKotlinTypeByPrimitiveKotlinType(actualElementType)
// ?: builtIns.getArrayType(Variance.INVARIANT, actualElementType)
// } else {
// // In the case of empty array, no element has the element type, so we fall back to the expected type, if any.
// // This is not very accurate when annotation class has been changed without recompiling clients,
// // but should not in fact matter because the value is empty anyway
// if (expectedIsArray) expectedType else builtIns.getArrayType(Variance.INVARIANT, builtIns.anyType)
// }
//
// val expectedElementType = builtIns.getArrayElementType(if (expectedIsArray) expectedType else actualArrayType)
//
// ConstantValueFactory.createArrayValue(
// arrayElements.map {
// resolveValue(expectedElementType, it, nameResolver)
// },
// actualArrayType
// )
// }
// else -> error("Unsupported annotation argument type: ${value.type} (expected $expectedType)")
else -> return null
}
return result
}
private fun <T> const(kind: IrConstKind<T>, value: T) = FirConstExpressionImpl(session, null, kind, value)
}
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.*
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
import org.jetbrains.kotlin.fir.resolve.transformers.firUnsafe
@@ -18,7 +17,6 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
@@ -27,8 +25,6 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.*
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.protobuf.MessageLite
import org.jetbrains.kotlin.serialization.deserialization.AnnotatedCallableKind
import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
import org.jetbrains.kotlin.serialization.deserialization.getName
import org.jetbrains.kotlin.types.Variance
@@ -57,6 +53,8 @@ class FirDeserializationContext(
val memberDeserializer: FirMemberDeserializer = FirMemberDeserializer(this)
val annotationDeserializer: FirAnnotationDeserializer = FirAnnotationDeserializer(session, nameResolver)
companion object {
fun createForPackage(
fqName: FqName,
@@ -152,7 +150,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val callableName = c.nameResolver.getName(proto.name)
val symbol = FirPropertySymbol(CallableId(c.packageFqName, c.relativeClassName, callableName))
val local = c.childContext(proto.typeParameterList)
val returnTypeRef = local.typeDeserializer.type(proto.returnType(c.typeTable)).toTypeRef()
val returnTypeRef = proto.returnType(c.typeTable).toTypeRef(local)
val getterFlags = if (proto.hasGetterFlags()) proto.getterFlags else flags
val setterFlags = if (proto.hasSetterFlags()) proto.setterFlags else flags
@@ -169,7 +167,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
false,
Flags.IS_CONST.get(flags),
Flags.IS_LATEINIT.get(flags),
proto.receiverType(c.typeTable)?.let(local.typeDeserializer::type)?.toTypeRef(),
proto.receiverType(c.typeTable)?.toTypeRef(local),
returnTypeRef,
Flags.IS_VAR.get(flags),
null,
@@ -178,6 +176,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
null
).apply {
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.firUnsafe() }
annotations += c.annotationDeserializer.loadPropertyAnnotations(proto)
}
}
@@ -213,12 +212,12 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
Flags.IS_TAILREC.get(flags),
Flags.IS_EXTERNAL_FUNCTION.get(flags),
Flags.IS_SUSPEND.get(flags),
proto.receiverType(c.typeTable)?.let(local.typeDeserializer::type)?.toTypeRef(),
local.typeDeserializer.type(proto.returnType(c.typeTable)).toTypeRef()
proto.receiverType(c.typeTable)?.toTypeRef(local),
proto.returnType(c.typeTable).toTypeRef(local)
).apply {
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.firUnsafe() }
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
annotations += getAnnotations(proto, flags, AnnotatedCallableKind.FUNCTION)
annotations += local.annotationDeserializer.loadFunctionAnnotations(proto)
}
}
@@ -272,7 +271,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
}.apply {
this.typeParameters += typeParameters
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
annotations += getAnnotations(proto, flags, AnnotatedCallableKind.FUNCTION)
annotations += local.annotationDeserializer.loadConstructorAnnotations(proto)
}
}
@@ -287,28 +286,27 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
private fun valueParameters(
valueParameters: List<ProtoBuf.ValueParameter>
): List<FirValueParameter> {
return valueParameters.mapIndexed { i, proto ->
return valueParameters.map { proto ->
val flags = if (proto.hasFlags()) proto.flags else 0
FirValueParameterImpl(
c.session, null, c.nameResolver.getName(proto.name),
c.typeDeserializer.type(proto.type(c.typeTable)).toTypeRef(),
proto.type(c.typeTable).toTypeRef(c),
defaultValue(flags),
Flags.IS_CROSSINLINE.get(flags),
Flags.IS_NOINLINE.get(flags),
proto.varargElementType(c.typeTable) != null
).apply {
annotations += emptyList() // TODO: parameter annotations
annotations += c.annotationDeserializer.loadValueParameterAnnotations(proto)
}
}.toList()
}
// TODO: Annotations
private fun getAnnotations(proto: MessageLite, flags: Int, kind: AnnotatedCallableKind) = emptyList<FirAnnotationCall>()
private fun ConeKotlinType.toTypeRef(): FirTypeRef {
// TODO: annotations
return FirResolvedTypeRefImpl(c.session, null, this, nullability.isNullable, emptyList())
private fun ProtoBuf.Type.toTypeRef(context: FirDeserializationContext): FirTypeRef {
val coneType = context.typeDeserializer.type(this)
return FirResolvedTypeRefImpl(
c.session, null, coneType, coneType.nullability.isNullable,
c.annotationDeserializer.loadTypeAnnotations(this)
)
}
}
@@ -135,7 +135,7 @@ public abstract interface Map<K, out V> : R|kotlin/Any| {
public abstract operator fun get(key: R|K|): R|V|
public open fun getOrDefault(key: R|K|, defaultValue: R|V|): R|V|
@R|kotlin/SinceKotlin|(version = String(1.1)) @R|kotlin/internal/PlatformDependent|() public open fun getOrDefault(key: R|K|, defaultValue: R|V|): R|V|
public abstract fun isEmpty(): R|kotlin/Boolean|
@@ -240,7 +240,7 @@ public abstract interface MutableMap<K, V> : R|kotlin/collections/Map<K, V>| {
public abstract fun remove(key: R|K|): R|V|
public open fun remove(key: R|K|, value: R|V|): R|kotlin/Boolean|
@R|kotlin/SinceKotlin|(version = String(1.1)) @R|kotlin/internal/PlatformDependent|() public open fun remove(key: R|K|, value: R|V|): R|kotlin/Boolean|
public abstract val entries: R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|
public get(): R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|
+96 -96
View File
@@ -12,9 +12,9 @@ public final fun doubleArrayOf(vararg elements: R|kotlin/DoubleArray|): R|kotlin
public final inline fun <reified T> emptyArray(): R|kotlin/Array<T>|
public final inline fun <reified T> enumValueOf(name: R|kotlin/String|): R|T|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final inline fun <reified T> enumValueOf(name: R|kotlin/String|): R|T|
public final inline fun <reified T> enumValues(): R|kotlin/Array<T>|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final inline fun <reified T> enumValues(): R|kotlin/Array<T>|
public final fun floatArrayOf(vararg elements: R|kotlin/FloatArray|): R|kotlin/FloatArray|
@@ -69,7 +69,7 @@ public final class Boolean : R|kotlin/Comparable<kotlin/Boolean>| {
private constructor(): R|kotlin/Boolean|
public final companion object Companion : R|kotlin/Any| {
@R|kotlin/SinceKotlin|(version = String(1.3)) public final companion object Companion : R|kotlin/Any| {
private constructor(): R|kotlin/Boolean.Companion|
}
@@ -133,17 +133,17 @@ public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -165,17 +165,17 @@ public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
public final operator fun rangeTo(other: R|kotlin/Short|): R|kotlin/ranges/IntRange|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -216,10 +216,10 @@ public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
public final const val MIN_VALUE: R|kotlin/Byte|
public get(): R|kotlin/Byte|
public final const val SIZE_BITS: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BITS: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BYTES: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BYTES: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|kotlin/Byte.Companion|
@@ -285,7 +285,7 @@ public final class Char : R|kotlin/Comparable<kotlin/Char>| {
public final const val MAX_SURROGATE: R|kotlin/Char|
public get(): R|kotlin/Char|
public final const val MAX_VALUE: R|kotlin/Char|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val MAX_VALUE: R|kotlin/Char|
public get(): R|kotlin/Char|
public final const val MIN_HIGH_SURROGATE: R|kotlin/Char|
@@ -297,13 +297,13 @@ public final class Char : R|kotlin/Comparable<kotlin/Char>| {
public final const val MIN_SURROGATE: R|kotlin/Char|
public get(): R|kotlin/Char|
public final const val MIN_VALUE: R|kotlin/Char|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val MIN_VALUE: R|kotlin/Char|
public get(): R|kotlin/Char|
public final const val SIZE_BITS: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BITS: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BYTES: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BYTES: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|kotlin/Char.Companion|
@@ -348,7 +348,7 @@ public abstract interface Comparable<in T> : R|kotlin/Any| {
}
public final annotation class Deprecated : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/MustBeDocumented|() public final annotation class Deprecated : R|kotlin/Annotation| {
public final val level: R|kotlin/DeprecationLevel|
public get(): R|kotlin/DeprecationLevel|
@@ -408,17 +408,17 @@ public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Double|
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Double|
@@ -432,17 +432,17 @@ public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Double|
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Double|
@@ -514,7 +514,7 @@ public final class DoubleArray : R|kotlin/Any| {
}
public final annotation class DslMarker : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.BINARY>#()) @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.1)) public final annotation class DslMarker : R|kotlin/Annotation| {
public constructor(): R|kotlin/DslMarker|
}
@@ -545,7 +545,7 @@ public abstract class Enum<E> : R|kotlin/Comparable<E>| {
}
public final annotation class ExtensionFunctionType : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/MustBeDocumented|() public final annotation class ExtensionFunctionType : R|kotlin/Annotation| {
public constructor(): R|kotlin/ExtensionFunctionType|
}
@@ -591,17 +591,17 @@ public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>|
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Float|
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Float|
@@ -615,17 +615,17 @@ public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>|
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Float|
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Float|
@@ -745,17 +745,17 @@ public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
public final infix fun or(other: R|kotlin/Int|): R|kotlin/Int|
@@ -779,17 +779,17 @@ public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
public final operator fun rangeTo(other: R|kotlin/Short|): R|kotlin/ranges/IntRange|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
public final infix fun shl(bitCount: R|kotlin/Int|): R|kotlin/Int|
@@ -838,10 +838,10 @@ public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
public final const val MIN_VALUE: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BITS: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BITS: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BYTES: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BYTES: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|kotlin/Int.Companion|
@@ -911,17 +911,17 @@ public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Long|
public final infix fun or(other: R|kotlin/Long|): R|kotlin/Long|
@@ -945,17 +945,17 @@ public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
public final operator fun rangeTo(other: R|kotlin/Short|): R|kotlin/ranges/LongRange|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Long|
public final infix fun shl(bitCount: R|kotlin/Int|): R|kotlin/Long|
@@ -1004,10 +1004,10 @@ public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
public final const val MIN_VALUE: R|kotlin/Long|
public get(): R|kotlin/Long|
public final const val SIZE_BITS: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BITS: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BYTES: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BYTES: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|kotlin/Long.Companion|
@@ -1056,7 +1056,7 @@ public abstract class Number : R|kotlin/Any| {
}
public final annotation class ParameterName : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.1)) public final annotation class ParameterName : R|kotlin/Annotation| {
public final val name: R|kotlin/String|
public get(): R|kotlin/String|
@@ -1064,12 +1064,12 @@ public final annotation class ParameterName : R|kotlin/Annotation| {
}
public final annotation class PublishedApi : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.BINARY>#()) @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.1)) public final annotation class PublishedApi : R|kotlin/Annotation| {
public constructor(): R|kotlin/PublishedApi|
}
public final annotation class ReplaceWith : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.BINARY>#()) @R|kotlin/annotation/MustBeDocumented|() public final annotation class ReplaceWith : R|kotlin/Annotation| {
public final val expression: R|kotlin/String|
public get(): R|kotlin/String|
@@ -1121,17 +1121,17 @@ public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>|
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/Deprecated|(message = String(Use rem(other) instead), replaceWith = @R|kotlin/ReplaceWith|(expression = String(rem(other))) , level = <Strange deserialized enum value: kotlin/DeprecationLevel.ERROR>#()) public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -1153,17 +1153,17 @@ public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>|
public final operator fun rangeTo(other: R|kotlin/Short|): R|kotlin/ranges/IntRange|
public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.1)) public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -1204,10 +1204,10 @@ public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>|
public final const val MIN_VALUE: R|kotlin/Short|
public get(): R|kotlin/Short|
public final const val SIZE_BITS: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BITS: R|kotlin/Int|
public get(): R|kotlin/Int|
public final const val SIZE_BYTES: R|kotlin/Int|
@R|kotlin/SinceKotlin|(version = String(1.3)) public final const val SIZE_BYTES: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|kotlin/Short.Companion|
@@ -1232,7 +1232,7 @@ public final class ShortArray : R|kotlin/Any| {
}
public final annotation class SinceKotlin : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.BINARY>#()) @R|kotlin/annotation/MustBeDocumented|() public final annotation class SinceKotlin : R|kotlin/Annotation| {
public final val version: R|kotlin/String|
public get(): R|kotlin/String|
@@ -1261,7 +1261,7 @@ public final class String : R|kotlin/Comparable<kotlin/String>|, R|kotlin/CharSe
}
public final annotation class Suppress : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.SOURCE>#()) public final annotation class Suppress : R|kotlin/Annotation| {
public final val names: R|kotlin/Array<out kotlin/String>|
public get(): R|kotlin/Array<out kotlin/String>|
@@ -1293,7 +1293,7 @@ public final object Unit : R|kotlin/Any| {
}
public final annotation class UnsafeVariance : R|kotlin/Annotation| {
@R|kotlin/annotation/Target|() @R|kotlin/annotation/Retention|(value = <Strange deserialized enum value: kotlin/annotation/AnnotationRetention.SOURCE>#()) @R|kotlin/annotation/MustBeDocumented|() public final annotation class UnsafeVariance : R|kotlin/Annotation| {
public constructor(): R|kotlin/UnsafeVariance|
}