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)