Ruby: Introduce With(out)Element
MaD input tokens
#8938
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 PR adds two new models-as-data input tokens
WithElement
andWithoutElement
, with arguments similar toElement
. They translate directly toSummaryComponent::withContent
andSummaryComponent::withoutContent
calls, respectively.The new tokens allow us to
SummarizedCallable::clearsContent(ParameterPosition pos, DataFlow::ContentSet c)
: this can now instead be expressed as a summary with inputArgument[pos].WithoutElement[arg]
and outputArgument[pos]
, for a suitablearg
.Array.new
, by replacing read+store withWithElement
:Before:
After:
*
(splat) operator: