This is split out from https://reviews.llvm.org/D131888
As a start, implement handling of boolean and nullptr expressions. The patch includes a bug fix to readArg() advance the code pointer and a few other small changes I did while looking at the code. I can pull those out as well but I don't want to open too many review tickets.
Are you sure this isn't intentional that this is passed by value? With a name like CodePtr, it certainly SOUNDS like it means to be passed by value.