C# 클래스 TerrariaPatcher.IL

파일 보기 프로젝트 열기: dougbenham/TerrariaPatcher 1 사용 예제들

공개 메소드들

메소드 설명
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