/* * @see com.ibm.wala.ssa.SSAInstruction#copyForSSA(com.ibm.wala.ssa.SSAInstructionFactory, int[], int[]) */ @Override public SSAInstruction copyForSSA(SSAInstructionFactory insts, int[] defs, int[] uses) throws IllegalArgumentException { if (uses != null && uses.length != 1) { throw new IllegalArgumentException("if non-null, uses.length must be 1"); } return insts.ThrowInstruction(iindex, uses == null ? getException() : uses[0]); }
@Override public SSAInstruction copyForSSA(SSAInstructionFactory insts, int[] defs, int[] uses) { // result == -1 for void-returning methods, which are the only calls // that have a single value def. return insts.InvokeInstruction( defs == null || result == -1 ? result : defs[0], uses == null ? params : uses, defs == null ? exception : defs[result == -1 ? 0 : 1], site); }
@Override public SSAInstruction copyForSSA(SSAInstructionFactory insts, int[] defs, int[] uses) { if (defs != null && defs.length == 0) { throw new IllegalArgumentException("(defs != null) and (defs.length == 0)"); } if (uses != null && uses.length == 0) { throw new IllegalArgumentException("(uses != null) and (uses.length == 0)"); } return insts.CheckCastInstruction( defs == null ? result : defs[0], uses == null ? val : uses[0], declaredResultTypes, isPEI); }