Consider the following statement:
int x = ~0;
With the following AST:
`-VarDecl 0x5647bdb12d60 <x.c:1:1, col:10> col:5 x 'int' cinit `-UnaryOperator 0x5647bdb12e30 <col:9, col:10> 'int' prefix '~' cannot overflow `-IntegerLiteral 0x5647bdb12e10 <col:10> 'int' 0
Return the evaluation of the subexpression bitwise inverted.
A lot of these visitor methods for UnaryOperator are going to look almost the same; I think I might prefer to have a VisitUnaryOperator method instead, and simply switch on the kind of operator.
But perhaps, I should flush out more of these methods, then do such refactoring? WDYT @efriedma