|
Mantis - Quercus
|
|||||
| Viewing Issue Advanced Details | |||||
|
|
|||||
| ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
| 2837 | minor | always | 08-12-08 07:53 | 08-14-08 10:38 | |
|
|
|||||
| Reporter: | wikipo | Platform: | |||
| Assigned To: | nam | OS: | |||
| Priority: | normal | OS Version: | |||
| Status: | closed | Product Version: | 3.2.0 | ||
| Product Build: | Resolution: | fixed | |||
| Projection: | none | ||||
| ETA: | none | Fixed in Version: | 3.2.1 | ||
|
|
|||||
| Summary: | 0002837: argument by reference and self:: | ||||
| Description: |
When calling a class method with the self::method syntax, the arguments passed by reference are not updated on return. For example, in <?php class test { function f1(&$str) { $str = "text"; } function f2() { $str = ""; self::f1($str); echo "result: "; echo $str; } } $b = new test(); $b->f2(); ?> displays: "result: " (insted of "result: text") |
||||
| Steps To Reproduce: | |||||
| Additional Information: |
I modified the code in ClassMethodExpr/eval(), subsituting: values[i] = _args[i].eval(env); with: values[i] = _args[i].evalArg(env); and it seems to correct this issue. |
||||
| Relationships | |||||
| Attached Files: | |||||
| Notes | |||||
|
|
|||||
|
|
||||