From: Ben L. <li...@cs...> - 2007-10-05 22:13:50
|
John Regehr wrote: > separating the declaration and initialization of variables is a bit > obnoxious I'd love to see CIL keep declarations and initializations together, and simply have a visitor that can be applied to rewrite them as separate declarations followed by initializing assignments. Then it's up to each of us to decide whether want to apply that transformation or not in our own CIL-based applications. But this is all getting a bit away from the original proposal. The original proposal suggested keeping the consts, but just not printing them. If you do this, then *inside* of CIL, the variables will still be const and therefore assignments to them are incorrect. I.e., you are asking CIL to manipulate invalid code. Yes, if you omit the consts when printing the code out later, then the code you printed will type check. But if the consts are present inside CIL's data structures, then CIL's data structures describe assignments to const-qualified data. I worry that could create problems for other analyses within CIL. |