C# Class LinFu.AOP.Cecil.InterceptMethodCalls

Inheritance: LinFu.AOP.Cecil.InstructionSwapper
ファイルを表示 Open project: philiplaureano/LinFu

Public Methods

Method Description
AddLocals ( Mono.Cecil.MethodDefinition hostMethod ) : void
ImportReferences ( Mono.Cecil.ModuleDefinition module ) : void
InterceptMethodCalls ( bool>.Func hostMethodFilter, bool>.Func methodCallFilter ) : System
InterceptMethodCalls ( IMethodCallFilter callFilter ) : System

Protected Methods

Method Description
Replace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod, Mono.Cecil.Cil.CilWorker IL ) : void
ShouldReplace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod ) : bool

Private Methods

Method Description
EmitCanReplace ( Mono.Cecil.Cil.CilWorker IL, IMethodSignature hostMethod, Mono.Cecil.Cil.VariableDefinition provider ) : void
EmitGetMethodReplacement ( Mono.Cecil.Cil.CilWorker IL, IMethodSignature hostMethod, Mono.Cecil.Cil.VariableDefinition provider ) : void
EmitInterceptorCall ( Mono.Cecil.Cil.CilWorker IL ) : void
GetInstanceProvider ( Mono.Cecil.Cil.CilWorker IL ) : void
IgnoreLocal ( Mono.Cecil.Cil.CilWorker IL, Mono.Cecil.Cil.VariableDefinition targetVariable, Mono.Cecil.ModuleDefinition module ) : void
PushStackTrace ( Mono.Cecil.Cil.CilWorker IL, Mono.Cecil.ModuleDefinition module ) : void
ReconstructMethodArguments ( Mono.Cecil.Cil.CilWorker IL, MethodReference targetMethod ) : void
Replace ( Mono.Cecil.Cil.CilWorker IL, Instruction oldInstruction, MethodReference targetMethod, Mono.Cecil.MethodDefinition hostMethod, Instruction endLabel, Instruction callOriginalMethod ) : void
SaveInvocationInfo ( Mono.Cecil.Cil.CilWorker IL, MethodReference targetMethod, Mono.Cecil.ModuleDefinition module, TypeReference returnType ) : void

Method Details

AddLocals() public method

public AddLocals ( Mono.Cecil.MethodDefinition hostMethod ) : void
hostMethod Mono.Cecil.MethodDefinition
return void

ImportReferences() public method

public ImportReferences ( Mono.Cecil.ModuleDefinition module ) : void
module Mono.Cecil.ModuleDefinition
return void

InterceptMethodCalls() public method

public InterceptMethodCalls ( bool>.Func hostMethodFilter, bool>.Func methodCallFilter ) : System
hostMethodFilter bool>.Func
methodCallFilter bool>.Func
return System

InterceptMethodCalls() public method

public InterceptMethodCalls ( IMethodCallFilter callFilter ) : System
callFilter IMethodCallFilter
return System

Replace() protected method

protected Replace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod, Mono.Cecil.Cil.CilWorker IL ) : void
oldInstruction Mono.Cecil.Cil.Instruction
hostMethod Mono.Cecil.MethodDefinition
IL Mono.Cecil.Cil.CilWorker
return void

ShouldReplace() protected method

protected ShouldReplace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod ) : bool
oldInstruction Mono.Cecil.Cil.Instruction
hostMethod Mono.Cecil.MethodDefinition
return bool