private void EmitTupleFieldAssignments(List<Exp> lhs, CodeVariableReferenceExpression tup)
{
int i = 0;
foreach (Exp value in lhs)
{
++i;
if (value == null || value.Name == "_")
continue;
var tupleField = gen.Access(tup, "Item" + i);
var id = value as Identifier;
if (id != null)
{
EnsureLocalVariable(id.Name, new CodeTypeReference(typeof(object)), false);
gen.Assign(new CodeVariableReferenceExpression(id.Name), tupleField);
}
else
{
var dst = value.Accept(xlat);
gen.Assign(dst, tupleField);
}
}
}