| Anonymous | Login | Signup for a new account | 10-28-2025 07:15 PDT |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0002837 | [Quercus] | minor | always | 08-12-08 07:53 | 08-14-08 10:38 | ||||
| Reporter | wikipo | View Status | public | ||||||
| Assigned To | nam | ||||||||
| Priority | normal | Resolution | fixed | Platform | |||||
| Status | closed | OS | |||||||
| Projection | none | OS Version | |||||||
| ETA | none | Fixed in Version | 3.2.1 | Product Version | 3.2.0 | ||||
| Product Build | |||||||||
| 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. |
||||||||
| Attached Files | |||||||||
|
|
|||||||||
| Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed. 26 unique queries executed. |