+
+ @Override
+ public void setHighLevelState(String stateID, Object newState)
+ {
+ switch (stateID)
+ {
+ default:
+ int indexOfDot = stateID.indexOf('.');
+ if (indexOfDot != -1)
+ {
+ switch (stateID.substring(0, indexOfDot))
+ {
+ case "regs":
+ ram.setHighLevelState(stateID.substring(indexOfDot + 1), newState);
+ break;
+ case "qreg":
+ qreg.setHighLevelState(stateID.substring(indexOfDot + 1), newState);
+ break;
+ default:
+ super.setHighLevelState(stateID, newState);
+ break;
+ }
+ } else
+ super.setHighLevelState(stateID, newState);
+ }
+ }
+
+ @Override
+ public Object getHighLevelState(String stateID)
+ {
+ switch (stateID)
+ {
+ default:
+ int indexOfDot = stateID.indexOf('.');
+ if (indexOfDot != -1)
+ {
+ switch (stateID.substring(0, indexOfDot))
+ {
+ case "regs":
+ return ram.getHighLevelState(stateID.substring(indexOfDot + 1));
+ case "qreg":
+ return qreg.getHighLevelState(stateID.substring(indexOfDot + 1));
+ default:
+ return super.getHighLevelState(stateID);
+ }
+ }
+ return super.getHighLevelState(stateID);
+ }
+ }