예제 #1
0
  @Override
  public void visitInvokeInst(Quad q) {

    int optPos = ConfDefines.confOptionWritePos(q);
    if (optPos >= 0) {
      int i_id = domI.indexOf(q);

      //      int o_id = domUV.indexOf(vo.getRegister());

      ParamListOperand plo = Invoke.getParamList(q);
      if (plo.length() > optPos) {
        RegisterOperand arg = Invoke.getParam(q, optPos);
        int parm_id = domV.indexOf(arg.getRegister());
        if (i_id > -1 && parm_id > -1) add(i_id, 0, parm_id);
      } else {
        System.err.println(
            "trouble on "
                + method.getName()
                + q.getLineNumber()
                + " expected at least "
                + optPos
                + " params");
      }
    }
  }