-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Merge analyze and write phases in Painless "user" tree #53685
Conversation
Pinging @elastic/es-core-infra (:Core/Infra/Scripting) |
@elasticmachine test elasticsearch-ci/default-distro |
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/EListInit.java
Outdated
Show resolved
Hide resolved
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/ENewArray.java
Outdated
Show resolved
Hide resolved
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/ENewArrayFunctionRef.java
Outdated
Show resolved
Hide resolved
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/ENewArrayFunctionRef.java
Outdated
Show resolved
Hide resolved
private int radix; | ||
|
||
protected Object constant; | ||
protected final String value; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these aren't going to be the extension point, no need to change visibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's all right I would like to leave this for now as extending the nodes is currently the only way to do an extension point in the user tree. As other design ideas are explored, it seems more appropriate to modify them then.
Edit: especially, as a better design is not a guarantee right now
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/PBrace.java
Outdated
Show resolved
Hide resolved
modules/lang-painless/src/main/java/org/elasticsearch/painless/node/SFunction.java
Outdated
Show resolved
Hide resolved
@stu-elastic Thanks for the review. I've responded to all PR comments, so I think this is ready for the next round. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good.
@stu-elastic Thanks again. Will merge as soon as CI passes. |
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