aboutsummaryrefslogtreecommitdiff
path: root/src/checker_builtin_procs.hpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-06-10 15:02:34 +0100
committergingerBill <bill@gingerbill.org>2024-06-10 15:02:34 +0100
commitfa3cae2bb04db76f52f1b2288a9c858f20332b8a (patch)
tree063118fd6e63aab004680be7a87e1a7670fe4a09 /src/checker_builtin_procs.hpp
parent1945218f6df814ea95233035d0b51585e2522b2e (diff)
Add `intrinsics.procedure_of`
```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ```
Diffstat (limited to 'src/checker_builtin_procs.hpp')
-rw-r--r--src/checker_builtin_procs.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp
index 5f98bb7b3..35acad42f 100644
--- a/src/checker_builtin_procs.hpp
+++ b/src/checker_builtin_procs.hpp
@@ -299,6 +299,8 @@ BuiltinProc__type_simple_boolean_end,
BuiltinProc__type_end,
+ BuiltinProc_procedure_of,
+
BuiltinProc___entry_point,
BuiltinProc_objc_send,
@@ -614,6 +616,8 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
{STR_LIT(""), 0, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
+ {STR_LIT("procedure_of"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
+
{STR_LIT("__entry_point"), 0, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
{STR_LIT("objc_send"), 3, true, Expr_Expr, BuiltinProcPkg_intrinsics, false, true},