protected override object DoExecute(CodeContext context) { switch (_var.Kind) { case Variable.VariableKind.Temporary: case Variable.VariableKind.GeneratorTemporary: context.Scope.TemporaryStorage.Remove(_var); break; case Variable.VariableKind.Global: RuntimeHelpers.RemoveGlobalName(context, _var.Name); break; default: RuntimeHelpers.RemoveName(context, _var.Name); break; } return(Statement.NextStatement); }