C# Class TerrariaPatcher.IL

Mostra file Open project: dougbenham/TerrariaPatcher Class Usage Examples

Public Methods

Method Description
AddStaticField ( Mono.Cecil.ModuleDefinition moduleDefinition, Mono.Cecil.TypeDefinition classType, string field, Type type, object value = null ) : FieldDefinition
AddStaticField ( Mono.Cecil.TypeDefinition classType, string field, TypeReference type, object value = null ) : FieldDefinition
CopyInstruction ( Instruction original ) : Instruction

Creates a copy of the instruction.

GetAssemblyVersion ( string path ) : System.Version
GetFieldDefinition ( Mono.Cecil.TypeDefinition t, string fieldName, bool verbose = true ) : FieldDefinition

Returns a property definition.

GetMethodDefinition ( Mono.Cecil.TypeDefinition t, string methodName, int parameterCount = -1, bool verbose = true ) : Mono.Cecil.MethodDefinition

Returns a method definition.

GetModuleDefinition ( AssemblyDefinition definition, string fullyQualifiedName, bool verbose = true ) : Mono.Cecil.ModuleDefinition

Returns a method definition.

GetPropertyDefinition ( Mono.Cecil.TypeDefinition t, string propName, bool verbose = true ) : Mono.Cecil.PropertyDefinition

Returns a property definition.

GetTypeDefinition ( Mono.Cecil.ModuleDefinition moduleDefinition, string typeName, bool verbose = true ) : Mono.Cecil.TypeDefinition

Returns a type definition.

GetTypeReference ( Mono.Cecil.ModuleDefinition moduleDefinition, string fullName, bool verbose = true ) : TypeReference

Only use this instead of GetTypeDefinition() when the type is not within the Terraria module (eg. an XNA type).

MakeTypePublic ( Mono.Cecil.TypeDefinition typeDefinition, bool includeNestedTypes = true ) : void

Changes all fields/methods/nested types to use public modifiers.

MethodAppend ( Mono.Cecil.Cil.ILProcessor il, int index, int overwrite, IEnumerable instructions ) : void
MethodAppend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
MethodAppend ( Mono.Cecil.MethodDefinition definition, int index, int overwrite, IEnumerable instructions ) : void
MethodPrepend ( Mono.Cecil.Cil.ILProcessor il, Instruction first, IEnumerable instructions ) : void
MethodPrepend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
MethodPrepend ( Mono.Cecil.MethodDefinition method, Instruction first, IEnumerable instructions ) : void
ModifyStaticField ( Mono.Cecil.MethodDefinition classStaticConstructor, string field, Action set ) : void
ModifyStaticField ( Mono.Cecil.TypeDefinition classType, string field, object newValue ) : void
ScanAndNop ( Mono.Cecil.MethodDefinition m, int offsetStart, int offsetInstructionWithOperand ) : bool
ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m ) : int

Scans a method for a pattern of opcodes.

ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m, Func check ) : int

Scans a method for a pattern of opcodes.

ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m, Func check, int nStartOffset ) : int

Scans a method for a pattern of opcodes.

Method Details

AddStaticField() public static method

public static AddStaticField ( Mono.Cecil.ModuleDefinition moduleDefinition, Mono.Cecil.TypeDefinition classType, string field, Type type, object value = null ) : FieldDefinition
moduleDefinition Mono.Cecil.ModuleDefinition
classType Mono.Cecil.TypeDefinition
field string
type System.Type
value object
return Mono.Cecil.FieldDefinition

AddStaticField() public static method

public static AddStaticField ( Mono.Cecil.TypeDefinition classType, string field, TypeReference type, object value = null ) : FieldDefinition
classType Mono.Cecil.TypeDefinition
field string
type Mono.Cecil.TypeReference
value object
return Mono.Cecil.FieldDefinition

CopyInstruction() public static method

Creates a copy of the instruction.
public static CopyInstruction ( Instruction original ) : Instruction
original Mono.Cecil.Cil.Instruction
return Mono.Cecil.Cil.Instruction

GetAssemblyVersion() public static method

public static GetAssemblyVersion ( string path ) : System.Version
path string
return System.Version

GetFieldDefinition() public static method

Returns a property definition.
public static GetFieldDefinition ( Mono.Cecil.TypeDefinition t, string fieldName, bool verbose = true ) : FieldDefinition
t Mono.Cecil.TypeDefinition
fieldName string
verbose bool
return Mono.Cecil.FieldDefinition

GetMethodDefinition() public static method

