// foo(x, y, #code {
// // ...
// })
-//
-// if (parser->curr->type == '{') {
-// AstCodeBlock* code_block = make_node(AstCodeBlock, Ast_Kind_Code_Block);
-// code_block->token = parser->curr;
-// code_block->type_node = builtin_code_type;
-//
-// code_block->code = (AstNode *) parse_block(parser, 1, NULL);
-// ((AstBlock *) code_block->code)->rules = Block_Rule_Code_Block;
-//
-// bh_arr_push(call_node->args.values, (AstTyped *) code_block);
-// }
+ if (next_tokens_are(parser, 2, '#', '{')) {
+ consume_token(parser);
+
+ AstCodeBlock* code_block = make_node(AstCodeBlock, Ast_Kind_Code_Block);
+ code_block->token = parser->curr;
+ code_block->type_node = builtin_code_type;
+
+ code_block->code = (AstNode *) parse_block(parser, 1, NULL);
+ ((AstBlock *) code_block->code)->rules = Block_Rule_Code_Block;
+
+ bh_arr_push(call_node->args.values, (AstTyped *) code_block);
+ }
// Wrap expressions in AstArgument
bh_arr_each(AstTyped *, arg, call_node->args.values) {