C# Класс TerrariaPatcher.IL

Показать файл Открыть проект Примеры использования класса

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

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

Описание методов

AddStaticField() публичный статический Метод

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
Результат Mono.Cecil.FieldDefinition

AddStaticField() публичный статический Метод

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
Результат Mono.Cecil.FieldDefinition

CopyInstruction() публичный статический Метод

Creates a copy of the instruction.
public static CopyInstruction ( Instruction original ) : Instruction
original Mono.Cecil.Cil.Instruction
Результат Mono.Cecil.Cil.Instruction

GetAssemblyVersion() публичный статический Метод

public static GetAssemblyVersion ( string path ) : System.Version
path string
Результат System.Version

GetFieldDefinition() публичный статический Метод

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
Результат Mono.Cecil.FieldDefinition

GetMethodDefinition() публичный статический Метод

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
Результат Mono.Cecil.MethodDefinition

GetModuleDefinition() публичный статический Метод

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
Результат Mono.Cecil.ModuleDefinition

GetPropertyDefinition() публичный статический Метод

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
Результат Mono.Cecil.PropertyDefinition

GetTypeDefinition() публичный статический Метод

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
Результат Mono.Cecil.TypeDefinition

GetTypeReference() публичный статический Метод

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
Результат Mono.Cecil.TypeReference

MakeTypePublic() публичный статический Метод

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
Результат void

MethodAppend() публичный статический Метод

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
Результат void

MethodAppend() публичный статический Метод

public static MethodAppend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
instructions IEnumerable
Результат void

MethodAppend() публичный статический Метод

public static MethodAppend ( Mono.Cecil.MethodDefinition definition, int index, int overwrite, IEnumerable instructions ) : void
definition Mono.Cecil.MethodDefinition
index int
overwrite int
instructions IEnumerable
Результат void

MethodPrepend() публичный статический Метод

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
Результат void

MethodPrepend() публичный статический Метод

public static MethodPrepend ( Mono.Cecil.MethodDefinition method, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
instructions IEnumerable
Результат void

MethodPrepend() публичный статический Метод

public static MethodPrepend ( Mono.Cecil.MethodDefinition method, Instruction first, IEnumerable instructions ) : void
method Mono.Cecil.MethodDefinition
first Mono.Cecil.Cil.Instruction
instructions IEnumerable
Результат void

ModifyStaticField() публичный статический Метод

public static ModifyStaticField ( Mono.Cecil.MethodDefinition classStaticConstructor, string field, Action set ) : void
classStaticConstructor Mono.Cecil.MethodDefinition
field string
set Action
Результат void

ModifyStaticField() публичный статический Метод

public static ModifyStaticField ( Mono.Cecil.TypeDefinition classType, string field, object newValue ) : void
classType Mono.Cecil.TypeDefinition
field string
newValue object
Результат void

ScanAndNop() публичный статический Метод

public static ScanAndNop ( Mono.Cecil.MethodDefinition m, int offsetStart, int offsetInstructionWithOperand ) : bool
m Mono.Cecil.MethodDefinition
offsetStart int
offsetInstructionWithOperand int
Результат bool

ScanForOpcodePattern() публичный статический Метод

Scans a method for a pattern of opcodes.
public static ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m ) : int
m Mono.Cecil.MethodDefinition
Результат int

ScanForOpcodePattern() публичный статический Метод

Scans a method for a pattern of opcodes.
public static ScanForOpcodePattern ( Mono.Cecil.MethodDefinition m, Func check ) : int
m Mono.Cecil.MethodDefinition
check Func
Результат int

ScanForOpcodePattern() публичный статический Метод

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
Результат int