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

Classes

class  WhileState
 

Package Functions

 CodeGenerator (TypeBuilder typeBuilder)
 
void BeginMethod (Type returnType, string methodName, Type[] argTypes, string[] argNames, MethodAttributes methodAttributes)
 
void BeginMethod (Type returnType, MethodBuilderInfo methodBuilderInfo, Type[] argTypes, string[] argNames, MethodAttributes methodAttributes)
 
MethodBuilder EndMethod ()
 
ArgBuilder GetArg (string name)
 
LocalBuilder GetLocal (string name)
 
LocalBuilder GetTempLocal (Type type)
 
Type GetVariableType (object var)
 
object GetVariable (string name)
 
bool TryGetVariable (string name, [NotNullWhen(true)] out object variable)
 
void EnterScope ()
 
void ExitScope ()
 
LocalBuilder DeclareLocal (Type type, string name)
 
LocalBuilder DeclareOrGetLocal (Type type, string name)
 
object For (LocalBuilder local, object start, object end)
 
void EndFor ()
 
void If ()
 
void IfNot ()
 
void If (Cmp cmpOp)
 
void If (object value1, Cmp cmpOp, object value2)
 
void Else ()
 
void EndIf ()
 
void BeginExceptionBlock ()
 
void BeginCatchBlock (Type exception)
 
void EndExceptionBlock ()
 
void Leave ()
 
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 (object obj, MemberInfo memberInfo)
 
Type LoadMember (MemberInfo memberInfo)
 
Type LoadMemberAddress (MemberInfo memberInfo)
 
void StoreMember (MemberInfo memberInfo)
 
void Load (object obj)
 
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 Clt ()
 
void Cne ()
 
void Ble (Label label)
 
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 Ldloc (string name)
 
void Stloc (Type type, string name)
 
void Stloc (LocalBuilder local)
 
void Ldloc (Type type, string name)
 
void Ldloca (LocalBuilder localBuilder)
 
void LdargAddress (ArgBuilder argBuilder)
 
void Ldarg (string arg)
 
void Ldarg (ArgBuilder arg)
 
void Ldarg (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 Nop ()
 
void Add ()
 
void Ret ()
 
void Br (Label label)
 
void Br_S (Label label)
 
void Blt (Label label)
 
void Brfalse (Label label)
 
void Brtrue (Label label)
 
void Pop ()
 
void Dup ()
 
void InitElseIf ()
 
void InitIf ()
 
void AndIf (Cmp cmpOp)
 
void AndIf ()
 
void IsInst (Type type)
 
void Beq (Label label)
 
void Bne (Label label)
 
void GotoMethodEnd ()
 
void WhileBegin ()
 
void WhileEnd ()
 
void WhileContinue ()
 
void WhileBeginCondition ()
 
void WhileEndCondition ()
 

Static Package Functions

static bool IsNullableGenericType (Type type)
 
static AssemblyBuilder CreateAssemblyBuilder (string name)
 
static ModuleBuilder CreateModuleBuilder (AssemblyBuilder assemblyBuilder, string name)
 
static TypeBuilder CreateTypeBuilder (ModuleBuilder moduleBuilder, string name, TypeAttributes attributes, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type parent, Type[] interfaces)
 

Package Attributes

LocalBuilder retLocal
 
Label retLabel
 

Properties

MethodBuilder MethodBuilder [get]
 
LocalBuilder ReturnLocal [get]
 
Label ReturnLabel [get]
 

Private Member Functions

void InitILGeneration (Type[] argTypes, string[] argNames, bool isStatic)
 
bool TryDequeueLocal (Type type, string name, [NotNullWhen(true)] out LocalBuilder local)
 
OpCode GetBranchCode (Cmp cmp)
 
OpCode GetLdindOpCode (TypeCode typeCode)
 
OpCode GetLdelemOpCode (TypeCode typeCode)
 
OpCode GetStelemOpCode (TypeCode typeCode)
 
void InternalIf (bool negate)
 
OpCode GetConvOpCode (TypeCode typeCode)
 
void InternalConvert (Type source, Type target, bool isAddress)
 
IfState PopIfState ()
 

Static Private Member Functions

static bool IsStruct (Type objType)
 
static MethodInfo GetPropertyMethodFromBaseType (PropertyInfo propertyInfo, bool isGetter)
 

Private Attributes

readonly TypeBuilder _typeBuilder
 
MethodBuilder _methodBuilder
 
ILGenerator _ilGen
 
Dictionary< string, ArgBuilder_argList
 
LocalScope _currentScope
 
Dictionary<(Type, string), Queue< LocalBuilder > > _freeLocals
 
Stack< object > _blockStack
 
Label _methodEndLabel
 
readonly Dictionary< Type, LocalBuilder_tmpLocals = new Dictionary<Type, LocalBuilder>()
 
readonly Stack< Label_leaveLabels = new Stack<Label>()
 
int _initElseIfStack = -1
 
IfState _elseIfState
 
int _initIfStack = -1
 
Stack< WhileState_whileStack
 

Static Private Attributes

static readonly OpCode[] s_branchCodes
 
static readonly OpCode[] s_ldindOpCodes
 
static readonly OpCode[] s_ldelemOpCodes
 
static readonly OpCode[] s_stelemOpCodes
 
static readonly OpCode[] s_convOpCodes
 

Detailed Description

Definition at line 10 of file CodeGenerator.cs.


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