method e cast result access_rights wished_type filter_bits -> new_argument
arg Expression e ; arg Argument result ; arg Int access_rights ; arg Type wished_type ; arg Int filter_bits ; arg_RW Argument new_argument
'result' and 'access_rights' are considered to be the current result and access rights on the result (the result and access fields in the expression are ignored)
only functions that have one bit set which is also set in 'filter_bits' can be used to archive the casting:10h allows implicit casting functions20h allows extension casting functions40h allows reduction casting functionson the other hand, if 'filter_bits' is 0, all casting functions are allowed
if the casting succeeds, then a pointer the the new expression result is returned, elsewhere 'new_argument' will map null.