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
@@ -0,0 +1,8 @@
<html>
<body>
This inspection reports functions with <b>Result</b> result.
<b>Result</b> should never be used as return type.
Throw exception, or use nullable type, or use domain-specific result class to indicate failure.
</body>
</html>
@@ -1,8 +0,0 @@
<html>
<body>
This inspection reports functions with <b>SuccessOrFailure</b> result.
<b>SuccessOrFailure</b> should never be used as return type.
Throw exception, or use nullable type, or use domain-specific result class to indicate failure.
</body>
</html>