in src/com/intellij/rt/coverage/data/instructions/ClassInstructions.java [37:72]
public ClassInstructions(ClassData data, TIntArrayList instructions) {
if (data.getLines() == null) {
myLines = EMPTY_LINES;
return;
}
final int size = data.getLines().length;
myLines = new LineInstructions[size];
for (int line = 0; line < size; line++) {
final LineData lineData = data.getLineData(line);
if (lineData == null) continue;
final LineInstructions lineInstructions = new LineInstructions();
myLines[line] = lineInstructions;
lineInstructions.setInstructions(instructions.get(lineData.getId()));
final JumpData[] jumps = lineData.getJumps();
if (jumps != null) {
for (JumpData jumpData : jumps) {
final JumpInstructions jumpInstructions = new JumpInstructions();
jumpInstructions.setInstructions(true, instructions.get(jumpData.getId(true)));
jumpInstructions.setInstructions(false, instructions.get(jumpData.getId(false)));
lineInstructions.addJump(jumpInstructions);
}
}
final SwitchData[] switches = lineData.getSwitches();
if (switches != null) {
for (SwitchData switchData : switches) {
final SwitchInstructions switchInstructions = new SwitchInstructions(switchData.getKeys().length);
for (int i = -1; i < switchData.getKeys().length; i++) {
switchInstructions.setInstructions(i, instructions.get(switchData.getId(i)));
}
lineInstructions.addSwitch(switchInstructions);
}
}
}
}