private CrossProductRec(InstanceKey[][] invariants, SSAAbstractInvokeInstruction call, CGNode caller, Consumer<InstanceKey[]> f) { this.invariants = invariants; this.f = f; this.call = call; this.caller = caller; this.site = call.getCallSite(); this.params = IntSetUtil.toArray(getRelevantParameters(caller, site)); this.keys = new InstanceKey[ params.length ]; }
private CrossProductRec(InstanceKey[][] invariants, SSAAbstractInvokeInstruction call, CGNode caller, Consumer<InstanceKey[]> f) { this.invariants = invariants; this.f = f; this.call = call; this.caller = caller; this.site = call.getCallSite(); this.params = IntSetUtil.toArray(getRelevantParameters(caller, site)); this.keys = new InstanceKey[ params.length ]; }
/** * @param constParams if non-null, then constParams[i] holds the String constant that is passed as param i, or null if param i * is not a String constant */ DispatchOperator(SSAAbstractInvokeInstruction call, CGNode node, InstanceKey[][] constParams, PointerKey uniqueCatch, IntSet dispatchIndices) { this.call = call; this.node = node; this.constParams = constParams; this.uniqueCatch = uniqueCatch; this.dispatchIndices = IntSetUtil.toArray(dispatchIndices); // we better always be interested in the receiver // assert this.dispatchIndices[0] == 0; previousPtrs = new MutableIntSet[dispatchIndices.size()]; for(int i = 0; i < previousPtrs.length; i++) { previousPtrs[i] = IntSetUtil.getDefaultIntSetFactory().make(); } }
/** * @param constParams if non-null, then constParams[i] holds the String constant that is passed as param i, or null if param i * is not a String constant */ DispatchOperator(SSAAbstractInvokeInstruction call, CGNode node, InstanceKey[][] constParams, PointerKey uniqueCatch, IntSet dispatchIndices) { this.call = call; this.node = node; this.constParams = constParams; this.uniqueCatch = uniqueCatch; this.dispatchIndices = IntSetUtil.toArray(dispatchIndices); // we better always be interested in the receiver // assert this.dispatchIndices[0] == 0; previousPtrs = new MutableIntSet[dispatchIndices.size()]; for(int i = 0; i < previousPtrs.length; i++) { previousPtrs[i] = IntSetUtil.getDefaultIntSetFactory().make(); } }