Ejemplo n.º 1
0
        public IList <CilInstruction> VisitVariableExpression(CilVariableExpression expression)
        {
            CilInstruction instruction;

            if (expression.IsParameter)
            {
                instruction = CilInstruction.Create(expression.IsReference
                        ? CilOpCodes.Ldarga
                        : CilOpCodes.Ldarg,
                                                    _context.Parameters[(CilParameter)expression.Variable]);
            }
            else
            {
                instruction = CilInstruction.Create(expression.IsReference
                        ? CilOpCodes.Ldloca
                        : CilOpCodes.Ldloc,
                                                    _context.Variables[expression.Variable]);
            }

            return(new[]
            {
                instruction
            });
        }
Ejemplo n.º 2
0
 public virtual bool VisitVariableExpression(CilVariableExpression expression)
 {
     return(false);
 }
Ejemplo n.º 3
0
 public string VisitVariableExpression(CilVariableExpression expression)
 => (expression.IsReference ? "&" : "") + expression.Variable.Name;
Ejemplo n.º 4
0
 public void VisitVariableExpression(CilVariableExpression expression)
 {
 }