[ 
https://issues.apache.org/jira/browse/JEXL-439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henri Biestro updated JEXL-439:
-------------------------------
    Summary: When using reference capture, incorrect scoping when local 
variable redefines a captured symbol  (was: When using reference capture, 
incorrect scoping when local variable shades a captured one in stack frame.)

> When using reference capture, incorrect scoping when local variable redefines 
> a captured symbol
> -----------------------------------------------------------------------------------------------
>
>                 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
>            Priority: Major
>             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