Make eject return the executed command or NULL #125
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses issue #123. We update the eject method to return either the given command object, a new command object with a different command that was actually executed, or NULL if no command was executed. Likewise, we update the override of the
eject
method inTestMem
to return the requested command on success, or to return NULL if it cannot execute the command. (The use case inTestMem
does not require a different command, so this is not shown at the moment.)Finally, we update the program controller to check the executedCommand returned from eject. If not NULL, it injects the efferent copy. If it is NULL, it places an AntiFact of the requested command in the program reduction which can be examined by other programs.