From ea5e1f7109c61a6f82017d77450ffd3cbbd8f7f9 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 7 Jun 2021 00:14:12 -0500 Subject: [PATCH] changed assert to use #callsite --- bin/onyx | Bin 392008 -> 392008 bytes core/builtin.onyx | 11 ++++++++--- core/runtime/common.onyx | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bin/onyx b/bin/onyx index dd29ce75741bcf6232bd1591728e77787ba9751b..76241afab918a9a7f027aaf386afbd1f0334a71a 100755 GIT binary patch delta 61967 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 SvudO4YN?hz?swy?_WuBmqlAe7 delta 62055 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 diff --git a/core/builtin.onyx b/core/builtin.onyx index 664a617e..254d7d54 100644 --- a/core/builtin.onyx +++ b/core/builtin.onyx @@ -55,7 +55,7 @@ OnyxContext :: struct { logger : Logger = .{ default_logger, null }; - assert_handler : (msg: str, file: str) -> void; + assert_handler : (msg: str, site: CallSite) -> void; } #if runtime.Runtime != runtime.Runtime_Custom { @@ -79,8 +79,8 @@ OnyxContext :: struct { // first parameter to ALL procedures in a compilation unit. context : OnyxContext; -assert :: (cond: bool, msg: str, file: str = null_str) { - if !cond do context.assert_handler(msg, file); +assert :: (cond: bool, msg: str, site := #callsite) { + if !cond do context.assert_handler(msg, site); } @@ -170,6 +170,11 @@ Iterator :: struct (T: type_expr) { } + +// This structure represents the result of a '#callsite' expression. Currently, +// #callsite is only valid (and parsed) as a default value for a procedure parameter. +// It allows the function to get the address of the calling site, which can be +// used for error printing, unique hashes, and much more. CallSite :: struct { file : str; line : u32; diff --git a/core/runtime/common.onyx b/core/runtime/common.onyx index 917a97fa..8a3f719a 100644 --- a/core/runtime/common.onyx +++ b/core/runtime/common.onyx @@ -5,13 +5,13 @@ use package core.intrinsics.onyx { __initialize } // The default assert handler. This assumes that __output_string // and __exit are defined in the 'runtime' package. -__assert_handler :: (msg: str, file: str) { +__assert_handler :: (msg: str, site: CallSite) { __output_string("Assert failed: "); __output_string(msg); - if file.data != null { + if site.file.data != null { __output_string(" in "); - __output_string(file); + __output_string(site.file); } __output_string("\n"); -- 2.25.1