If I have selected the contents of a case: clause of a switch statement, and ask VA to refactor that into a method, I get very odd method signature.
For example:
void CInactivityBalloonTipEdit::OnTimer(UINT_PTR nIDEvent)
{
switch (nIDEvent)
{
case TIMER_SHOW:
TRACE("%s TIMER_SHOW\\n",__FUNCTION__);
// kill outstanding timers (if any)
if (m_bHideTimer)
KillTimer(TIMER_HIDE);
if (m_bShowTimer)
KillTimer(TIMER_SHOW);
break;
...
If I highlight the block labeled "kill outstanding timers...", but not including the break, and ask for VA to refactor into a method, I get:
void MyMethod(case TIMER_HIDE:: TIMER_HIDE, case TIMER_SHOW:: TIMER_SHOW)
This makes no sense. It should have suggested a simple void x(void) signature (in this case, since there are no references to anything outside of the highlighted block).