else if (isRegisterLoad()) previousLoadOf = getRegisterOperand(); else { if (isRegisterStore() && previousLoadOf == getRegisterOperand() && getPC() != previousGotoTarget) bugReporter.reportBug( new BugInstance(this, "SA_LOCAL_SELF_ASSIGNMENT", NORMAL_PRIORITY) .addClassAndMethod(this) .addSourceLine(this));  previousLoadOf = -1;
gotoCount++; } else { if (isRegisterLoad()) previousLoadOf = getRegisterOperand(); else { if (isRegisterStore() && previousLoadOf == getRegisterOperand() && gotoCount < 2 && getPC() != previousGotoTarget) bugReporter.reportBug( new BugInstance(this, "SA_LOCAL_SELF_ASSIGNMENT", NORMAL_PRIORITY) .addClassAndMethod(this) .addSourceLine(this));  previousLoadOf = -1; gotoCount = 0;
	public void sawOpcode(int seen) {		if (seen == GOTO)			previousGotoTarget = getBranchTarget();		else if (isRegisterLoad()) 			previousLoadOf = getRegisterOperand();		else {			if (isRegisterStore() && previousLoadOf == getRegisterOperand() && getPC() != previousGotoTarget)			       bugReporter.reportBug(				new BugInstance(this, 						"SA_LOCAL_SELF_ASSIGNMENT", NORMAL_PRIORITY)                                        .addClassAndMethod(this)                                        .addSourceLine(this));			previousLoadOf = -1;			}	}