Rename SuccessOrFailure to Result and hide Failure from ABI

* The members of Result are isSuccess, isFailure, exceptionOrNull, getOrNull
* The rest of API is implemented via inline-only extensions
* There are two internal functions to hide detailed mechanics of an internal
  Result.Failure class: createFailure and throwOnFailure
* Result.toString is explicit: either Success(v) or Failure(x)

See KT-26538
This commit is contained in:
Roman Elizarov
2018-09-09 11:34:31 +03:00
parent 69ee88871f
commit e2713501ce
81 changed files with 968 additions and 612 deletions
@@ -17,7 +17,7 @@ fun createTextForHelpers(isReleaseCoroutines: Boolean): String {
val emptyContinuationBody =
if (isReleaseCoroutines)
"""
|override fun resumeWith(result: SuccessOrFailure<Any?>) {
|override fun resumeWith(result: Result<Any?>) {
| result.getOrThrow()
|}
""".trimMargin()
@@ -30,7 +30,7 @@ fun createTextForHelpers(isReleaseCoroutines: Boolean): String {
val handleResultContinuationBody =
if (isReleaseCoroutines)
"""
|override fun resumeWith(result: SuccessOrFailure<T>) {
|override fun resumeWith(result: Result<T>) {
| x(result.getOrThrow())
|}
""".trimMargin()
@@ -46,7 +46,7 @@ fun createTextForHelpers(isReleaseCoroutines: Boolean): String {
val handleExceptionContinuationBody =
if (isReleaseCoroutines)
"""
|override fun resumeWith(result: SuccessOrFailure<Any?>) {
|override fun resumeWith(result: Result<Any?>) {
| result.exceptionOrNull()?.let(x)
|}
""".trimMargin()
@@ -62,7 +62,7 @@ fun createTextForHelpers(isReleaseCoroutines: Boolean): String {
val continuationAdapterBody =
if (isReleaseCoroutines)
"""
|override fun resumeWith(result: SuccessOrFailure<T>) {
|override fun resumeWith(result: Result<T>) {
| if (result.isSuccess) {
| resume(result.getOrThrow())
| } else {