25 if (
node.ParameterCount > 0)
36 if (
node.ParameterCount > 0)
67 if (
node.Variable !=
null)
73 if (
node.Variable !=
null)
90 for (
int i = 0; i <
array.Length; i++)
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
void Add(TKey key, TValue value)
static Expression[] VisitBlockExpressions(ExpressionVisitor visitor, BlockExpression block)
virtual ? Expression Visit(Expression? node)
static ConstantExpression Constant(object? value)
static CatchBlock MakeCatchBlock(Type type, ParameterExpression? variable, Expression body, Expression? filter)
static UnaryExpression Convert(Expression expression, Type type)
static RuntimeVariablesExpression RuntimeVariables(params ParameterExpression[] variables)
static InvocationExpression Invoke(Expression expression)
readonly IStrongBox[] Closure
static IRuntimeVariables MergeRuntimeVariables(IRuntimeVariables first, IRuntimeVariables second, int[] indexes)
readonly Stack< HashSet< ParameterExpression > > _shadowedVars
override Expression VisitRuntimeVariables(RuntimeVariablesExpression node)
override Expression VisitBlock(BlockExpression node)
readonly InterpretedFrame _frame
readonly Dictionary< ParameterExpression, LocalVariable > _variables
ExpressionQuoter(Dictionary< ParameterExpression, LocalVariable > hoistedVariables, InterpretedFrame frame)
override CatchBlock VisitCatchBlock(CatchBlock node)
IStrongBox GetBox(ParameterExpression variable)
override Expression VisitParameter(ParameterExpression node)
override Expression VisitLambda< T >(Expression< T > node)
override int Run(InterpretedFrame frame)
readonly Dictionary< ParameterExpression, LocalVariable > _hoistedVariables
readonly Expression _operand
QuoteInstruction(Expression operand, Dictionary< ParameterExpression, LocalVariable > hoistedVariables)
override string InstructionName
override int ProducedStack
static MemberExpression GetStrongBoxValueField(Expression strongbox)