C# Class Castle.DynamicProxy.Generators.MethodWithInvocationGenerator

Inheritance: MethodGenerator
Datei anzeigen Open project: Jarvin-Guan/CleanAOP

Public Methods

Method Description
MethodWithInvocationGenerator ( MetaMethod method, Reference interceptors, Type invocation, GetTargetExpressionDelegate getTargetExpression, OverrideMethodDelegate createMethod, IInvocationCreationContributor contributor ) : System

Protected Methods

Method Description
BuildMethodInterceptorsField ( ClassEmitter @class, MethodInfo method, INamingScope namingScope ) : FieldReference
BuildProxiedMethodBody ( MethodEmitter emitter, ClassEmitter @class, ProxyGenerationOptions options, INamingScope namingScope ) : MethodEmitter

Private Methods

Method Description
EmitLoadGenricMethodArguments ( MethodEmitter methodEmitter, MethodInfo method, Reference invocationLocal ) : void
GetCtorArguments ( ClassEmitter @class, INamingScope namingScope, Expression proxiedMethodTokenExpression, TypeReference dereferencedArguments ) : Castle.DynamicProxy.Generators.Emitters.SimpleAST.Expression[]
HasByRefArguments ( ArgumentReference arguments ) : bool
ModifyArguments ( ClassEmitter @class, Expression arguments ) : Castle.DynamicProxy.Generators.Emitters.SimpleAST.Expression[]

Method Details

BuildMethodInterceptorsField() protected method

protected BuildMethodInterceptorsField ( ClassEmitter @class, MethodInfo method, INamingScope namingScope ) : FieldReference
@class Castle.DynamicProxy.Generators.Emitters.ClassEmitter
method System.Reflection.MethodInfo
namingScope INamingScope
return Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference

BuildProxiedMethodBody() protected method

protected BuildProxiedMethodBody ( MethodEmitter emitter, ClassEmitter @class, ProxyGenerationOptions options, INamingScope namingScope ) : MethodEmitter
emitter Castle.DynamicProxy.Generators.Emitters.MethodEmitter
@class Castle.DynamicProxy.Generators.Emitters.ClassEmitter
options ProxyGenerationOptions
namingScope INamingScope
return Castle.DynamicProxy.Generators.Emitters.MethodEmitter

MethodWithInvocationGenerator() public method

public MethodWithInvocationGenerator ( MetaMethod method, Reference interceptors, Type invocation, GetTargetExpressionDelegate getTargetExpression, OverrideMethodDelegate createMethod, IInvocationCreationContributor contributor ) : System
method MetaMethod
interceptors Reference
invocation System.Type
getTargetExpression GetTargetExpressionDelegate
createMethod OverrideMethodDelegate
contributor IInvocationCreationContributor
return System