public ClassInstructions()

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);
        }
      }
    }
  }