A couple of functions in stdlib are marked with @InlineExposed.
This commit is contained in:
committed by
alexander-gorshenev
parent
f959c4e43c
commit
d79875ac7c
+5
@@ -57,6 +57,9 @@ internal tailrec fun DeclarationDescriptor.isExported(): Boolean {
|
|||||||
if (this.annotations.hasAnnotation(publishedApiAnnotation)){
|
if (this.annotations.hasAnnotation(publishedApiAnnotation)){
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
if (this.annotations.hasAnnotation(inlineExposedAnnotation)){
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (this is ConstructorDescriptor && constructedClass.kind.isSingleton) {
|
if (this is ConstructorDescriptor && constructedClass.kind.isSingleton) {
|
||||||
@@ -87,6 +90,8 @@ private val exportForCompilerAnnotation = FqName("konan.internal.ExportForCompil
|
|||||||
|
|
||||||
private val publishedApiAnnotation = FqName("kotlin.PublishedApi")
|
private val publishedApiAnnotation = FqName("kotlin.PublishedApi")
|
||||||
|
|
||||||
|
private val inlineExposedAnnotation = FqName("kotlin.internal.InlineExposed")
|
||||||
|
|
||||||
private fun acyclicTypeMangler(visited: MutableSet<TypeParameterDescriptor>, type: KotlinType): String {
|
private fun acyclicTypeMangler(visited: MutableSet<TypeParameterDescriptor>, type: KotlinType): String {
|
||||||
val descriptor = TypeUtils.getTypeParameterDescriptorOrNull(type)
|
val descriptor = TypeUtils.getTypeParameterDescriptorOrNull(type)
|
||||||
if (descriptor != null) {
|
if (descriptor != null) {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ package kotlin.collections
|
|||||||
* Attempts to read _uninitialized_ values from this array work in implementation-dependent manner,
|
* Attempts to read _uninitialized_ values from this array work in implementation-dependent manner,
|
||||||
* either throwing exception or returning some kind of implementation-specific default value.
|
* either throwing exception or returning some kind of implementation-specific default value.
|
||||||
*/
|
*/
|
||||||
|
@kotlin.internal.InlineExposed
|
||||||
internal fun <E> arrayOfUninitializedElements(size: Int): Array<E> {
|
internal fun <E> arrayOfUninitializedElements(size: Int): Array<E> {
|
||||||
// TODO: special case for size == 0?
|
// TODO: special case for size == 0?
|
||||||
return Array<E>(size)
|
return Array<E>(size)
|
||||||
|
|||||||
@@ -582,7 +582,7 @@ public inline operator fun <K, V> MutableMap<in K, in V>.plusAssign(map: Map<K,
|
|||||||
putAll(map)
|
putAll(map)
|
||||||
}
|
}
|
||||||
|
|
||||||
// do not expose for now @kotlin.internal.InlineExposed
|
@kotlin.internal.InlineExposed
|
||||||
internal fun <K, V> Map<K, V>.optimizeReadOnlyMap() = when (size) {
|
internal fun <K, V> Map<K, V>.optimizeReadOnlyMap() = when (size) {
|
||||||
0 -> emptyMap()
|
0 -> emptyMap()
|
||||||
// 1 -> toSingletonMapOrSelf()
|
// 1 -> toSingletonMapOrSelf()
|
||||||
|
|||||||
Reference in New Issue
Block a user