reg0Invariant = !isRegModified(reg0, myBackwardsReach, bb.from); SourceLineAnnotation lastChange = SourceLineAnnotation.fromVisitedInstruction(getClassContext(), this, constantSince(fcb.item0)); int lastChangeLine = lastChange.getEndLine(); if (loopBottomLine != -1 && lastChangeLine != -1 && loopTopLine != -1 && loopTopLine <= lastChangeLine if (reg1 >= 0 && reg1 != reg0 && fcb.item1.getConstant() == null) { SourceLineAnnotation lastChange = SourceLineAnnotation.fromVisitedInstruction(getClassContext(), this, constantSince(fcb.item1)); int lastChangeLine = lastChange.getEndLine(); if (loopBottomLine != -1 && lastChangeLine != -1 && loopTopLine != -1 && loopTopLine <= lastChangeLine
if (constantSince(item0, target)) { int since0 = constantSince(item0); BugInstance bug = new BugInstance(this, "IL_INFINITE_LOOP", HIGH_PRIORITY).addClassAndMethod(this).addSourceLine( this, getPC()); if (constantSince(item0, target) && constantSince(item1, target)) {
reg0Invariant = !isRegModified(reg0, myBackwardsReach, bb.from); SourceLineAnnotation lastChange = SourceLineAnnotation.fromVisitedInstruction(getClassContext(), this, constantSince(fcb.item0)); int lastChangeLine = lastChange.getEndLine(); if (loopBottomLine != -1 && lastChangeLine != -1 && loopTopLine != -1 && loopTopLine <= lastChangeLine if (reg1 >= 0 && reg1 != reg0 && fcb.item1.getConstant() == null) { SourceLineAnnotation lastChange = SourceLineAnnotation.fromVisitedInstruction(getClassContext(), this, constantSince(fcb.item1)); int lastChangeLine = lastChange.getEndLine(); if (loopBottomLine != -1 && lastChangeLine != -1 && loopTopLine != -1 && loopTopLine <= lastChangeLine
if (constantSince(item0, target)) { int since0 = constantSince(item0); BugInstance bug = new BugInstance(this, "IL_INFINITE_LOOP", HIGH_PRIORITY).addClassAndMethod(this).addSourceLine( this, getPC()); if (constantSince(item0, target) && constantSince(item1, target)) {