| Index: frog/gen.dart
|
| diff --git a/frog/gen.dart b/frog/gen.dart
|
| index 190ef53b48b859f36499038ad8bf90dac8e78bba..19028c73130d6d6bcf0d3f052e643359855e784f 100644
|
| --- a/frog/gen.dart
|
| +++ b/frog/gen.dart
|
| @@ -1087,7 +1087,13 @@ class MethodGenerator implements TreeVisitor {
|
| var val = _scope.create(name, thisType, node.names[i].span);
|
|
|
| if (value == null) {
|
| - writer.write('${val.code}');
|
| + if (_scope.reentrant) {
|
| + // To preserve block scoping, we need to ensure the variable is
|
| + // reinitialized each time the block is entered.
|
| + writer.write('${val.code} = null');
|
| + } else {
|
| + writer.write('${val.code}');
|
| + }
|
| } else {
|
| value = value.convertTo(this, type, node.values[i]);
|
| writer.write('${val.code} = ${value.code}');
|
|
|