# Code Review: LexicalScopes2

**URL:** <https://www.ruby-forum.com/t/code-review-lexicalscopes2/152106>\
**Category:** IronRuby\
**Created:** [October 30, 2008, 4:39am UTC](https://www.ruby-forum.com/t/code-review-lexicalscopes2/152106 "2008-10-30T04:39:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![grujildo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/94ad74/32.png) [@grujildo](https://www.ruby-forum.com/u/grujildo)\
**Post date:** [October 30, 2008, 4:39am UTC](https://www.ruby-forum.com/t/code-review-lexicalscopes2/152106/1 "2008-10-30T04:39:11Z")

</div>

tfpt review “/shelveset:LexicalScopes2;REDMOND\tomat”

The actual shelveset 🙂

Refactors and simplifies LexicalScope and allocation of local  
variables. Previously a LocalVariable instance was created per each  
local variable access, which is unnecessary. Since many scopes don’t  
define any variables at all we allocate a variable dictionary lazily.  
We also used to fallback to dynamic variable lookup in evals in some  
cases even though we could lookup statically.

Tomas

---

<div class="post-metadata">

**Author:** ![grujildo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/94ad74/32.png) [@grujildo](https://www.ruby-forum.com/u/grujildo)\
**Post date:** [October 30, 2008, 5:52pm UTC](https://www.ruby-forum.com/t/code-review-lexicalscopes2/152106/2 "2008-10-30T17:52:54Z")

</div>

Looks good.
