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); }