This will allows runtime fields to validate that scripts only use fields available and facilitate cycle detection.
-
One advanced feature here is users only see doc as part of the "main" method in Painless. If doc is passed into a user-defined function this must be tracked and the parameter in the function must also add constant fields used as part of doc.
-
Handle doc aliasing (def foo = doc).
Related: #59332
This will allows runtime fields to validate that scripts only use fields available and facilitate cycle detection.
One advanced feature here is users only see doc as part of the "main" method in Painless. If doc is passed into a user-defined function this must be tracked and the parameter in the function must also add constant fields used as part of doc.
Handle doc aliasing (
def foo = doc).Related: #59332