-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Extend information that
Executor
s can provide to `ExecutingInvocati…
…onUnit` Before executors were just able to return a "result" value that represented either the object created by constructors or the return value of a method. Several changes and improvements on the code are present to allow the executors to specify more precise information: - The concept of "result" is not present anymore in `ExecutingInvocationUnit`, now constructors are handled differently from return values. Constructors now work by specifying that the calling instance was modified - Introduce a `MethodResult` class for the values returned by `Executor#getMethodResult`. This class can contain not only the return value, but information on whether the calling instance or arguments were modified during the analyzed method invocation - There is no visibility anymore for `ExecutingInvocationUnit` of the logic in executors to specify if the returned value is the same reference as the calling instance. Now the executor takes care itself to specify that information in `MethodResult` by setting an updated instance - Executors are now able to provide more fine-grained information, including specifying a value that is not particular. The aforementioned change on executors now providing full information on the returned instance id even when execution fails relies on this - Executors can still tell `ExecutingInvocationUnit` to create its fallback value if they return an invalid `MethodResult`
- Loading branch information
Showing
19 changed files
with
1,189 additions
and
597 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.