- if (!strcmp(decl->func->var->name, name)) {
- impl->decl = decl;
- return psi_return_exp_validate_decl_args(data, exp, impl) &&
- psi_set_exp_validate(data, exp->set, impl, NULL);
+ if (zend_string_equals(decl->func->var->name, name)) {
+ scope->impl->decl = decl;
+ if (psi_return_exp_validate_decl_args(data, exp, scope->impl)) {
+ scope->current_set = exp->set;
+ if (psi_set_exp_validate(data, exp->set, scope)) {
+ scope->current_set = NULL;
+ return true;
+ }
+ scope->current_set = NULL;
+ }
+ return false;