private void IsolateParameters(MethodInfo methodInfo)
{
Parameters = methodInfo.GetParameters()
.Select(p => {
var proceedFunctionType = StaticAnalysis.ExtractProceedFunctionType(p.ParameterType);
if (proceedFunctionType != null)
{
TransformsScopeTo = proceedFunctionType;
return new ProceedParameter() {
Name = p.Name,
Type = p.ParameterType,
TransformsTo = proceedFunctionType
};
}
else
{
return new StatementParameter() { Name = p.Name, Type = p.ParameterType };
}
})
.ToList();
}