diff options
| author | gingerBill <bill@gingerbill.org> | 2024-06-10 15:02:34 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-06-10 15:02:34 +0100 |
| commit | fa3cae2bb04db76f52f1b2288a9c858f20332b8a (patch) | |
| tree | 063118fd6e63aab004680be7a87e1a7670fe4a09 /src/checker.cpp | |
| parent | 1945218f6df814ea95233035d0b51585e2522b2e (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.cpp')
| -rw-r--r-- | src/checker.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp index 8f0cc1cd1..852fb89bb 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1479,6 +1479,10 @@ gb_internal Entity *entity_of_node(Ast *expr) { case_ast_node(cc, CaseClause, expr); return cc->implicit_entity; case_end; + + case_ast_node(ce, CallExpr, expr); + return ce->entity_procedure_of; + case_end; } return nullptr; } |