return true;
default:
- complex: switch (psi_decl_type_get_real(set_var->arg->type)->type) {
+ complex:
+ switch (psi_decl_type_get_real(set_var->arg->type)->type) {
case PSI_T_UNION:
case PSI_T_STRUCT:
break;
struct psi_impl *impl)
{
if (!set->outer
- || set->outer->kind
- != PSI_SET_FUNC|| set->outer->data.func->type != PSI_T_TO_ARRAY) {
+ || set->outer->kind != PSI_SET_FUNC
+ || set->outer->data.func->type != PSI_T_TO_ARRAY) {
data->error(data, func->token, PSI_WARNING,
"Expected to_array() as parent to recursion in `set` statement"
" of implementation '%s'",
bool psi_set_func_validate(struct psi_data *data, struct psi_set_func *func,
struct psi_set_exp *set, struct psi_impl *impl, struct psi_decl *cb_decl)
{
- if (!psi_decl_var_validate(data, func->var, impl->decl, NULL, set)
- && !psi_decl_var_validate(data, func->var, cb_decl, NULL, NULL)
+ if (!func->var->arg
+ && !psi_decl_var_validate(data, func->var, impl, impl->decl, NULL, set)
+ && !psi_decl_var_validate(data, func->var, NULL, cb_decl, NULL, NULL)
&& !psi_impl_get_temp_let_arg(impl, func->var)) {
data->error(data, func->var->token, PSI_WARNING,
"Unknown variable '%s' in implementation %s",
return false;
}
break;
- case PSI_T_ELLIPSIS:
- abort();
- if (!psi_set_func_validate_to_recursive(data, func, set, impl)) {
- return false;
- }
- break;
default:
data->error(data, func->token, PSI_WARNING,
"Unknown cast '%s' in `set` statement of implementation '%s'",