private static void assignIndices(CstInsn insn, DalvCode.AssignIndicesCallback callback) {
    Constant cst = insn.getConstant();
    int index = callback.getIndex(cst);

    if (index >= 0) {
      insn.setIndex(index);
    }

    if (cst instanceof CstMemberRef) {
      CstMemberRef member = (CstMemberRef) cst;
      CstType definer = member.getDefiningClass();
      index = callback.getIndex(definer);
      // TODO(oth): what scenarios is this guard valid under? Is it not just an error?
      if (index >= 0) {
        insn.setClassIndex(index);
      }
    }
  }
Helper for {@link #assignIndices} which does assignment for one instruction.

@param insn {@code non-null;} the instruction
@param callback {@code non-null;} the callback
android/android_framework/dex-maker/src/main/java/com/android/dx/dex/code/OutputFinisher.java