IronPython.Compiler.Ast.MemberExpression.TransformSet C# (CSharp) Method

TransformSet() private method

private TransformSet ( Microsoft.Scripting.SourceSpan span, System.Linq.Expressions right, PythonOperationKind op ) : Expression
span Microsoft.Scripting.SourceSpan
right System.Linq.Expressions
op PythonOperationKind
return System.Linq.Expressions.Expression
        internal override MSAst.Expression TransformSet(SourceSpan span, MSAst.Expression right, PythonOperationKind op) {
            if (op == PythonOperationKind.None) {
                return GlobalParent.AddDebugInfoAndVoid(
                    GlobalParent.Set(
                        _name,
                        _target,
                        right
                    ),
                    span
                );
            } else {
                MSAst.ParameterExpression temp = Ast.Variable(typeof(object), "inplace");
                return GlobalParent.AddDebugInfo(
                    Ast.Block(
                        new[] { temp },
                        Ast.Assign(temp, _target),
                        SetMemberOperator(right, op, temp),
                        AstUtils.Empty()
                    ),
                    Span.Start,
                    span.End
                );
            }
        }