| [#656] | project: compiler | priority: low | category: missing feature | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Sean | Iulian | fixed | 2006-07-11 16:24:18.0 | |
| subject | local variable attributes need improvements | |||
| code |
{
val x = 10;
}
{
val x = 20;
} |
|||
| what happened | Right now, the compiler will assume each local variable has a lifetime that scopes the entire method that they a\ re created in. This is very confusing, especially when local variables share name. |
|||
| what expected | Local variable scope should be accurately represented in their debug attributes. Not sure what to do about shadowing though.... | |||
| [back to overview] | ||||
| Sean edited on 2006-07-21 07:40:07.0 |
| Iulian edited on 2006-08-02 15:44:56.0 |
| Cleaned up local variables, synthetic flags are emitted and synthetic locals are not generated in the debug table. Variable's scope is still not handled. |
| Iulian edited on 2007-02-09 23:47:12.0 |
| Fixed. Much trickier than I thought, but it finally seems to work. Let me know if there are cases that don't work as expected. |