/** * Stores the results of the latest operation into the given frame. If * there is a local target (see {@link #localTarget}), then the sole * result is stored to that target; otherwise any results are pushed * onto the stack. * * @param frame {@code non-null;} frame to operate on */ protected final void storeResults(Frame frame) { if (resultCount < 0) { throw new SimException("results never set"); } if (resultCount == 0) { // Nothing to do. return; } if (localTarget != null) { /* * Note: getLocalTarget() doesn't necessarily return * localTarget directly. */ frame.getLocals().set(getLocalTarget()); } else { ExecutionStack stack = frame.getStack(); for (int i = 0; i < resultCount; i++) { stack.push(results[i]); } } }
frame.getLocals().set(getLocalTarget(false)); } else { ExecutionStack stack = frame.getStack();
frame.getLocals().set(getLocalTarget(false)); } else { ExecutionStack stack = frame.getStack();
frame.getLocals().set(getLocalTarget(false)); } else { ExecutionStack stack = frame.getStack();
frame.getLocals().set(getLocalTarget(false)); } else { ExecutionStack stack = frame.getStack();
frame.getLocals().set(getLocalTarget(false)); } else { ExecutionStack stack = frame.getStack();