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

fix handling of edges by incremental update #171

Merged
merged 3 commits into from
Sep 8, 2023

Conversation

Eddykasp
Copy link
Contributor

Previously incremental update could run into an issue, where edges were not correctly connected to their target if said target was new. In that case the edge would sometimes be handled before the target resulting in edges connecting to wrong things. This fixes the problem by handling edges only after everything else has been updated.

To reproduce the original issue you can use the below minimal example SCChart and toggle the option induced dataflow: all on and off. The diagram is only drawn correctly after triggering a new synthesis.

scchart ports {
    region R:
    input bool A
    initial state s
    if A go to s
}

more complex test for the incremental update with multiple new elements.

Something is off with the ID generation, possibly causing further issues
(see the test and the FIXME in the KGraphMerger), but solution still
seems to work for the previous issue for now.
structures.

This includes nodes that are added together with edges and ports, which
previously could cause issues. Also fixes elements without own IDs being
inserted e.g. in the beginning of lists to not get updated correctly.
Copy link
Contributor Author

@Eddykasp Eddykasp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@NiklasRentzCAU
Copy link
Member

Fixes #160

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.

2 participants