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.
Показать файл Открыть проект

Открытые методы

Метод Описание
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