4 types derived from BindingRestrictions
System.Linq.Expressions (4)
System\Dynamic\BindingRestrictions.cs (4)
189private sealed class MergedRestriction : BindingRestrictions 235private sealed class CustomRestriction : BindingRestrictions 255private sealed class TypeRestriction : BindingRestrictions 278private sealed class InstanceRestriction : BindingRestrictions
64 references to BindingRestrictions
Microsoft.CSharp (10)
Microsoft\CSharp\RuntimeBinder\BinderHelper.cs (9)
32BindingRestrictions restrictions = BindingRestrictions.Empty; 63BindingRestrictions r = DeduceArgumentRestriction(index, callPayload, o, info); 75restrictions = restrictions.Merge(BindingRestrictions.GetExpressionRestriction(e)); 81restrictions = restrictions.Merge(BindingRestrictions.GetExpressionRestriction(e)); 86r = BindingRestrictions.GetExpressionRestriction(e); 203private static BindingRestrictions DeduceArgumentRestriction( 238BindingRestrictions.GetInstanceRestriction(argument.Expression, argument.Value) : 239BindingRestrictions.GetTypeRestriction(argument.Expression, argument.RuntimeType);
Microsoft\CSharp\RuntimeBinder\DynamicDebuggerProxy.cs (1)
46System.Linq.Expressions.Expression.Constant(new DynamicBindingFailedException(), typeof(Exception)), typeof(object)), System.Dynamic.BindingRestrictions.Combine(v));
Microsoft.VisualBasic.Core (5)
Microsoft\VisualBasic\CompilerServices\IDOBinder.vb (5)
1513Optional ByVal value As DynamicMetaObject = Nothing) As BindingRestrictions 1515Dim r As BindingRestrictions = CreateRestriction(target) 1527Private Shared Function CreateRestriction(ByVal metaObject As DynamicMetaObject) As BindingRestrictions 1530BindingRestrictions.GetInstanceRestriction(metaObject.Expression, Nothing)) 1533BindingRestrictions.GetTypeRestriction(metaObject.Expression, metaObject.LimitType))
netstandard (1)
netstandard.cs (1)
760[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.BindingRestrictions))]
PresentationFramework-SystemCore (1)
DynamicAccessorImpl.cs (1)
242BindingRestrictions.Empty
System.Core (1)
System.Core.cs (1)
65[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.BindingRestrictions))]
System.Dynamic.Runtime (1)
System.Dynamic.Runtime.cs (1)
13[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.BindingRestrictions))]
System.Linq.Expressions (45)
System\Dynamic\BindingRestrictions.cs (24)
23public static readonly BindingRestrictions Empty = new CustomRestriction(AstUtils.Constant(true)); 41public BindingRestrictions Merge(BindingRestrictions restrictions) 63public static BindingRestrictions GetTypeRestriction(Expression expression, Type type) 75internal static BindingRestrictions GetTypeRestriction(DynamicMetaObject obj) 94public static BindingRestrictions GetInstanceRestriction(Expression expression, object? instance) 110public static BindingRestrictions GetExpressionRestriction(Expression expression) 122public static BindingRestrictions Combine(IList<DynamicMetaObject>? contributingObjects) 124BindingRestrictions res = Empty; 145private readonly HashSet<BindingRestrictions> _unique = new HashSet<BindingRestrictions>(); 154internal void Append(BindingRestrictions restrictions) 191internal readonly BindingRestrictions Left; 192internal readonly BindingRestrictions Right; 194internal MergedRestriction(BindingRestrictions left, BindingRestrictions right) 212var stack = new Stack<BindingRestrictions>(); 213BindingRestrictions top = this; 343private readonly BindingRestrictions _node; 345public BindingRestrictionsProxy(BindingRestrictions node) 355public BindingRestrictions[] Restrictions 359var restrictions = new List<BindingRestrictions>(); 365var stack = new Stack<BindingRestrictions>(); 366BindingRestrictions top = _node;
System\Dynamic\DynamicMetaObject.cs (4)
26public DynamicMetaObject(Expression expression, BindingRestrictions restrictions) 41public DynamicMetaObject(Expression expression, BindingRestrictions restrictions, object value) 59public BindingRestrictions Restrictions { get; } 301return new DynamicMetaObject(expression, BindingRestrictions.Empty, value);
System\Dynamic\DynamicMetaObjectBinder.cs (6)
91BindingRestrictions restrictions = binding.Restrictions; 116if (restrictions == BindingRestrictions.Empty) 129if (restrictions != BindingRestrictions.Empty) 193target.Restrictions.Merge(BindingRestrictions.Combine(args)), 206return MakeDeferred(BindingRestrictions.Combine(args), args); 209private DynamicMetaObject MakeDeferred(BindingRestrictions rs, params DynamicMetaObject[] args)
System\Dynamic\DynamicObject.cs (5)
213: base(expression, BindingRestrictions.Empty, value) 574var resultMO = new DynamicMetaObject(result, BindingRestrictions.Empty); 833private BindingRestrictions GetRestrictions() 835Debug.Assert(Restrictions == BindingRestrictions.Empty, "We don't merge, restrictions are always empty"); 837return BindingRestrictions.GetTypeRestriction(this);
System\Dynamic\ExpandoObject.cs (6)
779: base(expression, BindingRestrictions.Empty, value) 802var result = new DynamicMetaObject(value, BindingRestrictions.Empty); 874BindingRestrictions.Empty 1008private BindingRestrictions GetRestrictions() 1010Debug.Assert(Restrictions == BindingRestrictions.Empty, "We don't merge, restrictions are always empty"); 1012return BindingRestrictions.GetTypeRestriction(this);