Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Linq.Expressions.Interpreter.LightCompiler Class Referencesealed

Classes

class  QuoteVisitor
 

Public Member Functions

 LightCompiler ()
 
LightDelegateCreator CompileTop (LambdaExpression node)
 

Properties

InstructionList Instructions [get]
 

Private Member Functions

 LightCompiler (LightCompiler parent)
 
Interpreter MakeInterpreter (string lambdaName)
 
void CompileConstantExpression (Expression expr)
 
void CompileDefaultExpression (Expression expr)
 
void CompileDefaultExpression (Type type)
 
LocalVariable EnsureAvailableForClosure (ParameterExpression expr)
 
LocalVariable ResolveLocal (ParameterExpression variable)
 
void CompileGetVariable (ParameterExpression variable)
 
void EmitCopyValueType (Type valueType)
 
void LoadLocalNoValueTypeCopy (ParameterExpression variable)
 
bool MaybeMutableValueType (Type type)
 
void CompileGetBoxedVariable (ParameterExpression variable)
 
void CompileSetVariable (ParameterExpression variable, bool isVoid)
 
void CompileParameterExpression (Expression expr)
 
void CompileBlockExpression (Expression expr, bool asVoid)
 
LocalDefinition[] CompileBlockStart (BlockExpression node)
 
void CompileBlockEnd (LocalDefinition[] locals)
 
void CompileIndexExpression (Expression expr)
 
void EmitIndexGet (IndexExpression index)
 
void CompileIndexAssignment (BinaryExpression node, bool asVoid)
 
void CompileMemberAssignment (BinaryExpression node, bool asVoid)
 
void CompileMemberAssignment (bool asVoid, MemberInfo refMember, Expression value, bool forBinding)
 
void CompileVariableAssignment (BinaryExpression node, bool asVoid)
 
void CompileAssignBinaryExpression (Expression expr, bool asVoid)
 
void CompileBinaryExpression (Expression expr)
 
void CompileEqual (Expression left, Expression right, bool liftedToNull)
 
void CompileNotEqual (Expression left, Expression right, bool liftedToNull)
 
void CompileComparison (BinaryExpression node)
 
void CompileArithmetic (ExpressionType nodeType, Expression left, Expression right)
 
void CompileConvertUnaryExpression (Expression expr)
 
void CompileConvertToType (Type typeFrom, Type typeTo, bool isChecked, bool isLiftedToNull)
 
void CompileNotExpression (UnaryExpression node)
 
void CompileUnaryExpression (Expression expr)
 
void EmitUnaryMethodCall (UnaryExpression node)
 
void EmitUnaryBoolCheck (UnaryExpression node)
 
void CompileAndAlsoBinaryExpression (Expression expr)
 
void CompileOrElseBinaryExpression (Expression expr)
 
void CompileLogicalBinaryExpression (BinaryExpression b, bool andAlso)
 
void CompileMethodLogicalBinaryExpression (BinaryExpression expr, bool andAlso)
 
void CompileLiftedLogicalBinaryExpression (BinaryExpression node, bool andAlso)
 
void CompileUnliftedLogicalBinaryExpression (BinaryExpression expr, bool andAlso)
 
void CompileConditionalExpression (Expression expr, bool asVoid)
 
void CompileLoopExpression (Expression expr)
 
void CompileSwitchExpression (Expression expr)
 
void CompileIntSwitchExpression< T > (SwitchExpression node)
 
void CompileStringSwitchExpression (SwitchExpression node)
 
void CompileLabelExpression (Expression expr)
 
void CompileGotoExpression (Expression expr)
 
void PushLabelBlock (LabelScopeKind type)
 
void PopLabelBlock (LabelScopeKind kind)
 
LabelInfo EnsureLabel (LabelTarget node)
 
LabelInfo ReferenceLabel (LabelTarget node)
 
LabelInfo DefineLabel (LabelTarget node)
 
bool TryPushLabelBlock (Expression node)
 
void DefineBlockLabels (Expression node)
 
void CheckRethrow ()
 
void CompileThrowUnaryExpression (Expression expr, bool asVoid)
 
void CompileTryExpression (Expression expr)
 
void CompileTryFaultExpression (TryExpression expr)
 
void CompileMethodCallExpression (Expression expr)
 
void CompileMethodCallExpression (Expression @object, MethodInfo method, IArgumentProvider arguments)
 
ByRefUpdater CompileArrayIndexAddress (Expression array, Expression index, int argumentIndex)
 
void EmitThisForMethodCall (Expression node)
 
ByRefUpdater CompileAddress (Expression node, int index)
 
ByRefUpdater CompileMultiDimArrayAccess (Expression array, IArgumentProvider arguments, int index)
 
void CompileNewExpression (Expression expr)
 
void CompileMemberExpression (Expression expr)
 
void CompileMember (Expression from, MemberInfo member, bool forBinding)
 
void CompileNewArrayExpression (Expression expr)
 
void CompileDebugInfoExpression (Expression expr)
 
void CompileRuntimeVariablesExpression (Expression expr)
 
void CompileLambdaExpression (Expression expr)
 
void CompileCoalesceBinaryExpression (Expression expr)
 
void CompileInvocationExpression (Expression expr)
 
void CompileListInitExpression (Expression expr)
 
void CompileListInit (ReadOnlyCollection< ElementInit > initializers)
 
void CompileMemberInitExpression (Expression expr)
 
void CompileMemberInit (ReadOnlyCollection< MemberBinding > bindings)
 
void CompileQuoteUnaryExpression (Expression expr)
 
void CompileUnboxUnaryExpression (Expression expr)
 
void CompileTypeEqualExpression (Expression expr)
 
void CompileTypeAsExpression (UnaryExpression node)
 
void CompileTypeIsExpression (Expression expr)
 
void Compile (Expression expr, bool asVoid)
 
void CompileAsVoid (Expression expr)
 
void CompileNoLabelPush (Expression expr)
 
void Compile (Expression expr)
 

Static Private Member Functions

static bool ShouldWritebackNode (Expression node)
 
static Type GetMemberType (MemberInfo member)
 

Private Attributes

readonly InstructionList _instructions
 
readonly LocalVariables _locals = new LocalVariables()
 
readonly List< DebugInfo_debugInfos = new List<DebugInfo>()
 
readonly HybridReferenceDictionary< LabelTarget, LabelInfo_treeLabels = new HybridReferenceDictionary<LabelTarget, LabelInfo>()
 
LabelScopeInfo _labelBlock = new LabelScopeInfo(null, LabelScopeKind.Lambda)
 
readonly Stack< ParameterExpression_exceptionForRethrowStack = new Stack<ParameterExpression>()
 
readonly LightCompiler _parent
 
readonly StackGuard _guard = new StackGuard()
 

Static Private Attributes

static readonly LocalDefinition[] s_emptyLocals = Array.Empty<LocalDefinition>()
 

Detailed Description

Definition at line 9 of file LightCompiler.cs.


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