Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for named list arguments #1151

Conversation

Slartibartfass2
Copy link
Collaborator

Closes #1139

Added

  • named arguments of lists are added to data flow graph
  • when a named argument is accessed, a reads edge to the specific list element is added

@Slartibartfass2 Slartibartfass2 self-assigned this Nov 15, 2024
@Slartibartfass2 Slartibartfass2 force-pushed the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch 7 times, most recently from 8a2d646 to 3e1384d Compare November 21, 2024 09:41
@Slartibartfass2 Slartibartfass2 force-pushed the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch 2 times, most recently from f5c30b5 to 8417576 Compare November 27, 2024 11:03
@Slartibartfass2 Slartibartfass2 force-pushed the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch 3 times, most recently from 3bc497c to 25d8b0d Compare December 4, 2024 17:05
@Slartibartfass2 Slartibartfass2 force-pushed the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch 3 times, most recently from 0216e11 to c578925 Compare December 13, 2024 16:08
The merge indices logic was merged to a separate method.
When there are indices defined, then the function is not marked as maybe.
This enables overwriting the previous indices.
Before, an access to a list object would reference the whole object, now that's only
when the list function is called. Single assignments are referenced directly by their
access operator. This allows us to skip not relevant list accesses.
To ensure a executable slice, the list call has to be always in the slice.
When a list is redefined the former definiton is replaced, therefore storing the indices would cause
keeping the previous definition in the slice.
Nested list access comes with new complications. For each list in the root index, the names
must be resolved recursively, to reference the correct index.
This enables nested defintion/access/assignment.
This is done recursively to include all indices that had an impact on the result.
@Slartibartfass2 Slartibartfass2 force-pushed the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch from c578925 to 71f7d2b Compare December 30, 2024 11:38
@Slartibartfass2 Slartibartfass2 marked this pull request as ready for review January 2, 2025 12:57
@EagleoutIce EagleoutIce merged commit 4b73726 into main Jan 5, 2025
17 checks passed
@EagleoutIce EagleoutIce deleted the 1139-add-support-for-named-list-arguments-field-sensitive-pointer-analysis branch January 5, 2025 08:18
@EagleoutIce
Copy link
Member

This pull request is included in v2.1.10 (see Release v2.1.10 (First support for pointer analysis (named list arguments with $))).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for named list arguments (field-sensitive pointer analysis)
2 participants