Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReduceMemberBinding()

static Expression System.Linq.Expressions.MemberInitExpression.ReduceMemberBinding ( ParameterExpression objVar,
MemberBinding binding )
inlinestaticpackage

Definition at line 66 of file MemberInitExpression.cs.

67 {
68 MemberExpression memberExpression = Expression.MakeMemberAccess(objVar, binding.Member);
69 return binding.BindingType switch
70 {
71 MemberBindingType.Assignment => Expression.Assign(memberExpression, ((MemberAssignment)binding).Expression),
72 MemberBindingType.ListBinding => ReduceListInit(memberExpression, ((MemberListBinding)binding).Initializers, keepOnStack: false),
74 _ => throw ContractUtils.Unreachable,
75 };
76 }
ReadOnlyCollection< MemberBinding > Bindings
static Expression ReduceMemberInit(Expression objExpression, ReadOnlyCollection< MemberBinding > bindings, bool keepOnStack)
static Expression ReduceListInit(Expression listExpression, ReadOnlyCollection< ElementInit > initializers, bool keepOnStack)

References System.Linq.Expressions.Expression< TDelegate >.Assign(), System.Linq.Expressions.Expression< TDelegate >.MakeMemberAccess(), System.Linq.Expressions.MemberInitExpression.ReduceListInit(), System.Linq.Expressions.MemberInitExpression.ReduceMemberInit(), and System.Dynamic.Utils.ContractUtils.Unreachable.

Referenced by System.Linq.Expressions.MemberInitExpression.ReduceMemberInit().