Add filter to exclude static-initialization block in Java Interface when instrumenting #44
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.
Context
When instrumenting an Interface with a field declaration, GZoltar tries to create a static-initialization block for the field if the right-hand side of the field declaration is formed by a
new
operator. Java Interface doesn't accept any static-block inside its body, therefore, it introduces errors for the tests execution phase.Let's consider the below example (included in the patch):
will be instrumented as
This causes the compilation error for any Java version, and the error when I tried to run GZoltar on this example:
I added a new filter to exclude this case in instrumenting phase.
Check lists