X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=570af95fd3f11ad362e234061be2449f522a9d1b;hp=56b261248a03403da1be4ed7cc85e629914a9326;hb=4fd6435041048363289eb7b9243cee39b6901e4e;hpb=ef40ce43c98a00823e06c14f5cf7a8241f637ab1 diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index 56b2612..570af95 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -1867,7 +1867,12 @@ let_calloc[calloc]: ; let_callback[callback]: - CALLBACK LPAREN call_decl_vars[cb_args] RPAREN AS callback_rval[func] LPAREN impl_var[var] LPAREN callback_arg_list[args] RPAREN RPAREN { + CALLBACK callback_rval[func] LPAREN impl_var[var] LPAREN callback_arg_list[args] RPAREN RPAREN { + $callback = psi_let_callback_init(psi_let_func_init($func->type, $func->text, $var), $args, NULL); + $callback->func->token = psi_token_copy($func); + $callback->token = psi_token_copy($CALLBACK); +} +| CALLBACK LPAREN call_decl_vars[cb_args] RPAREN AS callback_rval[func] LPAREN impl_var[var] LPAREN callback_arg_list[args] RPAREN RPAREN { $callback = psi_let_callback_init(psi_let_func_init($func->type, $func->text, $var), $args, $cb_args); $callback->func->token = psi_token_copy($func); $callback->token = psi_token_copy($CALLBACK);