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)

Reply via email to