Beispiel #1
0
        private Stmt LoadIndirect(TypeReference loadType)
        {
            var expr = this.stack.Pop();
            var load = new ExprLoadIndirect(this.ctx, expr, loadType);

            return(this.SsaLocalAssignment(load));
        }
 protected override ICode VisitLoadIndirect(ExprLoadIndirect e)
 {
     this.code.AppendFormat("load-indirect<{0}>(", e.Type.Name);
     this.Visit(e.Expr);
     this.code.Append(")");
     return(e);
 }
        protected virtual ICode VisitLoadIndirect(ExprLoadIndirect e)
        {
            this.ThrowOnNoOverride();
            var expr = (Expr)this.Visit(e.Expr);

            if (expr != e.Expr)
            {
                return(new ExprLoadIndirect(e.Ctx, expr, e.Type));
            }
            else
            {
                return(e);
            }
        }
 protected override ICode VisitLoadIndirect(ExprLoadIndirect e)
 {
     this.Visit(e.Expr);
     return(e);
 }