Introduce annotation InlineExposed to indicate internal members effectively public due to usage in inlined functions.
Currently, doesn't affect anything. Make collectionSizeOrDefault and collectionSizeOrNull internal, but expose them via inlining together with mapCapacity. Make Regex(Pattern) constructor exposed by inlined Pattern.toRegex
This commit is contained in:
@@ -58,3 +58,10 @@ internal annotation class OnlyInputTypes
|
||||
@Target(AnnotationTarget.FUNCTION)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
internal annotation class InlineOnly
|
||||
|
||||
/**
|
||||
* Specifies that this part of internal API is effectively public exposed by using in public inline function
|
||||
*/
|
||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
internal annotation class InlineExposed
|
||||
Reference in New Issue
Block a user