Returns a method definition.
public static GetMethodDefinition ( Mono.Cecil.TypeDefinition t, string methodName, int parameterCount = -1, bool verbose = true ) : Mono.Cecil.MethodDefinition
t Mono.Cecil.TypeDefinition
methodName string
parameterCount int
verbose bool
return Mono.Cecil.MethodDefinition

GetModuleDefinition() public static method

Returns a method definition.
public static GetModuleDefinition ( AssemblyDefinition definition, string fullyQualifiedName, bool verbose = true ) : Mono.Cecil.ModuleDefinition
definition Mono.Cecil.AssemblyDefinition
fullyQualifiedName string
verbose bool
return Mono.Cecil.ModuleDefinition

GetPropertyDefinition() public static method

Returns a property definition.
public static GetPropertyDefinition ( Mono.Cecil.TypeDefinition t, string propName, bool verbose = true ) : Mono.Cecil.PropertyDefinition
t Mono.Cecil.TypeDefinition
propName string
verbose bool
return Mono.Cecil.PropertyDefinition

GetTypeDefinition() public static method

Returns a type definition.
public static GetTypeDefinition ( Mono.Cecil.ModuleDefinition moduleDefinition, string typeName, bool verbose = true ) : Mono.Cecil.TypeDefinition
moduleDefinition Mono.Cecil.ModuleDefinition
typeName string
verbose bool
return Mono.Cecil.TypeDefinition

GetTypeReference() public static method

Only use this instead of GetTypeDefinition() when the type is not within the Terraria module (eg. an XNA type).
public static GetTypeReference ( Mono.Cecil.ModuleDefinition moduleDefinition, string fullName, bool verbose = true ) : TypeReference
moduleDefinition Mono.Cecil.ModuleDefinition
fullName string
verbose bool
return Mono.Cecil.TypeReference

MakeTypePublic() public static method

Changes all fields/methods/nested types to use public modifiers.
public static MakeTypePublic ( Mono.Cecil.TypeDefinition typeDefinition, bool includeNestedTypes = true ) : void
typeDefinition Mono.Cecil.TypeDefinition
includeNestedTypes bool
return void

MethodAppend() public static method

public static MethodAppend ( Mono.Cecil.Cil.ILProcessor il, int index, int overwrite, IEnumerable instructions ) : void
il Mono.Cecil.Cil.ILProcessor
index int
overwrite int
instructions IEnumerable
return void

MethodAppend() public static method

public static MethodAppend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
instructions IEnumerable
return void

MethodAppend() public static method

public static MethodAppend ( Mono.Cecil.MethodDefinition definition, int index, int overwrite, IEnumerable instructions ) : void
definition Mono.Cecil.MethodDefinition
index int
overwrite int
instructions IEnumerable
return void

MethodPrepend() public static method

public static MethodPrepend ( Mono.Cecil.Cil.ILProcessor il, Instruction first, IEnumerable instructions ) : void
il Mono.Cecil.Cil.ILProcessor
first Mono.Cecil.Cil.Instruction
instructions IEnumerable
return void

MethodPrepend() public static method

public static MethodPrepend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
instructions IEnumerable
return void

MethodPrepend() public static method

public static MethodPrepend ( Mono.Cecil.MethodDefinition method, Instruction first, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
first Mono.Cecil.Cil.Instruction
instructions IEnumerable
return void

ModifyStaticField() public static method

public static ModifyStaticField ( Mono.Cecil.MethodDefinition classStaticConstructor, string field, Action set ) : void
classStaticConstructor Mono.Cecil.MethodDefinition
field string
set Action
return void

ModifyStaticField() public static method

public static ModifyStaticField ( Mono.Cecil.TypeDefinition classType, string field, object newValue ) : void
classType Mono.Cecil.TypeDefinition
field string
newValue object
return void

ScanAndNop() public static method

public static ScanAndNop ( Mono.Cecil.MethodDefinition m, int offsetStart, int offsetInstructionWithOperand ) : bool
m Mono.Cecil.MethodDefinition
offsetStart int
offsetInstructionWithOperand int
return bool

ScanForOpcodePattern() public static method

Scans a method for a pattern of opcodes.
public static ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m ) : int
m Mono.Cecil.MethodDefinition
return int

ScanForOpcodePattern() public static method

Scans a method for a pattern of opcodes.
public static ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m, Func check ) : int
m Mono.Cecil.MethodDefinition
check Func
return int

ScanForOpcodePattern() public static method

Scans a method for a pattern of opcodes.
public static ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m, Func check, int nStartOffset ) : int
m Mono.Cecil.MethodDefinition
check Func
nStartOffset int
return int