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