From 692764aad334aa99e7dafd117d14b9a331a13e22 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Tue, 28 Mar 2023 15:01:10 +0200 Subject: [PATCH] Document `offset_of` Closes #2419 --- core/builtin/builtin.odin | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/builtin/builtin.odin b/core/builtin/builtin.odin index dc9bfcb06..7f5b8cf75 100644 --- a/core/builtin/builtin.odin +++ b/core/builtin/builtin.odin @@ -94,7 +94,14 @@ cap :: proc(array: Array_Type) -> int --- size_of :: proc($T: typeid) -> int --- align_of :: proc($T: typeid) -> int --- -offset_of :: proc($T: typeid) -> uintptr --- +// e.g. offset_of(t.f), where t is an instance of the type T +offset_of_selector :: proc(selector: $T) -> int --- +// e.g. offset_of(T, f), where T can be the type instead of a variable +offset_of_member :: proc($T: typeid, member: $M) -> int --- +offset_of :: proc{offset_of_selector, offset_of_member} +// e.g. offset_of(T, "f"), where T can be the type instead of a variable +offset_of_by_string :: proc($T: typeid, member: string) -> --- + type_of :: proc(x: expr) -> type --- type_info_of :: proc($T: typeid) -> ^runtime.Type_Info --- typeid_of :: proc($T: typeid) -> typeid ---