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

Remove local mutable state for Input/Output from "user" tree nodes #53561

Closed
jdconrad opened this issue Mar 13, 2020 · 2 comments
Closed

Remove local mutable state for Input/Output from "user" tree nodes #53561

jdconrad opened this issue Mar 13, 2020 · 2 comments
Assignees
Labels
:Core/Infra/Scripting Scripting abstractions, Painless, and Mustache >refactoring v8.0.0-alpha1

Comments

@jdconrad
Copy link
Contributor

The "user" tree is currently storing mutable state on the nodes for Input/Output objects as the ir tree is still generated in a separate pass. The passes need to be combined to remove this state.

@jdconrad jdconrad added :Core/Infra/Scripting Scripting abstractions, Painless, and Mustache >refactoring v8.0.0 labels Mar 13, 2020
@jdconrad jdconrad self-assigned this Mar 13, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (:Core/Infra/Scripting)

jdconrad added a commit that referenced this issue Mar 23, 2020
This is the next step in producing immutable state in the Painless "user" 
tree. This combines the analyze phase and the write phase so that both 
semantic checking and the ir tree are generated in the same phase. This 
allows the removal of the Input/Output objects created in the previous PRs 
from being mutable state on the nodes. Instead they are now local state 
for the analyze phase.

Relates: #53561
Relates: #49869
@jdconrad
Copy link
Contributor Author

Done with #53348 and #53685

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Scripting Scripting abstractions, Painless, and Mustache >refactoring v8.0.0-alpha1
Projects
None yet
Development

No branches or pull requests

3 participants