Adding support for overriding functions in Kotlin #738
+20
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding support for
override
for generated kotlin functions that have the compatible signature of the function they should be overriding.Right now just adding support for overriding
toString
.This means that, if a Kotlin function with the signature
fun toString(): String
is generated,override
is added to it so that it overrides the default toString.This is specifically useful for allowing default printing of objects. If a Kotlin
Result
has an error type that overridestoString
, then thattoString
is called to display the error, which is much more useful than the defaulttoString
that just prints the object address. With this PR, we can customize what's printed with thetoString
if the Result has a Rust-backed error type (by writing a validto_string
on the Rust side).