private void CreateFunctionInfo(MSAst.LambdaExpression generatorFactoryLambda) { if (_lambdaInfo.CompilerSupport != null && _lambdaInfo.CompilerSupport.DoesExpressionNeedReduction(generatorFactoryLambda)) { _functionInfo = _lambdaInfo.CompilerSupport.QueueExpressionForReduction( Ast.Call( typeof(RuntimeOps).GetMethod("CreateFunctionInfo"), generatorFactoryLambda, AstUtils.Constant(_alias), AstUtils.Constant(_debugMarkerLocationMap, typeof(object)), AstUtils.Constant(_variableScopeMap, typeof(object)), AstUtils.Constant(_variableInfos, typeof(object)), Ast.Constant(_lambdaInfo.CustomPayload, typeof(object)) ) ); } else { _functionInfo = Ast.Constant( DebugContext.CreateFunctionInfo( generatorFactoryLambda.Compile(), _alias, _debugMarkerLocationMap, _variableScopeMap, _variableInfos, _lambdaInfo.CustomPayload), typeof(FunctionInfo)); } }