C# 클래스 DryIoc.FactoryCompiler.EmittingVisitor

Supports emitting of selected expressions, e.g. lambda are not supported yet. When emitter find not supported expression it will return false from TryVisit, so I could fallback to normal and slow Expression.Compile.
파일 보기 프로젝트 열기: csteeg/BoC

공개 메소드들

메소드 설명
TryVisit ( Expression expr, ILGenerator il ) : bool

비공개 메소드들

메소드 설명
EmitLoadConstantInt ( ILGenerator il, int i ) : void
EmitMethodCall ( MethodInfo method, ILGenerator il ) : void
VisitArrayIndex ( BinaryExpression node, ILGenerator il ) : bool
VisitBinary ( BinaryExpression b, ILGenerator il ) : bool
VisitConstant ( ConstantExpression node, ILGenerator il ) : bool
VisitConvert ( UnaryExpression node, ILGenerator il ) : bool
VisitExpressionList ( IList eList, ILGenerator state ) : bool
VisitFactoryDelegateParameters ( Expression expr, ILGenerator il ) : bool
VisitMemberAccess ( MemberExpression expr, ILGenerator il ) : bool
VisitMemberInit ( MemberInitExpression mi, ILGenerator il ) : bool
VisitMethodCall ( MethodCallExpression expr, ILGenerator il ) : bool
VisitNew ( NewExpression node, ILGenerator il ) : bool
VisitNewArray ( NewArrayExpression node, ILGenerator il ) : bool

메소드 상세

TryVisit() 공개 정적인 메소드

public static TryVisit ( Expression expr, ILGenerator il ) : bool
expr System.Linq.Expressions.Expression
il System.Reflection.Emit.ILGenerator
리턴 bool