Repository navigation
Conversation
Have nitx safely stop a command before executing one marked as an error, preventing later failures. A few of the commands assume they are valid and use `mproperty.as(not null)` which fails when invalid. Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
The nitx command `call:` visits every `ASendExpr` under each property and reads its callsite. It would fail on the arguments of annotations which are stored as `ASendExpr` in the AST even thought they aren't real calls and thus don't have a call site. Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Test Results 67 files 337 suites 11m 37s ⏱️ Results for commit 0f44918. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Update nitx to recover cleanly from requests that can later trigger assertion failures:
Stop the execution of invalid requests early, like querying an entity that doesn’t exist. The logic of some of the command kinds assume a valid request and use
as(not null)expressions which fails on an invalid request.For request listing call sites, ensure we look only at call nodes that are real calls. This avoids looking into annotation arguments that are modeled as call nodes but aren't a real call expression and don’t actually act as a call site.