From a192915c828de9ab43f39f4e61a6b30acc972fd6 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 29 Jan 2016 21:36:48 +0300 Subject: [PATCH] Do not inline Regex.replace --- libraries/stdlib/src/kotlin/text/Strings.kt | 2 +- libraries/stdlib/src/kotlin/text/regex/RegexJVM.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index 925dd1088e3..84bce83f29b 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -634,7 +634,7 @@ public inline fun CharSequence.replace(regex: Regex, replacement: String): Strin * replacement for that match. */ @kotlin.internal.InlineOnly -public inline fun CharSequence.replace(regex: Regex, transform: (MatchResult) -> CharSequence): String = regex.replace(this, transform) +public inline fun CharSequence.replace(regex: Regex, noinline transform: (MatchResult) -> CharSequence): String = regex.replace(this, transform) /** * Replaces the first occurrence of the given regular expression [regex] in this char sequence with specified [replacement] expression. diff --git a/libraries/stdlib/src/kotlin/text/regex/RegexJVM.kt b/libraries/stdlib/src/kotlin/text/regex/RegexJVM.kt index e7e3c903ec2..b8337bd66b4 100644 --- a/libraries/stdlib/src/kotlin/text/regex/RegexJVM.kt +++ b/libraries/stdlib/src/kotlin/text/regex/RegexJVM.kt @@ -151,7 +151,7 @@ internal constructor(private val nativePattern: Pattern) { * the given function [transform] that takes [MatchResult] and returns a string to be used as a * replacement for that match. */ - public inline fun replace(input: CharSequence, transform: (MatchResult) -> CharSequence): String { + public fun replace(input: CharSequence, transform: (MatchResult) -> CharSequence): String { var match: MatchResult? = find(input) ?: return input.toString() var lastStart = 0