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

Editing the node is not changing the placeholders and widgets #7595

Conversation

4e6
Copy link
Contributor

@4e6 4e6 commented Aug 16, 2023

Pull Request Description

close #7462

Important Notes

enso-7462.mp4

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • The documentation has been updated, if necessary.
  • Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
  • All code follows the
    Scala,
    Java,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • All code has been tested:
    • Unit tests have been written where possible.

@4e6 4e6 added the CI: No changelog needed Do not require a changelog entry for this PR. label Aug 16, 2023
@4e6 4e6 self-assigned this Aug 16, 2023
Copy link
Contributor

@hubertp hubertp left a comment

Choose a reason for hiding this comment

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

nits

@@ -250,6 +250,7 @@ public void onReturnExceptional(VirtualFrame frame, Throwable exception) {
}
}

@CompilerDirectives.TruffleBoundary
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be on setExecuted instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right

Comment on lines +572 to +574
call <-
if (Types.isPanic(value.getType)) Option(value.getCallInfo)
else Option(value.getCallInfo).orElse(Option(value.getCachedCallInfo))
Copy link
Contributor

Choose a reason for hiding this comment

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

I know that this logic has been here already but it kind of looks weird that first we ask for call info and if missing we are asking for the cached value. I would expect the opposite to happen.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This logic covers the case when the user comes back from the function (pops the execution frame). In this case, the expression does not have the call info because the result was cached and no function was called, but contains a cached call info.
I agree that it's weird but it always breaks some other cases when I try to come up with a workaround.

@4e6 4e6 added the CI: Ready to merge This PR is eligible for automatic merge label Aug 18, 2023
@mergify mergify bot merged commit 1d67667 into develop Aug 18, 2023
27 checks passed
@mergify mergify bot deleted the wip/db/7462-editing-the-node-is-not-changing-the-placeholders-and-widgets-1 branch August 18, 2023 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: No changelog needed Do not require a changelog entry for this PR. CI: Ready to merge This PR is eligible for automatic merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Editing the node is not changing the placeholders and widgets
2 participants