Pytocs.Translate.StatementTranslator.EmitTupleFieldAssignments C# (CSharp) Method

EmitTupleFieldAssignments() private method

private EmitTupleFieldAssignments ( List lhs, CodeVariableReferenceExpression tup ) : void
lhs List
tup CodeVariableReferenceExpression
return void
        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);
                }
            }
        }