Henri Biestro created JEXL-439:
----------------------------------
Summary: When using reference capture, incorrect scoping when
local variable shades a captured one in stack frame.
Key: JEXL-439
URL: https://issues.apache.org/jira/browse/JEXL-439
Project: Commons JEXL
Issue Type: Bug
Affects Versions: 3.5.0
Reporter: Xu Pengcheng
Assignee: Henri Biestro
Fix For: 3.5.1
In relation to JEXL-426, the dynamic scope is wrongly managed when a captured
variable (ie a lexical variable defined at top-level) is overridden in a
function (same symbol is used to name local lexical variable) and this function
calls another that captures the top-level variable.
With reference capture, when a symbol is captured, the call frame ensures
captured variables are wrapped into a reference ensuring the 'pass by
reference' behavior. The culprit here is that when redefining the variable,
that new variable must be wrapped, not pass the previous one.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)