Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
InstanceMethodCallExpression1.cs
Go to the documentation of this file.
5
7
9{
10 private object _arg0;
11
12 public override int ArgumentCount => 1;
13
15 : base(method, instance)
16 {
17 _arg0 = arg0;
18 }
19
20 public override Expression GetArgument(int index)
21 {
22 if (index == 0)
23 {
24 return ExpressionUtils.ReturnObject<Expression>(_arg0);
25 }
26 throw new ArgumentOutOfRangeException("index");
27 }
28
30 {
31 if (arguments != null && arguments.Count == 1)
32 {
34 {
35 enumerator.MoveNext();
36 return enumerator.Current == ExpressionUtils.ReturnObject<Expression>(_arg0);
37 }
38 }
39 return false;
40 }
41
46
48 {
49 if (args != null)
50 {
51 return Expression.Call(instance, base.Method, args[0]);
52 }
53 return Expression.Call(instance, base.Method, ExpressionUtils.ReturnObject<Expression>(_arg0));
54 }
55}
static ReadOnlyCollection< ParameterExpression > ReturnReadOnly(IParameterProvider provider, ref object collection)
static MethodCallExpression Call(MethodInfo method)
override MethodCallExpression Rewrite(Expression instance, IReadOnlyList< Expression > args)
InstanceMethodCallExpression1(MethodInfo method, Expression instance, Expression arg0)
override ReadOnlyCollection< Expression > GetOrMakeArguments()
override bool SameArguments(ICollection< Expression > arguments)