[Wasm] Rewrite lazy initialization without by lazy and lateinit to reduce overhead
This commit is contained in:
@@ -24,13 +24,16 @@ public open class Throwable(open val message: String?, open val cause: kotlin.Th
|
||||
|
||||
private val jsStack: ExternalInterfaceType = captureStackTrace()
|
||||
|
||||
private lateinit var _stack: String
|
||||
private var _stack: String? = null
|
||||
internal val stack: String
|
||||
get() {
|
||||
if (!::_stack.isInitialized) {
|
||||
_stack = jsToKotlinStringAdapter(jsStack).removePrefix("Error\n")
|
||||
var value = _stack
|
||||
if (value == null) {
|
||||
value = jsToKotlinStringAdapter(jsStack).removePrefix("Error\n")
|
||||
_stack = value
|
||||
}
|
||||
return _stack
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
internal var suppressedExceptionsList: MutableList<Throwable>? = null
|
||||
|
||||
@@ -281,28 +281,40 @@ private fun getJsTrue(): JsBoolean =
|
||||
private fun getJsFalse(): JsBoolean =
|
||||
js("false")
|
||||
|
||||
private lateinit var _jsEmptyString: JsString
|
||||
private var _jsEmptyString: JsString? = null
|
||||
private val jsEmptyString: JsString
|
||||
get() {
|
||||
if (!::_jsEmptyString.isInitialized)
|
||||
_jsEmptyString = getJsEmptyString()
|
||||
return _jsEmptyString
|
||||
var value = _jsEmptyString
|
||||
if (value == null) {
|
||||
value = getJsEmptyString()
|
||||
_jsEmptyString = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
private lateinit var _jsTrue: JsBoolean
|
||||
private var _jsTrue: JsBoolean? = null
|
||||
private val jsTrue: JsBoolean
|
||||
get() {
|
||||
if (!::_jsTrue.isInitialized)
|
||||
_jsTrue = getJsTrue()
|
||||
return _jsTrue
|
||||
var value = _jsTrue
|
||||
if (value == null) {
|
||||
value = getJsTrue()
|
||||
_jsTrue = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
private lateinit var _jsFalse: JsBoolean
|
||||
private val jsFalse: JsBoolean
|
||||
private var _jsFalse: JsBoolean? = null
|
||||
private val jsFalse: JsBoolean
|
||||
get() {
|
||||
if (!::_jsFalse.isInitialized)
|
||||
_jsFalse = getJsFalse()
|
||||
return _jsFalse
|
||||
var value = _jsFalse
|
||||
if (value == null) {
|
||||
value = getJsFalse()
|
||||
_jsFalse = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
internal fun numberToDoubleAdapter(x: Number): Double =
|
||||
|
||||
Reference in New Issue
Block a user