Another comment which hopefully will make your code easier to maintain. -Ivan
http://codereview.chromium.org/62146/diff/4001/4015 File src/rewriter.cc (right): http://codereview.chromium.org/62146/diff/4001/4015#newcode278 Line 278: bool must_leave_inferrer = false; It might make sense to create a stack allocated object that will automatically call InferAndLeave() on destruction if inferring has been requested. Such as follows: class NeedBetterName { public: NeedBetterName(FuncNameInferrer* inferrer) : inferrer_(inferrer), entered_(false) {}; ~ NeedBetterName() { if (entered_) { inferrer_->InferAndLeave(); } } void Enter() { inferrer_->Enter(); entered_ = true; } private: FuncNameInferrer* inferrer_; bool entered_; }; Which will automatically leave the inferrer. This way you are guaranteed to not forget to call InferAndLeave() even across complicated control flow. http://codereview.chromium.org/62146 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
