IronPython.Compiler.PythonScriptCode.ExtractConstant C# (CSharp) Method

ExtractConstant() private static method

private static ExtractConstant ( LightExpression lambda ) : PythonConstantExpression
lambda LightExpression
return PythonConstantExpression
        private static PythonConstantExpression ExtractConstant(LightExpression<LookupCompilationDelegate> lambda) {
            var body = lambda.Body as BlockExpression;
            if (body == null || 
                body.Expressions.Count != 2 || 
                !(body.Expressions[0] is DebugInfoExpression) || 
                body.Expressions[1].NodeType  != ExpressionType.Convert ||
                !(((MSAst.UnaryExpression)body.Expressions[1]).Operand is PythonConstantExpression)) {
                return null;
            }

            return (PythonConstantExpression)((MSAst.UnaryExpression)body.Expressions[1]).Operand;
        }