private void DefineExpr(Expression lhs) { if (lhs is NameExpression) { lhs.Walk(Define); } else { // foo.bar = 42, foo[bar] = 42, we don't actually define any variables lhs.Walk(this); } }