in src/com/intellij/rt/coverage/data/LineData.java [61:99]
public int getStatus() {
if (myStatus != -1) return myStatus;
if (myHits == 0) {
myStatus = LineCoverage.NONE;
return myStatus;
}
if (myJumpsAndSwitches != null) {
JumpData[] jumps = getOrCreateJumpsAndSwitches().getJumps();
if (jumps != null) {
for (final JumpData jumpData : jumps) {
if ((jumpData.getFalseHits() > 0 ? 1 : 0) + (jumpData.getTrueHits() > 0 ? 1 : 0) < 2) {
myStatus = LineCoverage.PARTIAL;
return myStatus;
}
}
}
SwitchData[] switches = getOrCreateJumpsAndSwitches().getSwitches();
if (switches != null) {
for (final SwitchData switchData : switches) {
if (switchData.getDefaultHits() == 0) {
myStatus = LineCoverage.PARTIAL;
return myStatus;
}
for (int i = 0; i < switchData.getHits().length; i++) {
int hit = switchData.getHits()[i];
if (hit == 0) {
myStatus = LineCoverage.PARTIAL;
return myStatus;
}
}
}
}
}
myStatus = LineCoverage.FULL;
return myStatus;
}