this.ignoreUntilLast = ignoreUntilLast;
if (count < 0)
throw new RuntimeException("count field of an instruction must be >=0");
+ if (pump.isInbox() && tokenIn && dataIn)
+ throw new RuntimeException("cannot have both \"wait\" and \"take\"/\"recieve\" on an inbox: " + this);
+ if (pump.isOutbox() && tokenOut && dataOut)
+ throw new RuntimeException("cannot have both \"sendto\" and \"notify\" on an outbox: " + this);
+ if (latch && !dataIn)
+ throw new RuntimeException("cannot have latch bit set without dataIn bit: " + this);
}
public boolean isStanding() {