FIR: Support deserialization for built-in classes content
This commit is contained in:
@@ -11,7 +11,10 @@ import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.java.declarations.*
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaConstructor
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaMethod
|
||||
import org.jetbrains.kotlin.fir.resolve.AbstractFirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
@@ -22,6 +25,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.load.java.JavaClassFinder
|
||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -66,7 +70,7 @@ class JavaSymbolProvider(
|
||||
override fun getClassLikeSymbolByFqName(classId: ClassId): ConeClassLikeSymbol? {
|
||||
return classCache.lookupCacheOrCalculateWithPostCompute(classId, {
|
||||
val foundClass = findClass(classId)
|
||||
if (foundClass == null) {
|
||||
if (foundClass == null || foundClass.annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }) {
|
||||
null to null
|
||||
} else {
|
||||
FirClassSymbol(classId) to foundClass
|
||||
|
||||
@@ -28,6 +28,10 @@ interface FirSymbolProvider {
|
||||
fun getCallableSymbols(callableId: CallableId): List<ConeCallableSymbol>
|
||||
|
||||
fun getAllCallableNamesInPackage(fqName: FqName): Set<Name> = emptySet()
|
||||
fun getClassNamesInPackage(fqName: FqName): Set<Name> = emptySet()
|
||||
|
||||
fun getAllCallableNamesInClass(classId: ClassId): Set<Name> = emptySet()
|
||||
fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> = emptySet()
|
||||
|
||||
fun getPackage(fqName: FqName): FqName? // TODO: Replace to symbol sometime
|
||||
|
||||
|
||||
+12
@@ -30,4 +30,16 @@ class FirCompositeSymbolProvider(val providers: List<FirSymbolProvider>) : FirSy
|
||||
override fun getAllCallableNamesInPackage(fqName: FqName): Set<Name> {
|
||||
return providers.flatMapTo(mutableSetOf()) { it.getAllCallableNamesInPackage(fqName) }
|
||||
}
|
||||
|
||||
override fun getClassNamesInPackage(fqName: FqName): Set<Name> {
|
||||
return providers.flatMapTo(mutableSetOf()) { it.getClassNamesInPackage(fqName) }
|
||||
}
|
||||
|
||||
override fun getAllCallableNamesInClass(classId: ClassId): Set<Name> {
|
||||
return providers.flatMapTo(mutableSetOf()) { it.getAllCallableNamesInClass(classId) }
|
||||
}
|
||||
|
||||
override fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> {
|
||||
return providers.flatMapTo(mutableSetOf()) { it.getNestedClassesNamesInClass(classId) }
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -56,4 +56,16 @@ class FirDependenciesSymbolProviderImpl(val session: FirSession) : AbstractFirSy
|
||||
override fun getAllCallableNamesInPackage(fqName: FqName): Set<Name> {
|
||||
return dependencyProviders.flatMapTo(mutableSetOf()) { it.getAllCallableNamesInPackage(fqName) }
|
||||
}
|
||||
|
||||
override fun getClassNamesInPackage(fqName: FqName): Set<Name> {
|
||||
return dependencyProviders.flatMapTo(mutableSetOf()) { it.getClassNamesInPackage(fqName) }
|
||||
}
|
||||
|
||||
override fun getAllCallableNamesInClass(classId: ClassId): Set<Name> {
|
||||
return dependencyProviders.flatMapTo(mutableSetOf()) { it.getAllCallableNamesInClass(classId) }
|
||||
}
|
||||
|
||||
override fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> {
|
||||
return dependencyProviders.flatMapTo(mutableSetOf()) { it.getNestedClassesNamesInClass(classId) }
|
||||
}
|
||||
}
|
||||
|
||||
+51
-8
@@ -12,6 +12,9 @@ import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirClassImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirTypeParameterImpl
|
||||
import org.jetbrains.kotlin.fir.deserialization.FirDeserializationComponents
|
||||
@@ -19,10 +22,7 @@ import org.jetbrains.kotlin.fir.deserialization.FirDeserializationContext
|
||||
import org.jetbrains.kotlin.fir.deserialization.FirTypeDeserializer
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.getOrPut
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
@@ -90,7 +90,6 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider
|
||||
}
|
||||
|
||||
fun getClassLikeSymbolByFqName(classId: ClassId): ConeClassLikeSymbol? {
|
||||
|
||||
if (classId !in classDataFinder.allClassIds) return null
|
||||
return lookup.getOrPut(classId, { FirClassSymbol(classId) }) { symbol ->
|
||||
val classData = classDataFinder.findClassData(classId)!!
|
||||
@@ -130,7 +129,26 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider
|
||||
if (it == null) return@mapNotNullTo null
|
||||
FirResolvedTypeRefImpl(this@BuiltInsPackageFragment.session, null, it, false, emptyList())
|
||||
}
|
||||
// TODO: declarations (probably should be done later)
|
||||
|
||||
val classTypeTable = TypeTable(classProto.typeTable)
|
||||
val classDeserializer = FirDeserializationContext(
|
||||
nameResolver, classTypeTable,
|
||||
VersionRequirementTable.EMPTY, // TODO:
|
||||
this@BuiltInsPackageFragment.session,
|
||||
fqName,
|
||||
null,
|
||||
FirTypeDeserializer(
|
||||
nameResolver,
|
||||
classTypeTable,
|
||||
classProto.typeParameterList,
|
||||
null
|
||||
),
|
||||
FirDeserializationComponents()
|
||||
).memberDeserializer
|
||||
|
||||
// TODO: properties + nested classes
|
||||
declarations += classData.classProto.functionList.map(classDeserializer::loadFunction)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,6 +162,10 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider
|
||||
fun getAllCallableNames(): Set<Name> {
|
||||
return packageProto.`package`.functionList.mapTo(mutableSetOf()) { nameResolver.getName(it.name) }
|
||||
}
|
||||
|
||||
fun getAllClassNames(): Set<Name> {
|
||||
return classDataFinder.allClassIds.mapTo(mutableSetOf()) { it.shortClassName }
|
||||
}
|
||||
}
|
||||
|
||||
override fun getPackage(fqName: FqName): FqName? {
|
||||
@@ -199,8 +221,9 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider
|
||||
|
||||
override fun getCallableSymbols(callableId: CallableId): List<ConeCallableSymbol> {
|
||||
if (callableId.classId != null) {
|
||||
// TODO: Support classes
|
||||
return emptyList()
|
||||
return getClassDeclarations(callableId.classId!!).filterIsInstance<FirCallableMemberDeclaration>()
|
||||
.filter { it.name == callableId.callableName }
|
||||
.map { it.symbol }
|
||||
}
|
||||
|
||||
return allPackageFragments[callableId.packageName]?.flatMap {
|
||||
@@ -213,4 +236,24 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider
|
||||
it.getAllCallableNames()
|
||||
} ?: emptySet()
|
||||
}
|
||||
|
||||
override fun getClassNamesInPackage(fqName: FqName): Set<Name> {
|
||||
return allPackageFragments[fqName]?.flatMapTo(mutableSetOf()) {
|
||||
it.getAllClassNames()
|
||||
} ?: emptySet()
|
||||
}
|
||||
|
||||
override fun getAllCallableNamesInClass(classId: ClassId): Set<Name> {
|
||||
return getClassDeclarations(classId).filterIsInstance<FirCallableMemberDeclaration>().mapTo(mutableSetOf()) { it.name }
|
||||
}
|
||||
|
||||
private fun getClassDeclarations(classId: ClassId): List<FirDeclaration> {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val classSymbol = getClassLikeSymbolByFqName(classId) as? FirBasedSymbol<FirRegularClass> ?: return emptyList()
|
||||
return classSymbol.fir.declarations
|
||||
}
|
||||
|
||||
override fun getNestedClassesNamesInClass(classId: ClassId): Set<Name> {
|
||||
return getClassDeclarations(classId).filterIsInstance<FirRegularClass>().mapTo(mutableSetOf()) { it.name }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,240 @@
|
||||
public abstract class BooleanIterator : R|kotlin/collections/Iterator<kotlin/Boolean>| {
|
||||
public final operator fun next(): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun nextBoolean(): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
public abstract class ByteIterator : R|kotlin/collections/Iterator<kotlin/Byte>| {
|
||||
public final operator fun next(): R|kotlin/Byte|
|
||||
|
||||
public abstract fun nextByte(): R|kotlin/Byte|
|
||||
|
||||
}
|
||||
|
||||
public abstract class CharIterator : R|kotlin/collections/Iterator<kotlin/Char>| {
|
||||
public final operator fun next(): R|kotlin/Char|
|
||||
|
||||
public abstract fun nextChar(): R|kotlin/Char|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface Collection : R|kotlin/collections/Iterable<E>| {
|
||||
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
|
||||
|
||||
}
|
||||
|
||||
public abstract class DoubleIterator : R|kotlin/collections/Iterator<kotlin/Double>| {
|
||||
public final operator fun next(): R|kotlin/Double|
|
||||
|
||||
public abstract fun nextDouble(): R|kotlin/Double|
|
||||
|
||||
}
|
||||
|
||||
public abstract class FloatIterator : R|kotlin/collections/Iterator<kotlin/Float>| {
|
||||
public final operator fun next(): R|kotlin/Float|
|
||||
|
||||
public abstract fun nextFloat(): R|kotlin/Float|
|
||||
|
||||
}
|
||||
|
||||
public abstract class IntIterator : R|kotlin/collections/Iterator<kotlin/Int>| {
|
||||
public final operator fun next(): R|kotlin/Int|
|
||||
|
||||
public abstract fun nextInt(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface Iterable : R|kotlin/Any| {
|
||||
public abstract operator fun iterator(): R|kotlin/collections/Iterator<T>|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface Iterator : R|kotlin/Any| {
|
||||
public abstract operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun next(): R|T|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface List : R|kotlin/collections/Collection<E>| {
|
||||
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun get(index: R|kotlin/Int|): R|E|
|
||||
|
||||
public abstract fun indexOf(element: R|E|): R|kotlin/Int|
|
||||
|
||||
public abstract fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
|
||||
|
||||
public abstract fun lastIndexOf(element: R|E|): R|kotlin/Int|
|
||||
|
||||
public abstract fun listIterator(): R|kotlin/collections/ListIterator<E>|
|
||||
|
||||
public abstract fun listIterator(index: R|kotlin/Int|): R|kotlin/collections/ListIterator<E>|
|
||||
|
||||
public abstract fun subList(fromIndex: R|kotlin/Int|, toIndex: R|kotlin/Int|): R|kotlin/collections/List<E>|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface ListIterator : R|kotlin/collections/Iterator<T>| {
|
||||
public abstract operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun hasPrevious(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun next(): R|T|
|
||||
|
||||
public abstract fun nextIndex(): R|kotlin/Int|
|
||||
|
||||
public abstract fun previous(): R|T|
|
||||
|
||||
public abstract fun previousIndex(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>| {
|
||||
public final operator fun next(): R|kotlin/Long|
|
||||
|
||||
public abstract fun nextLong(): R|kotlin/Long|
|
||||
|
||||
}
|
||||
|
||||
<K, V> public abstract interface Map : R|kotlin/Any| {
|
||||
public abstract fun containsKey(key: R|K|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun containsValue(value: R|V|): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun get(key: R|K|): R|V|
|
||||
|
||||
public open fun getOrDefault(key: R|K|, defaultValue: R|V|): R|V|
|
||||
|
||||
public abstract fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface MutableCollection : R|kotlin/collections/Collection<E>|, R|kotlin/collections/MutableIterable<E>| {
|
||||
public abstract fun add(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun clear(): R|kotlin/Unit|
|
||||
|
||||
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<E>|
|
||||
|
||||
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface MutableIterable : R|kotlin/collections/Iterable<T>| {
|
||||
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<T>|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface MutableIterator : R|kotlin/collections/Iterator<T>| {
|
||||
public abstract fun remove(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface MutableList : R|kotlin/collections/List<E>|, R|kotlin/collections/MutableCollection<E>| {
|
||||
public abstract fun add(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun add(index: R|kotlin/Int|, element: R|E|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun addAll(index: R|kotlin/Int|, elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun clear(): R|kotlin/Unit|
|
||||
|
||||
public abstract fun listIterator(): R|kotlin/collections/MutableListIterator<E>|
|
||||
|
||||
public abstract fun listIterator(index: R|kotlin/Int|): R|kotlin/collections/MutableListIterator<E>|
|
||||
|
||||
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun removeAt(index: R|kotlin/Int|): R|E|
|
||||
|
||||
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun set(index: R|kotlin/Int|, element: R|E|): R|E|
|
||||
|
||||
public abstract fun subList(fromIndex: R|kotlin/Int|, toIndex: R|kotlin/Int|): R|kotlin/collections/MutableList<E>|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface MutableListIterator : R|kotlin/collections/ListIterator<T>|, R|kotlin/collections/MutableIterator<T>| {
|
||||
public abstract fun add(element: R|T|): R|kotlin/Unit|
|
||||
|
||||
public abstract operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun next(): R|T|
|
||||
|
||||
public abstract fun remove(): R|kotlin/Unit|
|
||||
|
||||
public abstract fun set(element: R|T|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
<K, V> public abstract interface MutableMap : R|kotlin/collections/Map<K, V>| {
|
||||
public abstract fun clear(): R|kotlin/Unit|
|
||||
|
||||
public abstract fun put(key: R|K|, value: R|V|): R|V|
|
||||
|
||||
public abstract fun putAll(from: R|kotlin/collections/Map<out K, V>|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun remove(key: R|K|): R|V|
|
||||
|
||||
public open fun remove(key: R|K|, value: R|V|): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface MutableSet : R|kotlin/collections/Set<E>|, R|kotlin/collections/MutableCollection<E>| {
|
||||
public abstract fun add(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun clear(): R|kotlin/Unit|
|
||||
|
||||
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<E>|
|
||||
|
||||
public abstract fun remove(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun removeAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun retainAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
<E> public abstract interface Set : R|kotlin/collections/Collection<E>| {
|
||||
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
|
||||
|
||||
public abstract fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public abstract operator fun iterator(): R|kotlin/collections/Iterator<E>|
|
||||
|
||||
}
|
||||
|
||||
public abstract class ShortIterator : R|kotlin/collections/Iterator<kotlin/Short>| {
|
||||
public final operator fun next(): R|kotlin/Short|
|
||||
|
||||
public abstract fun nextShort(): R|kotlin/Short|
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1,106 @@
|
||||
public open class CharProgression : R|kotlin/collections/Iterable<kotlin/Char>| {
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun iterator(): R|kotlin/collections/CharIterator|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
internal final class CharProgressionIterator : R|kotlin/collections/CharIterator| {
|
||||
public open operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public open fun nextChar(): R|kotlin/Char|
|
||||
|
||||
}
|
||||
|
||||
public final class CharRange : R|kotlin/ranges/CharProgression|, R|kotlin/ranges/ClosedRange<kotlin/Char>| {
|
||||
public open operator fun contains(value: R|kotlin/Char|): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface ClosedRange : R|kotlin/Any| {
|
||||
public open operator fun contains(value: R|T|): R|kotlin/Boolean|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
public open class IntProgression : R|kotlin/collections/Iterable<kotlin/Int>| {
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun iterator(): R|kotlin/collections/IntIterator|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
internal final class IntProgressionIterator : R|kotlin/collections/IntIterator| {
|
||||
public open operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public open fun nextInt(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public final class IntRange : R|kotlin/ranges/IntProgression|, R|kotlin/ranges/ClosedRange<kotlin/Int>| {
|
||||
public open operator fun contains(value: R|kotlin/Int|): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
public open class LongProgression : R|kotlin/collections/Iterable<kotlin/Long>| {
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun iterator(): R|kotlin/collections/LongIterator|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
internal final class LongProgressionIterator : R|kotlin/collections/LongIterator| {
|
||||
public open operator fun hasNext(): R|kotlin/Boolean|
|
||||
|
||||
public open fun nextLong(): R|kotlin/Long|
|
||||
|
||||
}
|
||||
|
||||
public final class LongRange : R|kotlin/ranges/LongProgression|, R|kotlin/ranges/ClosedRange<kotlin/Long>| {
|
||||
public open operator fun contains(value: R|kotlin/Long|): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun isEmpty(): R|kotlin/Boolean|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
|
||||
+953
@@ -28,3 +28,956 @@ public final operator fun R|kotlin/String|.plus(other: R|kotlin/Any|): R|kotlin/
|
||||
|
||||
public final fun R|kotlin/Any|.toString(): R|kotlin/String|
|
||||
|
||||
public abstract interface Annotation : R|kotlin/Any| {
|
||||
}
|
||||
|
||||
public open class Any {
|
||||
public open operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public open fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
<T> public final class Array : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|T|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/Iterator<T>|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|T|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final class Boolean : R|kotlin/Comparable<kotlin/Boolean>| {
|
||||
public final infix fun and(other: R|kotlin/Boolean|): R|kotlin/Boolean|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Boolean|): R|kotlin/Int|
|
||||
|
||||
public final operator fun not(): R|kotlin/Boolean|
|
||||
|
||||
public final infix fun or(other: R|kotlin/Boolean|): R|kotlin/Boolean|
|
||||
|
||||
public final infix fun xor(other: R|kotlin/Boolean|): R|kotlin/Boolean|
|
||||
|
||||
}
|
||||
|
||||
public final class BooleanArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Boolean|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/BooleanIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Boolean|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
|
||||
public open operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Byte|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Byte|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Byte|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Int|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Long|): R|kotlin/ranges/LongRange|
|
||||
|
||||
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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Int|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public final class ByteArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Byte|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/ByteIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Byte|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final class Char : R|kotlin/Comparable<kotlin/Char>| {
|
||||
public open operator fun compareTo(other: R|kotlin/Char|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Char|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Char|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Char|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Char|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Char|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Char|): R|kotlin/ranges/CharRange|
|
||||
|
||||
public final fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public final fun toChar(): R|kotlin/Char|
|
||||
|
||||
public final fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public final fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public final fun toInt(): R|kotlin/Int|
|
||||
|
||||
public final fun toLong(): R|kotlin/Long|
|
||||
|
||||
public final fun toShort(): R|kotlin/Short|
|
||||
|
||||
}
|
||||
|
||||
public final class CharArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Char|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/CharIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Char|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public abstract interface CharSequence : R|kotlin/Any| {
|
||||
public abstract operator fun get(index: R|kotlin/Int|): R|kotlin/Char|
|
||||
|
||||
public abstract fun subSequence(startIndex: R|kotlin/Int|, endIndex: R|kotlin/Int|): R|kotlin/CharSequence|
|
||||
|
||||
}
|
||||
|
||||
public abstract interface Cloneable : R|kotlin/Any| {
|
||||
protected open fun clone(): R|kotlin/Any|
|
||||
|
||||
}
|
||||
|
||||
<T> public abstract interface Comparable : R|kotlin/Any| {
|
||||
public abstract operator fun compareTo(other: R|T|): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Deprecated : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final enum class DeprecationLevel : R|kotlin/Enum<kotlin/DeprecationLevel>| {
|
||||
}
|
||||
|
||||
public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>| {
|
||||
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Double|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|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|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Double|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Double|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Double|
|
||||
|
||||
}
|
||||
|
||||
public final class DoubleArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Double|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/DoubleIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Double|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class DslMarker : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
<E> public abstract class Enum : R|kotlin/Comparable<E>| {
|
||||
protected final fun clone(): R|kotlin/Any|
|
||||
|
||||
public final operator fun compareTo(other: R|E|): R|kotlin/Int|
|
||||
|
||||
public final operator fun equals(other: R|kotlin/Any|): R|kotlin/Boolean|
|
||||
|
||||
public final fun hashCode(): R|kotlin/Int|
|
||||
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class ExtensionFunctionType : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>| {
|
||||
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Float|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|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|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Float|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Float|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Float|
|
||||
|
||||
}
|
||||
|
||||
public final class FloatArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Float|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/FloatIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Float|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
<R> public abstract interface Function : R|kotlin/Any| {
|
||||
}
|
||||
|
||||
public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
|
||||
public final infix fun and(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Int|
|
||||
|
||||
public final fun inv(): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final infix fun or(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Byte|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Int|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Long|): R|kotlin/ranges/LongRange|
|
||||
|
||||
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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final infix fun shl(bitCount: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final infix fun shr(bitCount: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Int|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Int|
|
||||
|
||||
public final infix fun ushr(bitCount: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final infix fun xor(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public final class IntArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/IntIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Int|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
|
||||
public final infix fun and(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Long|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Long|
|
||||
|
||||
public final fun inv(): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|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|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Long|
|
||||
|
||||
public final infix fun or(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Byte|): R|kotlin/ranges/LongRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Int|): R|kotlin/ranges/LongRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Long|): R|kotlin/ranges/LongRange|
|
||||
|
||||
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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Long|
|
||||
|
||||
public final infix fun shl(bitCount: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final infix fun shr(bitCount: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Long|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Long|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Long|
|
||||
|
||||
public final infix fun ushr(bitCount: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final infix fun xor(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
}
|
||||
|
||||
public final class LongArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Long|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/LongIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Long|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final class Nothing {
|
||||
}
|
||||
|
||||
public abstract class Number : R|kotlin/Any| {
|
||||
public abstract fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public abstract fun toChar(): R|kotlin/Char|
|
||||
|
||||
public abstract fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public abstract fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public abstract fun toInt(): R|kotlin/Int|
|
||||
|
||||
public abstract fun toLong(): R|kotlin/Long|
|
||||
|
||||
public abstract fun toShort(): R|kotlin/Short|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class ParameterName : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final annotation class PublishedApi : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final annotation class ReplaceWith : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>| {
|
||||
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Float|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun compareTo(other: R|kotlin/Long|): R|kotlin/Int|
|
||||
|
||||
public open operator fun compareTo(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun dec(): R|kotlin/Short|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun div(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun inc(): R|kotlin/Short|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun minus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun mod(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Byte|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Int|): R|kotlin/ranges/IntRange|
|
||||
|
||||
public final operator fun rangeTo(other: R|kotlin/Long|): R|kotlin/ranges/LongRange|
|
||||
|
||||
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|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun rem(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Byte|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Double|): R|kotlin/Double|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Float|): R|kotlin/Float|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Int|): R|kotlin/Int|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Long|): R|kotlin/Long|
|
||||
|
||||
public final operator fun times(other: R|kotlin/Short|): R|kotlin/Int|
|
||||
|
||||
public open fun toByte(): R|kotlin/Byte|
|
||||
|
||||
public open fun toChar(): R|kotlin/Char|
|
||||
|
||||
public open fun toDouble(): R|kotlin/Double|
|
||||
|
||||
public open fun toFloat(): R|kotlin/Float|
|
||||
|
||||
public open fun toInt(): R|kotlin/Int|
|
||||
|
||||
public open fun toLong(): R|kotlin/Long|
|
||||
|
||||
public open fun toShort(): R|kotlin/Short|
|
||||
|
||||
public final operator fun unaryMinus(): R|kotlin/Int|
|
||||
|
||||
public final operator fun unaryPlus(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
|
||||
public final class ShortArray : R|kotlin/Any| {
|
||||
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Short|
|
||||
|
||||
public final operator fun iterator(): R|kotlin/collections/ShortIterator|
|
||||
|
||||
public final operator fun set(index: R|kotlin/Int|, value: R|kotlin/Short|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class SinceKotlin : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public final class String : R|kotlin/Comparable<kotlin/String>|, R|kotlin/CharSequence| {
|
||||
public open operator fun compareTo(other: R|kotlin/String|): R|kotlin/Int|
|
||||
|
||||
public open operator fun get(index: R|kotlin/Int|): R|kotlin/Char|
|
||||
|
||||
public final operator fun plus(other: R|kotlin/Any|): R|kotlin/String|
|
||||
|
||||
public open fun subSequence(startIndex: R|kotlin/Int|, endIndex: R|kotlin/Int|): R|kotlin/CharSequence|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Suppress : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
public open class Throwable : R|kotlin/Any| {
|
||||
}
|
||||
|
||||
public final object Unit : R|kotlin/Any| {
|
||||
public open fun toString(): R|kotlin/String|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class UnsafeVariance : R|kotlin/Annotation| {
|
||||
}
|
||||
|
||||
|
||||
+15
-5
@@ -11,6 +11,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
@@ -22,31 +24,39 @@ class BuiltInsDeserializationForFirTestCase : AbstractFirResolveWithSessionTestC
|
||||
return createEnvironmentWithJdk(ConfigurationKind.ALL, TestJdkKind.FULL_JDK)
|
||||
}
|
||||
|
||||
fun testCallables() {
|
||||
fun testBuiltInPackagesContent() {
|
||||
for (packageFqName in listOf(
|
||||
KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME,
|
||||
KotlinBuiltIns.COLLECTIONS_PACKAGE_FQ_NAME,
|
||||
KotlinBuiltIns.RANGES_PACKAGE_FQ_NAME
|
||||
)) {
|
||||
checkCallablesInPackage(packageFqName)
|
||||
checkPackageContent(packageFqName)
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkCallablesInPackage(packageFqName: FqName) {
|
||||
private fun checkPackageContent(packageFqName: FqName) {
|
||||
val session = createSession(project, GlobalSearchScope.allScope(project))
|
||||
val provider = session.getService(FirSymbolProvider::class)
|
||||
val names = provider.getAllCallableNamesInPackage(packageFqName)
|
||||
|
||||
val builder = StringBuilder()
|
||||
val firRenderer = FirRenderer(builder)
|
||||
|
||||
for (name in names) {
|
||||
for (name in provider.getAllCallableNamesInPackage(packageFqName)) {
|
||||
for (symbol in provider.getCallableSymbols(CallableId(packageFqName, null, name))) {
|
||||
(symbol as FirCallableSymbol).fir.accept(firRenderer)
|
||||
builder.appendln()
|
||||
}
|
||||
}
|
||||
|
||||
for (name in provider.getClassNamesInPackage(packageFqName)) {
|
||||
val classLikeSymbol =
|
||||
provider.getClassLikeSymbolByFqName(ClassId.topLevel(packageFqName.child(name))) as FirClassSymbol?
|
||||
?: continue
|
||||
classLikeSymbol.fir.accept(firRenderer)
|
||||
builder.appendln()
|
||||
}
|
||||
|
||||
|
||||
KotlinTestUtils.assertEqualsToFile(
|
||||
File("compiler/fir/resolve/testData/builtIns/" + packageFqName.asString().replace('.', '-') + ".txt"),
|
||||
builder.toString()
|
||||
|
||||
@@ -17,7 +17,7 @@ FILE: common.kt
|
||||
}
|
||||
|
||||
public open fun baz(arg: R|kotlin/CharSequence|): R|kotlin/String| {
|
||||
^baz R|<local>/arg|.<Unresolved name: toString>#()
|
||||
^baz R|<local>/arg|.R|kotlin/Any.toString|()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user