public ExprVariableAddress(Ctx ctx, Expr variable, TypeReference type)
     : base(ctx) {
     //this.Index = index;
     this.Variable = variable;
     this.ElementType = type;
     this.type = type.MakePointer();
 }
 public ExprArgAddress(Ctx ctx, Expr arg, TypeReference type)
     : base(ctx) {
     //this.Index = index;
     this.Arg = arg;
     this.ElementType = type;
     this.type = type.MakePointer();
 }
 public ExprElementAddress(Ctx ctx, Expr array, Expr index, TypeReference elementType)
     : base(ctx) {
     this.Array = array;
     this.Index = index;
     this.type = elementType.MakePointer();
 }