C# Class LinFu.AOP.Cecil.MethodRewriter

Provides the basic functionality for the IMethodRewriter interface.
Inheritance: IMethodRewriter
Exibir arquivo Open project: philiplaureano/LinFu

Public Methods

Method Description
AddAdditionalMembers ( Mono.Cecil.TypeDefinition host ) : void

Adds additional members to the host type.

AddLocals ( Mono.Cecil.MethodDefinition hostMethod ) : void

Adds local variables to the hostMethod.

ImportReferences ( Mono.Cecil.ModuleDefinition module ) : void

Adds additional references to the target module.

Rewrite ( Mono.Cecil.MethodDefinition method, Mono.Cecil.Cil.CilWorker IL, IEnumerable oldInstructions ) : void

Rewrites a target method using the given CilWorker.

Protected Methods

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

Replaces the oldInstruction with a new set of IL instructions..

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

Determines whether or not the method rewriter should replace the oldInstruction.

Method Details

AddAdditionalMembers() public method

Adds additional members to the host type.
public AddAdditionalMembers ( Mono.Cecil.TypeDefinition host ) : void
host Mono.Cecil.TypeDefinition The host type.
return void

AddLocals() public method

Adds local variables to the hostMethod.
public AddLocals ( Mono.Cecil.MethodDefinition hostMethod ) : void
hostMethod Mono.Cecil.MethodDefinition The target method.
return void

ImportReferences() public method

Adds additional references to the target module.
public ImportReferences ( Mono.Cecil.ModuleDefinition module ) : void
module Mono.Cecil.ModuleDefinition The host module.
return void

Replace() protected abstract method

Replaces the oldInstruction with a new set of IL instructions..
protected abstract Replace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod, Mono.Cecil.Cil.CilWorker IL ) : void
oldInstruction Mono.Cecil.Cil.Instruction The instruction currently being evaluated.
hostMethod Mono.Cecil.MethodDefinition The method that contains the target instruction.
IL Mono.Cecil.Cil.CilWorker The CilWorker for the target method body.
return void

Rewrite() public method

Rewrites a target method using the given CilWorker.
public Rewrite ( Mono.Cecil.MethodDefinition method, Mono.Cecil.Cil.CilWorker IL, IEnumerable oldInstructions ) : void
method Mono.Cecil.MethodDefinition The target method.
IL Mono.Cecil.Cil.CilWorker The CilWorker that will be used to rewrite the target method.
oldInstructions IEnumerable The original instructions from the target method body.
return void

ShouldReplace() protected abstract method

Determines whether or not the method rewriter should replace the oldInstruction.
protected abstract ShouldReplace ( Instruction oldInstruction, Mono.Cecil.MethodDefinition hostMethod ) : bool
oldInstruction Mono.Cecil.Cil.Instruction The instruction that is currently being evaluated.
hostMethod Mono.Cecil.MethodDefinition The method that hosts the current instruction.
return bool