diff --git a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/BuiltInsVirtualFileProviderImp.kt b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/BuiltInsVirtualFileProviderImp.kt deleted file mode 100644 index 2a9a5ae4728..00000000000 --- a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/BuiltInsVirtualFileProviderImp.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. - * 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.analysis.api.standalone.base.project.structure - -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem -import com.intellij.util.io.URLUtil -import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInsVirtualFileProviderBaseImpl -import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment -import java.net.URL - -internal class BuiltInsVirtualFileProviderImp( - private val jarFileSystem: CoreJarFileSystem, -) : BuiltInsVirtualFileProviderBaseImpl() { - override fun findVirtualFile(url: URL): VirtualFile? { - val split = URLUtil.splitJarUrl(url.path) - ?: errorWithAttachment("URL for builtins does not contain jar separator") { - withEntry("url", url) { url.toString() } - } - val jarPath = split.first - val builtInFile = split.second - val pathToQuery = jarPath + URLUtil.JAR_SEPARATOR + builtInFile - return jarFileSystem.findFileByPath(pathToQuery) - } -} \ No newline at end of file diff --git a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt index 2a7b03bcc11..99a09e41db1 100644 --- a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt +++ b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt @@ -11,7 +11,6 @@ import com.intellij.core.CoreApplicationEnvironment import com.intellij.core.CoreJavaFileManager import com.intellij.core.CorePackageIndex import com.intellij.ide.highlighter.JavaFileType -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import com.intellij.openapi.Disposable import com.intellij.openapi.extensions.PluginDescriptor @@ -34,6 +33,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.java.source.JavaElementSource import org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService import org.jetbrains.kotlin.analysis.api.resolve.extensions.KtResolveExtensionProvider import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInsVirtualFileProvider +import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInsVirtualFileProviderCliImpl import org.jetbrains.kotlin.analysis.decompiler.stub.file.ClsKotlinBinaryClassCache import org.jetbrains.kotlin.analysis.decompiler.stub.file.DummyFileAttributeService import org.jetbrains.kotlin.analysis.decompiler.stub.file.FileAttributeService @@ -114,7 +114,7 @@ object StandaloneProjectFactory { registerService(ClsKotlinBinaryClassCache::class.java) registerService( BuiltInsVirtualFileProvider::class.java, - BuiltInsVirtualFileProviderImp(applicationEnvironment.jarFileSystem as CoreJarFileSystem) + BuiltInsVirtualFileProviderCliImpl(applicationEnvironment.jarFileSystem as CoreJarFileSystem) ) registerService(FileAttributeService::class.java, DummyFileAttributeService::class.java) } diff --git a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt index fa7cf81fecf..d98241b98fb 100644 --- a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt +++ b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt @@ -7,6 +7,8 @@ package org.jetbrains.kotlin.analysis.decompiler.psi import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem +import com.intellij.util.io.URLUtil import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment @@ -43,4 +45,17 @@ abstract class BuiltInsVirtualFileProviderBaseImpl : BuiltInsVirtualFileProvider override fun getBuiltInVirtualFiles(): Set = builtinFiles } - +class BuiltInsVirtualFileProviderCliImpl( + private val jarFileSystem: CoreJarFileSystem, +) : BuiltInsVirtualFileProviderBaseImpl() { + override fun findVirtualFile(url: URL): VirtualFile? { + val split = URLUtil.splitJarUrl(url.path) + ?: errorWithAttachment("URL for builtins does not contain jar separator") { + withEntry("url", url) { url.toString() } + } + val jarPath = split.first + val builtInFile = split.second + val pathToQuery = jarPath + URLUtil.JAR_SEPARATOR + builtInFile + return jarFileSystem.findFileByPath(pathToQuery) + } +} \ No newline at end of file diff --git a/analysis/decompiled/decompiler-to-psi/testData/builtins/collections.kotlin_builtins.decompiled.text.kt b/analysis/decompiled/decompiler-to-psi/testData/builtins/collections.kotlin_builtins.decompiled.text.kt new file mode 100644 index 00000000000..61727742e1c --- /dev/null +++ b/analysis/decompiled/decompiler-to-psi/testData/builtins/collections.kotlin_builtins.decompiled.text.kt @@ -0,0 +1,205 @@ +// IntelliJ API Decompiler stub source generated from a class file +// Implementation of methods is not available + +package kotlin.collections + +public interface Collection : kotlin.collections.Iterable { + public abstract val size: kotlin.Int + + public abstract operator fun contains(element: E): kotlin.Boolean + + public abstract fun containsAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun isEmpty(): kotlin.Boolean + + public abstract operator fun iterator(): kotlin.collections.Iterator +} + +public interface Iterable { + public abstract operator fun iterator(): kotlin.collections.Iterator +} + +public interface Iterator { + public abstract operator fun hasNext(): kotlin.Boolean + + public abstract operator fun next(): T +} + +public interface List : kotlin.collections.Collection { + public abstract val size: kotlin.Int + + public abstract operator fun contains(element: E): kotlin.Boolean + + public abstract fun containsAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract operator fun get(index: kotlin.Int): E + + public abstract fun indexOf(element: E): kotlin.Int + + public abstract fun isEmpty(): kotlin.Boolean + + public abstract operator fun iterator(): kotlin.collections.Iterator + + public abstract fun lastIndexOf(element: E): kotlin.Int + + public abstract fun listIterator(): kotlin.collections.ListIterator + + public abstract fun listIterator(index: kotlin.Int): kotlin.collections.ListIterator + + public abstract fun subList(fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List +} + +public interface ListIterator : kotlin.collections.Iterator { + public abstract operator fun hasNext(): kotlin.Boolean + + public abstract fun hasPrevious(): kotlin.Boolean + + public abstract operator fun next(): T + + public abstract fun nextIndex(): kotlin.Int + + public abstract fun previous(): T + + public abstract fun previousIndex(): kotlin.Int +} + +public interface Map { + public abstract val entries: kotlin.collections.Set> + + public abstract val keys: kotlin.collections.Set + + public abstract val size: kotlin.Int + + public abstract val values: kotlin.collections.Collection + + public abstract fun containsKey(key: K): kotlin.Boolean + + public abstract fun containsValue(value: V): kotlin.Boolean + + public abstract operator fun get(key: K): V? + + @kotlin.SinceKotlin @kotlin.internal.PlatformDependent public open fun getOrDefault(key: K, defaultValue: V): V { /* compiled code */ } + + public abstract fun isEmpty(): kotlin.Boolean + + public interface Entry { + public abstract val key: K + + public abstract val value: V + } +} + +public interface MutableCollection : kotlin.collections.Collection, kotlin.collections.MutableIterable { + public abstract fun add(element: E): kotlin.Boolean + + public abstract fun addAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun clear(): kotlin.Unit + + public abstract operator fun iterator(): kotlin.collections.MutableIterator + + public abstract fun remove(element: E): kotlin.Boolean + + public abstract fun removeAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun retainAll(elements: kotlin.collections.Collection): kotlin.Boolean +} + +public interface MutableIterable : kotlin.collections.Iterable { + public abstract operator fun iterator(): kotlin.collections.MutableIterator +} + +public interface MutableIterator : kotlin.collections.Iterator { + public abstract fun remove(): kotlin.Unit +} + +public interface MutableList : kotlin.collections.List, kotlin.collections.MutableCollection { + public abstract fun add(element: E): kotlin.Boolean + + public abstract fun add(index: kotlin.Int, element: E): kotlin.Unit + + public abstract fun addAll(index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun addAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun clear(): kotlin.Unit + + public abstract fun listIterator(): kotlin.collections.MutableListIterator + + public abstract fun listIterator(index: kotlin.Int): kotlin.collections.MutableListIterator + + public abstract fun remove(element: E): kotlin.Boolean + + public abstract fun removeAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun removeAt(index: kotlin.Int): E + + public abstract fun retainAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract operator fun set(index: kotlin.Int, element: E): E + + public abstract fun subList(fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList +} + +public interface MutableListIterator : kotlin.collections.ListIterator, kotlin.collections.MutableIterator { + public abstract fun add(element: T): kotlin.Unit + + public abstract operator fun hasNext(): kotlin.Boolean + + public abstract operator fun next(): T + + public abstract fun remove(): kotlin.Unit + + public abstract fun set(element: T): kotlin.Unit +} + +public interface MutableMap : kotlin.collections.Map { + public abstract val entries: kotlin.collections.MutableSet> + + public abstract val keys: kotlin.collections.MutableSet + + public abstract val values: kotlin.collections.MutableCollection + + public abstract fun clear(): kotlin.Unit + + public abstract fun put(key: K, value: V): V? + + public abstract fun putAll(from: kotlin.collections.Map): kotlin.Unit + + public abstract fun remove(key: K): V? + + @kotlin.SinceKotlin @kotlin.internal.PlatformDependent public open fun remove(key: K, value: V): kotlin.Boolean { /* compiled code */ } + + public interface MutableEntry : kotlin.collections.Map.Entry { + public abstract fun setValue(newValue: V): V + } +} + +public interface MutableSet : kotlin.collections.Set, kotlin.collections.MutableCollection { + public abstract fun add(element: E): kotlin.Boolean + + public abstract fun addAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun clear(): kotlin.Unit + + public abstract operator fun iterator(): kotlin.collections.MutableIterator + + public abstract fun remove(element: E): kotlin.Boolean + + public abstract fun removeAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun retainAll(elements: kotlin.collections.Collection): kotlin.Boolean +} + +public interface Set : kotlin.collections.Collection { + public abstract val size: kotlin.Int + + public abstract operator fun contains(element: E): kotlin.Boolean + + public abstract fun containsAll(elements: kotlin.collections.Collection): kotlin.Boolean + + public abstract fun isEmpty(): kotlin.Boolean + + public abstract operator fun iterator(): kotlin.collections.Iterator +} + diff --git a/analysis/decompiled/decompiler-to-psi/testData/builtins/coroutines.kotlin_builtins.decompiled.text.kt b/analysis/decompiled/decompiler-to-psi/testData/builtins/coroutines.kotlin_builtins.decompiled.text.kt new file mode 100644 index 00000000000..bca3df796b0 --- /dev/null +++ b/analysis/decompiled/decompiler-to-psi/testData/builtins/coroutines.kotlin_builtins.decompiled.text.kt @@ -0,0 +1,6 @@ +// IntelliJ API Decompiler stub source generated from a class file +// Implementation of methods is not available + +package kotlin.coroutines + +private fun hackToForceKotlinBuiltinsForKotlinCoroutinesPackage(): kotlin.Unit { /* compiled code */ } diff --git a/analysis/decompiled/decompiler-to-psi/testData/builtins/kotlin.kotlin_builtins.decompiled.text.kt b/analysis/decompiled/decompiler-to-psi/testData/builtins/kotlin.kotlin_builtins.decompiled.text.kt new file mode 100644 index 00000000000..78109bfd53c --- /dev/null +++ b/analysis/decompiled/decompiler-to-psi/testData/builtins/kotlin.kotlin_builtins.decompiled.text.kt @@ -0,0 +1,1080 @@ +// IntelliJ API Decompiler stub source generated from a class file +// Implementation of methods is not available + +package kotlin + +public inline fun arrayOf(vararg elements: T): kotlin.Array { /* compiled code */ } + +public fun arrayOfNulls(size: kotlin.Int): kotlin.Array { /* compiled code */ } + +public fun booleanArrayOf(vararg elements: kotlin.Boolean): kotlin.BooleanArray { /* compiled code */ } + +public fun byteArrayOf(vararg elements: kotlin.Byte): kotlin.ByteArray { /* compiled code */ } + +public fun charArrayOf(vararg elements: kotlin.Char): kotlin.CharArray { /* compiled code */ } + +public fun doubleArrayOf(vararg elements: kotlin.Double): kotlin.DoubleArray { /* compiled code */ } + +public inline fun emptyArray(): kotlin.Array { /* compiled code */ } + +@kotlin.SinceKotlin public inline fun > enumValueOf(name: kotlin.String): T { /* compiled code */ } + +@kotlin.SinceKotlin public inline fun > enumValues(): kotlin.Array { /* compiled code */ } + +public fun floatArrayOf(vararg elements: kotlin.Float): kotlin.FloatArray { /* compiled code */ } + +public fun intArrayOf(vararg elements: kotlin.Int): kotlin.IntArray { /* compiled code */ } + +public fun longArrayOf(vararg elements: kotlin.Long): kotlin.LongArray { /* compiled code */ } + +public fun shortArrayOf(vararg elements: kotlin.Short): kotlin.ShortArray { /* compiled code */ } + +public operator fun kotlin.String?.plus(other: kotlin.Any?): kotlin.String { /* compiled code */ } + +public fun kotlin.Any?.toString(): kotlin.String { /* compiled code */ } + +public interface Annotation { +} + +public open class Any public constructor() { + public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public open fun hashCode(): kotlin.Int { /* compiled code */ } + + public open fun toString(): kotlin.String { /* compiled code */ } +} + +public final class Array { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> T) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): T { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.Iterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: T): kotlin.Unit { /* compiled code */ } +} + +public final class Boolean private constructor() : kotlin.Comparable { + @kotlin.SinceKotlin public companion object { + } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun and(other: kotlin.Boolean): kotlin.Boolean { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Boolean): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public open fun hashCode(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun not(): kotlin.Boolean { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun or(other: kotlin.Boolean): kotlin.Boolean { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun xor(other: kotlin.Boolean): kotlin.Boolean { /* compiled code */ } +} + +public final class BooleanArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Boolean) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Boolean { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.BooleanIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Boolean): kotlin.Unit { /* compiled code */ } +} + +public final class Byte private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Byte = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Byte = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Byte { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Byte { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Int { /* compiled code */ } +} + +public final class ByteArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Byte) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Byte { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.ByteIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Byte): kotlin.Unit { /* compiled code */ } +} + +public final class Char private constructor() : kotlin.Comparable { + public companion object { + public const final val MAX_HIGH_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + public const final val MAX_LOW_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + public const final val MAX_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val MAX_VALUE: kotlin.Char = COMPILED_CODE /* compiled code */ + + public const final val MIN_HIGH_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + public const final val MIN_LOW_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + public const final val MIN_SURROGATE: kotlin.Char = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val MIN_VALUE: kotlin.Char = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Char): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public open fun hashCode(): kotlin.Int { /* compiled code */ } + + public final operator fun inc(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Char): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Char { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Char): kotlin.ranges.CharRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Char): kotlin.ranges.CharRange { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } +} + +public final class CharArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Char) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Char { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.CharIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Char): kotlin.Unit { /* compiled code */ } +} + +public interface CharSequence { + public abstract val length: kotlin.Int + + public abstract operator fun get(index: kotlin.Int): kotlin.Char + + public abstract fun subSequence(startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence +} + +public interface Comparable { + public abstract operator fun compareTo(other: T): kotlin.Int +} + +public final class Double private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Double = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Double = COMPILED_CODE /* compiled code */ + + public const final val NEGATIVE_INFINITY: kotlin.Double = COMPILED_CODE /* compiled code */ + + public const final val NaN: kotlin.Double = COMPILED_CODE /* compiled code */ + + public const final val POSITIVE_INFINITY: kotlin.Double = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Double { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Double { /* compiled code */ } +} + +public final class DoubleArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Double) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Double { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.DoubleIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Double): kotlin.Unit { /* compiled code */ } +} + +public abstract class Enum> public constructor(name: kotlin.String, ordinal: kotlin.Int) : kotlin.Comparable { + public companion object { + } + + @kotlin.internal.IntrinsicConstEvaluation public final val name: kotlin.String /* compiled code */ + + public final val ordinal: kotlin.Int /* compiled code */ + + protected final fun clone(): kotlin.Any { /* compiled code */ } + + public final operator fun compareTo(other: E): kotlin.Int { /* compiled code */ } + + public final operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final fun hashCode(): kotlin.Int { /* compiled code */ } + + public open fun toString(): kotlin.String { /* compiled code */ } +} + +public final class Float private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Float = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Float = COMPILED_CODE /* compiled code */ + + public const final val NEGATIVE_INFINITY: kotlin.Float = COMPILED_CODE /* compiled code */ + + public const final val NaN: kotlin.Float = COMPILED_CODE /* compiled code */ + + public const final val POSITIVE_INFINITY: kotlin.Float = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Float { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Float { /* compiled code */ } +} + +public final class FloatArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Float) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Float { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.FloatIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Float): kotlin.Unit { /* compiled code */ } +} + +public final class Int private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Int = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun and(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final fun inv(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun or(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun shl(bitCount: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun shr(bitCount: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun ushr(bitCount: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun xor(other: kotlin.Int): kotlin.Int { /* compiled code */ } +} + +public final class IntArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Int) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Int { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.IntIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Int): kotlin.Unit { /* compiled code */ } +} + +public final class Long private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Long = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Long = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun and(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final fun inv(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun or(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Long { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Byte): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Int): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Short): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Byte): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Int): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Short): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun shl(bitCount: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun shr(bitCount: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun ushr(bitCount: kotlin.Int): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final infix fun xor(other: kotlin.Long): kotlin.Long { /* compiled code */ } +} + +public final class LongArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Long) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Long { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.LongIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Long): kotlin.Unit { /* compiled code */ } +} + +public final class Nothing private constructor() { +} + +public abstract class Number public constructor() { + public abstract fun toByte(): kotlin.Byte + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin public open fun toChar(): kotlin.Char { /* compiled code */ } + + public abstract fun toDouble(): kotlin.Double + + public abstract fun toFloat(): kotlin.Float + + public abstract fun toInt(): kotlin.Int + + public abstract fun toLong(): kotlin.Long + + public abstract fun toShort(): kotlin.Short +} + +public final class Short private constructor() : kotlin.Number, kotlin.Comparable { + public companion object { + public const final val MAX_VALUE: kotlin.Short = COMPILED_CODE /* compiled code */ + + public const final val MIN_VALUE: kotlin.Short = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BITS: kotlin.Int = COMPILED_CODE /* compiled code */ + + @kotlin.SinceKotlin public const final val SIZE_BYTES: kotlin.Int = COMPILED_CODE /* compiled code */ + } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Double): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Float): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(other: kotlin.Long): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun dec(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun div(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public final operator fun inc(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun minus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + public final operator fun rangeTo(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Byte): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Int): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Long): kotlin.ranges.LongRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.WasExperimental public final operator fun rangeUntil(other: kotlin.Short): kotlin.ranges.IntRange { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.SinceKotlin @kotlin.internal.IntrinsicConstEvaluation public final operator fun rem(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Byte): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Double): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Float): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Int): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Long): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun times(other: kotlin.Short): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toByte(): kotlin.Byte { /* compiled code */ } + + @kotlin.Deprecated @kotlin.DeprecatedSinceKotlin @kotlin.internal.IntrinsicConstEvaluation public open fun toChar(): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toDouble(): kotlin.Double { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toFloat(): kotlin.Float { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toInt(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toLong(): kotlin.Long { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toShort(): kotlin.Short { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryMinus(): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun unaryPlus(): kotlin.Int { /* compiled code */ } +} + +public final class ShortArray public constructor(size: kotlin.Int) { + public constructor(size: kotlin.Int, init: (kotlin.Int) -> kotlin.Short) { /* compiled code */ } + + public final val size: kotlin.Int /* compiled code */ + + public final operator fun get(index: kotlin.Int): kotlin.Short { /* compiled code */ } + + public final operator fun iterator(): kotlin.collections.ShortIterator { /* compiled code */ } + + public final operator fun set(index: kotlin.Int, value: kotlin.Short): kotlin.Unit { /* compiled code */ } +} + +public final class String public constructor() : kotlin.Comparable, kotlin.CharSequence { + public companion object { + } + + @kotlin.internal.IntrinsicConstEvaluation public open val length: kotlin.Int /* compiled code */ + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun compareTo(other: kotlin.String): kotlin.Int { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open operator fun get(index: kotlin.Int): kotlin.Char { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public final operator fun plus(other: kotlin.Any?): kotlin.String { /* compiled code */ } + + public open fun subSequence(startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence { /* compiled code */ } + + @kotlin.internal.IntrinsicConstEvaluation public open fun toString(): kotlin.String { /* compiled code */ } +} + +public open class Throwable public constructor(message: kotlin.String?, cause: kotlin.Throwable?) { + public constructor(message: kotlin.String?) { /* compiled code */ } + + public constructor(cause: kotlin.Throwable?) { /* compiled code */ } + + public constructor() { /* compiled code */ } + + public open val cause: kotlin.Throwable? /* compiled code */ + + public open val message: kotlin.String? /* compiled code */ +} + diff --git a/analysis/decompiled/decompiler-to-psi/tests/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltinDecompilerToTextTest.kt b/analysis/decompiled/decompiler-to-psi/tests/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltinDecompilerToTextTest.kt new file mode 100644 index 00000000000..5a39c70134e --- /dev/null +++ b/analysis/decompiled/decompiler-to-psi/tests/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltinDecompilerToTextTest.kt @@ -0,0 +1,70 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.analysis.decompiler.psi + +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem +import com.intellij.psi.PsiManager +import org.jetbrains.kotlin.analysis.decompiler.stub.files.AbstractDecompiledClassTest +import org.jetbrains.kotlin.idea.KotlinLanguage.INSTANCE +import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.test.KotlinTestUtils +import java.nio.file.Files +import java.nio.file.Paths +import kotlin.io.path.name +import kotlin.streams.toList + +class BuiltinDecompilerToTextTest : AbstractDecompiledClassTest() { + fun testBuiltinDecompilationToText() { + val decompiledBuiltInKtFiles = loadBuiltIns() + val testDataPath = Paths.get(TEST_DATA_PATH) + for (file in decompiledBuiltInKtFiles) { + val resultFileName = file.name + DECOMPILED_TEXT_EXTENSION + val expectedFile = testDataPath.resolve(resultFileName) + KotlinTestUtils.assertEqualsToFile(expectedFile, file.text) + } + val expectedBuiltins = Files.list(testDataPath).toList() + assertEquals( + expectedBuiltins.map { it.name.removeSuffix(DECOMPILED_TEXT_EXTENSION) }.sorted(), + decompiledBuiltInKtFiles.map { it.name }.sorted(), + ) + } + + private fun loadBuiltIns(): Collection { + val psiManager = PsiManager.getInstance(project) + val builtInDecompiler = KotlinBuiltInDecompiler() + return BuiltInsVirtualFileProvider.getInstance().getBuiltInVirtualFiles().mapNotNull { virtualFile -> + createKtFileStub(psiManager, builtInDecompiler, virtualFile) + } + } + + private fun createKtFileStub( + psiManager: PsiManager, + builtInDecompiler: KotlinBuiltInDecompiler, + virtualFile: VirtualFile, + ): KtFile? { + val fileViewProvider = builtInDecompiler.createFileViewProvider(virtualFile, psiManager, physical = true) + val psiFile = fileViewProvider.getPsi(INSTANCE) + return psiFile as KtFile? + } + + override fun setUp() { + super.setUp() + val applicationEnvironment = environment.projectEnvironment.environment + val application = applicationEnvironment.application + if (application.getService(BuiltInsVirtualFileProvider::class.java) == null) { + application.registerService( + BuiltInsVirtualFileProvider::class.java, + BuiltInsVirtualFileProviderCliImpl(applicationEnvironment.jarFileSystem as CoreJarFileSystem) + ) + } + } + + companion object { + private const val TEST_DATA_PATH = "analysis/decompiled/decompiler-to-psi/testData/builtins" + private const val DECOMPILED_TEXT_EXTENSION = ".decompiled.text.kt" + } +} \ No newline at end of file