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

Ensure new and wrapper nodes inherit UUID #6067

Merged

Conversation

hubertp
Copy link
Collaborator

@hubertp hubertp commented Mar 23, 2023

Pull Request Description

Instrumentation of calls involving warning values never really worked because:

  1. newly created nodes didn't set the UUID of their children
  2. the instrumentable wrappers always had an empty (i.e. null) UUID and
    they never referred get/setId calls to their delegates

On the surface, everything worked fine. Except when one actually relied on the instrumentation of values with warnings for proper setup. Then no instrumentation (replacement of nodes) was performed due to empty UUID (as required by hasTag of FunctionCallInstrumentationNode).

Closes #6045. Discovered in #5893.

Screenshot

After the change, as expected:

Screenshot from 2023-03-24 18-14-37

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.
    • If GUI codebase was changed, the GUI was tested when built using ./run ide build.

@hubertp hubertp force-pushed the wip/hubert/6045-missing-suggestions-for-values-with-warnings branch from 69898f8 to 461306a Compare March 24, 2023 17:29
@hubertp hubertp marked this pull request as ready for review March 24, 2023 17:29
@hubertp hubertp force-pushed the wip/hubert/6045-missing-suggestions-for-values-with-warnings branch from e5281b9 to ab2493a Compare March 26, 2023 16:24
@hubertp hubertp requested a review from kustosz March 27, 2023 09:00
hubertp added 6 commits March 27, 2023 16:34
Instrumentation of calls involving warning values never really worked
because:
1) newly created nodes didn't set the UUID of their instrumentable
   children
2) the instrumentable wrappers always had an empty (i.e. null) UUUID and
   they never referred get/setId to their delegates

On the surface, everything worked fine. xcept when one actually relied
on the instrumentation of values with warnings. Then no instrumentation
(replacement of nodes) was performed due to empty UUID (as required by
`hasTag` of `FunctionCallInstrumentationNode`).
Added a test that mimicks IdExecutionInstrument by essentially recording
all function calls.
Previously this test would fail because the new node would be missing
`UUID` and `FunctionCallInstrumentationNode` would not be replaced by
its wrapper, `FunctionCallInstrumentationNodeWrapper`.
Merged two test instrumentation services to avoid the problem with
separate compilation. So far we deal with it by having a subproject per
instrumentation. This looked like an overkill for those tests.
@hubertp hubertp force-pushed the wip/hubert/6045-missing-suggestions-for-values-with-warnings branch from ab2493a to 5cbe8fe Compare March 27, 2023 14:35
@hubertp hubertp added the CI: Ready to merge This PR is eligible for automatic merge label Mar 27, 2023
@mergify mergify bot merged commit 76409b2 into develop Mar 27, 2023
@mergify mergify bot deleted the wip/hubert/6045-missing-suggestions-for-values-with-warnings branch March 27, 2023 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: Ready to merge This PR is eligible for automatic merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dynamic widget visualization is missing suggestions for values with warnings
2 participants