2013-07-22 4 views
2

식 인수를 사용하는 메서드에 대해 LINQ 식을 작성하기 위해 (v3 +) 컴파일러가 수행하는 단계가 궁금합니다. 특히, 컴파일러는 LeafExpressionConverter과 논리를 사용하거나 공유합니까? (그럴 경우 먼저 Expr을 생성해야 변환 할 수 있습니다.) 별도의 메커니즘이있는 경우 LeafExpressionConverter과 패리티를 확인하기 위해 수행해야 할 작업이 있습니까?LINQ 식 컴파일

답변

2

예, 나는 그것이 LeafExpressionConverter.QuotationToLambdaExpression을 사용한다고 생각합니다. 오픈 소스 컴파일러 코드베이스에서 quote_to_linq_lambda_info을 검색하십시오.

+1

[발견] (https://github.com/fsharp/fsharp/blob/4493a116ba6862ff0c1d08b7e1c73c6ff8be8af/src/fsharp/env.fs#L945). 감사. – Daniel