in uniffi_bindgen/src/bindings/kotlin/templates/ErrorTemplate.kt [61:82]
override fun read(buf: ByteBuffer): {{ type_name }} {
{% if e.is_flat() %}
return when(buf.getInt()) {
{%- for variant in e.variants() %}
{{ loop.index }} -> {{ type_name }}.{{ variant|error_variant_name }}({{ Type::String.borrow()|read_fn }}(buf))
{%- endfor %}
else -> throw RuntimeException("invalid error enum value, something is very wrong!!")
}
{% else %}
return when(buf.getInt()) {
{%- for variant in e.variants() %}
{{ loop.index }} -> {{ type_name }}.{{ variant|error_variant_name }}({% if variant.has_fields() %}
{% for field in variant.fields() -%}
{{ field|read_fn }}(buf),
{% endfor -%}
{%- endif -%})
{%- endfor %}
else -> throw RuntimeException("invalid error enum value, something is very wrong!!")
}
{%- endif %}
}