Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Runtime.Serialization.CodeGenerator Class Referencesealed

Package Functions

 CodeGenerator ()
 
void BeginMethod (DynamicMethod dynamicMethod, Type delegateType, string methodName, Type[] argTypes, bool allowPrivateMemberAccess)
 
void BeginMethod (string methodName, Type delegateType, bool allowPrivateMemberAccess)
 
Delegate EndMethod ()
 
ArgBuilder GetArg (int index)
 
Type GetVariableType (object var)
 
LocalBuilder DeclareLocal (Type type, string name, object initialValue)
 
LocalBuilder DeclareLocal (Type type, string name)
 
LocalBuilder DeclareLocal (Type type, string name, bool isPinned)
 
void Set (LocalBuilder local, object value)
 
object For (LocalBuilder local, object start, object end)
 
void EndFor ()
 
void Break (object forState)
 
void IfFalseBreak (object forState)
 
void InternalBreakFor (object userForState, OpCode branchInstruction)
 
void ForEach (LocalBuilder local, Type elementType, Type enumeratorType, LocalBuilder enumerator, MethodInfo getCurrentMethod)
 
void EndForEach (MethodInfo moveNextMethod)
 
void IfNotDefaultValue (object value)
 
void If ()
 
void IfNot ()
 
void If (Cmp cmpOp)
 
void If (object value1, Cmp cmpOp, object value2)
 
void Else ()
 
void ElseIf (object value1, Cmp cmpOp, object value2)
 
void EndIf ()
 
void VerifyParameterCount (MethodInfo methodInfo, int expectedCount)
 
void Call (object thisObj, MethodInfo methodInfo)
 
void Call (object thisObj, MethodInfo methodInfo, object param1)
 
void Call (object thisObj, MethodInfo methodInfo, object param1, object param2)
 
void Call (object thisObj, MethodInfo methodInfo, object param1, object param2, object param3)
 
void Call (object thisObj, MethodInfo methodInfo, object param1, object param2, object param3, object param4)
 
void Call (object thisObj, MethodInfo methodInfo, object param1, object param2, object param3, object param4, object param5)
 
void Call (object thisObj, MethodInfo methodInfo, object param1, object param2, object param3, object param4, object param5, object param6)
 
void Call (MethodInfo methodInfo)
 
void Call (ConstructorInfo ctor)
 
void New (ConstructorInfo constructorInfo)
 
void InitObj (Type valueType)
 
void NewArray (Type elementType, object len)
 
void LoadArrayElement (object obj, object arrayIndex)
 
void StoreArrayElement (object obj, object arrayIndex, object value)
 
Type LoadMember (MemberInfo memberInfo)
 
void StoreMember (MemberInfo memberInfo)
 
void LoadDefaultValue (Type type)
 
void Load (object obj)
 
void Store (object var)
 
void Dec (object var)
 
void LoadAddress (object obj)
 
void ConvertAddress (Type source, Type target)
 
void ConvertValue (Type source, Type target)
 
void Castclass (Type target)
 
void Box (Type type)
 
void Unbox (Type type)
 
void Ldobj (Type type)
 
void Stobj (Type type)
 
void Ceq ()
 
void Throw ()
 
void Ldtoken (Type t)
 
void Ldc (object o)
 
void Ldc (bool boolVar)
 
void Ldc (int intVar)
 
void Ldc (long l)
 
void Ldc (float f)
 
void Ldc (double d)
 
void Ldstr (string strVar)
 
void LdlocAddress (LocalBuilder localBuilder)
 
void Ldloc (LocalBuilder localBuilder)
 
void Stloc (LocalBuilder local)
 
void Ldloca (LocalBuilder localBuilder)
 
void LdargAddress (ArgBuilder argBuilder)
 
void Ldarg (ArgBuilder arg)
 
void Starg (ArgBuilder arg)
 
void Ldarg (int slot)
 
void Starg (int slot)
 
void Ldarga (ArgBuilder argBuilder)
 
void Ldarga (int slot)
 
void Ldlen ()
 
void Ldelem (Type arrayElementType)
 
void Ldelema (Type arrayElementType)
 
void Stelem (Type arrayElementType)
 
Label DefineLabel ()
 
void MarkLabel (Label label)
 
void Add ()
 
void Subtract ()
 
void And ()
 
void Or ()
 
void Not ()
 
void Ret ()
 
void Br (Label label)
 
void Blt (Label label)
 
void Brfalse (Label label)
 
void Brtrue (Label label)
 
void Pop ()
 
void Dup ()
 
void EmitSourceInstruction (string line)
 
void EmitSourceLabel (string line)
 
void EmitSourceComment (string comment)
 
void EmitStackTop (Type stackTopType)
 
Label[] Switch (int labelCount)
 
void Case (Label caseLabel1, string caseLabelName)
 
void EndCase ()
 
void EndSwitch ()
 
void ElseIfIsEmptyString (LocalBuilder strLocal)
 
void IfNotIsEmptyString (LocalBuilder strLocal)
 
void BeginWhileCondition ()
 
void BeginWhileBody (Cmp cmpOp)
 
void EndWhile ()
 
void CallStringFormat (string msg, params object[] values)
 
void ToString (Type type)
 

Properties

static MethodInfo GetTypeFromHandle [get]
 
static MethodInfo ObjectEquals [get]
 
static MethodInfo ArraySetValue [get]
 
static MethodInfo ObjectToString [get]
 
static MethodInfo StringFormat [get]
 
static Module SerializationModule [get]
 
MethodInfo CurrentMethod [get]
 

Private Types

enum  CodeGenTrace { None , Save , Tron }
 

Private Member Functions

void BeginMethod (Type returnType, string methodName, Type[] argTypes, bool allowPrivateMemberAccess)
 
void InitILGeneration (string methodName, Type[] argTypes)
 
OpCode GetBranchCode (Cmp cmp)
 
OpCode GetLdindOpCode (TypeCode typeCode)
 
OpCode GetLdelemOpCode (TypeCode typeCode)
 
OpCode GetStelemOpCode (TypeCode typeCode)
 
void LoadThis (object thisObj, MethodInfo methodInfo)
 
void LoadParam (object arg, int oneBasedArgIndex, MethodBase methodInfo)
 
void InternalIf (bool negate)
 
OpCode GetConvOpCode (TypeCode typeCode)
 
void InternalConvert (Type source, Type target, bool isAddress)
 
IfState PopIfState ()
 
void ThrowMismatchException (object expected)
 

Static Private Member Functions

static bool IsStruct (Type objType)
 

Private Attributes

Type _delegateType
 
DynamicMethod _dynamicMethod
 
ILGenerator _ilGen
 
List< ArgBuilder_argList
 
Stack< object > _blockStack
 
Label _methodEndLabel
 
readonly Dictionary< LocalBuilder, string_localNames = new Dictionary<LocalBuilder, string>()
 
readonly CodeGenTrace _codeGenTrace
 
LocalBuilder _stringFormatArray
 

Static Private Attributes

static MethodInfo s_getTypeFromHandle
 
static MethodInfo s_objectEquals
 
static MethodInfo s_arraySetValue
 
static MethodInfo s_objectToString
 
static MethodInfo s_stringFormat
 
static Module s_serializationModule
 
static readonly MethodInfo s_stringLength = typeof(string).GetProperty("Length").GetMethod
 

Detailed Description

Definition at line 10 of file CodeGenerator.cs.


The documentation for this class was generated from the following file: