bugReporter.reportBug(new BugInstance("SF_SWITCH_FALLTHROUGH", LOW_PRIORITY)
bugReporter.reportBug(new BugInstance(this, "SF_SWITCH_FALLTHROUGH", LOW_PRIORITY)
	public void sawOpcode(int seen) {				switch (seen) {		case TABLESWITCH:		case LOOKUPSWITCH:			switchPC = getPC();			inSwitch = true;			swOffsets = getSwitchOffsets();//			swLabels = getSwitchLabels();			defSwOffset = getDefaultSwitchOffset();			reachable = false;			nextIndex = 0;			break;				default:		}				if (inSwitch) {			if (nextIndex >= swOffsets.length)				inSwitch = false;			if (inSwitch) {				if ((getPC() == (switchPC + swOffsets[nextIndex]))				&&  (swOffsets[nextIndex] != defSwOffset)) {					if (nextIndex > 0 && reachable) {						bugReporter.reportBug(new BugInstance("SF_SWITCH_FALLTHROUGH", LOW_PRIORITY)		        			.addClassAndMethod(this)		        			.addSourceLineRange(this, lastPC, getPC()));/*	Not sure why this is here, isn't lack of goto enough? 										int endOfPreviousCase = lineNumbers.getSourceLine(getPC() - 1);						int startOfNextCase = lineNumbers.getSourceLine(getPC());						int previousLabel = swLabels[nextIndex - 1];						int nextLabel = swLabels[nextIndex];						if (!(previousLabel == 10 && nextLabel == 13)						        && !(previousLabel == 13 && nextLabel == 10)						        && startOfNextCase - endOfPreviousCase <= 2) {							System.out.println("Reached the switch for " + swLabels[nextIndex]							        + " at line number " + startOfNextCase							        + " in " + getFullyQualifiedMethodName());						}*/					}					do {						nextIndex++;						if (nextIndex >= swOffsets.length) {							inSwitch = false;							break;						}					} while (getPC() == switchPC + swOffsets[nextIndex]);				}			}				switch (seen) {			case TABLESWITCH:			case LOOKUPSWITCH:			case ATHROW:			case RETURN:			case ARETURN:			case IRETURN:			case LRETURN:			case DRETURN:			case FRETURN:			case GOTO_W:			case GOTO:				reachable = false;				break;			default:				reachable = true;			}		}				lastPC = getPC();	}