mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +00:00
Add reflect.get_union_variant
This commit is contained in:
@@ -729,6 +729,17 @@ get_union_variant_raw_tag :: proc(a: any) -> i64 {
|
|||||||
panic("expected a union to reflect.get_union_variant_raw_tag")
|
panic("expected a union to reflect.get_union_variant_raw_tag")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_union_variant :: proc(a: any) -> any {
|
||||||
|
if a == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
id := union_variant_typeid(a)
|
||||||
|
if id == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return any{a.data, id}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
set_union_variant_raw_tag :: proc(a: any, tag: i64) {
|
set_union_variant_raw_tag :: proc(a: any, tag: i64) {
|
||||||
if a == nil { return }
|
if a == nil { return }
|
||||||
|
|||||||
Reference in New Issue
Block a user