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

◆ SlowCreate()

static CallInstruction System.Linq.Expressions.Interpreter.CallInstruction.SlowCreate ( MethodInfo info,
ParameterInfo[] pis )
inlinestaticprivateinherited

Definition at line 162 of file CallInstruction.cs.

163 {
164 List<Type> list = new List<Type>();
165 if (!info.IsStatic)
166 {
167 list.Add(info.DeclaringType);
168 }
169 foreach (ParameterInfo parameterInfo in pis)
170 {
171 list.Add(parameterInfo.ParameterType);
172 }
173 if (info.ReturnType != typeof(void))
174 {
175 list.Add(info.ReturnType);
176 }
177 Type[] arrTypes = list.ToArray();
178 try
179 {
180 return (CallInstruction)Activator.CreateInstance(GetHelperType(info, arrTypes), info);
181 }
183 {
184 ExceptionHelpers.UnwrapAndRethrow(exception);
186 }
187 }
static Type GetHelperType(MethodInfo info, Type[] arrTypes)

References System.Activator.CreateInstance(), System.exception, System.Linq.Expressions.Interpreter.CallInstruction.GetHelperType(), System.info, System.list, System.Dynamic.Utils.ContractUtils.Unreachable, and System.Linq.Expressions.Interpreter.ExceptionHelpers.UnwrapAndRethrow().

Referenced by System.Linq.Expressions.Interpreter.CallInstruction.Create(), System.Linq.Expressions.Interpreter.CallInstruction.FastCreate(), System.Linq.Expressions.Interpreter.CallInstruction.FastCreate< T0 >(), and System.Linq.Expressions.Interpreter.CallInstruction.FastCreate< T0, T1 >().