Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ExpressionN.cs
Go to the documentation of this file.
4
6
7internal class ExpressionN<TDelegate> : Expression<TDelegate>
8{
10
11 internal override int ParameterCount => _parameters.Count;
12
14 : base(body)
15 {
16 _parameters = parameters;
17 }
18
19 internal override ParameterExpression GetParameter(int index)
20 {
21 return _parameters[index];
22 }
23
24 internal override bool SameParameters(ICollection<ParameterExpression> parameters)
25 {
26 return ExpressionUtils.SameElements(parameters, _parameters);
27 }
28
33
34 internal override Expression<TDelegate> Rewrite(Expression body, ParameterExpression[] parameters)
35 {
36 return Expression.Lambda<TDelegate>(body, base.Name, base.TailCall, parameters ?? _parameters);
37 }
38}
static ReadOnlyCollection< ParameterExpression > ReturnReadOnly(IParameterProvider provider, ref object collection)
override bool SameParameters(ICollection< ParameterExpression > parameters)
override ReadOnlyCollection< ParameterExpression > GetOrMakeParameters()
override ParameterExpression GetParameter(int index)
override Expression< TDelegate > Rewrite(Expression body, ParameterExpression[] parameters)
ExpressionN(Expression body, IReadOnlyList< ParameterExpression > parameters)
IReadOnlyList< ParameterExpression > _parameters
Definition ExpressionN.cs:9
static LambdaExpression Lambda(Expression body, params ParameterExpression[]? parameters)