void ListAssignment::setLValue() { if (m_variables) { for (int i = 0; i < m_variables->getCount(); i++) { ExpressionPtr exp = (*m_variables)[i]; if (exp) { if (exp->is(Expression::KindOfListAssignment)) { ListAssignmentPtr sublist = dynamic_pointer_cast<ListAssignment>(exp); sublist->setLValue(); } else { // Magic contexts I took from assignment expression exp->setContext(Expression::DeepAssignmentLHS); exp->setContext(Expression::AssignmentLHS); exp->setContext(Expression::LValue); exp->setContext(Expression::NoLValueWrapper); } } } } }