+bool psi_impl_var_validate(struct psi_data *data, struct psi_impl_var *ivar,
+ struct psi_impl *impl, struct psi_let_exp *let_exp,
+ struct psi_set_exp *set_exp)
+{
+ struct psi_let_exp *current_let_exp = let_exp;
+ struct psi_set_exp *current_set_exp = set_exp;
+
+ if (current_let_exp) {
+ while ((current_let_exp = current_let_exp->outer)) {
+ struct psi_impl_var *svar = psi_let_exp_get_impl_var(current_let_exp);
+
+ ivar->fqn = psi_impl_var_name_prepend(ivar->fqn, svar->name + 1);
+ }
+ } else if (current_set_exp) {
+ while ((current_set_exp = current_set_exp->outer)) {
+ struct psi_impl_var *svar = psi_set_exp_get_impl_var(current_set_exp);