protected override ICode VisitArgAddress(ExprArgAddress e) {
     this.code.AppendFormat("@(<{0}>", e.Type);
     this.Visit(e.Arg);
     this.code.Append(")");
     return e;
 }
 protected override ICode VisitArgAddress(ExprArgAddress e) {
     this.Visit(e.Arg);
     return e;
 }
 private Stmt LdArga(int idx) {
     var type = this.ctx.MRef.Parameters[idx].ParameterType.FullResolve(this.ctx);
     var arg = this.args[idx];
     var expr = new ExprArgAddress(this.ctx, arg, type);
     this.stack.Push(expr);
     return null;
 }