# Code Review: VisibilityFixes1

**URL:** <https://www.ruby-forum.com/t/code-review-visibilityfixes1/169375>\
**Category:** IronRuby\
**Created:** [June 2, 2009, 11:59pm UTC](https://www.ruby-forum.com/t/code-review-visibilityfixes1/169375 "2009-06-02T23:59:34Z")\
**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:** [June 2, 2009, 11:59pm UTC](https://www.ruby-forum.com/t/code-review-visibilityfixes1/169375/1 "2009-06-02T23:59:34Z")

</div>

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

Fixes bugs:  
[http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=1184:](http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=1184:)  
public(:foo) does not work correctly for mixed-in methods  
[http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=1060:](http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=1060:)  
visibility of send :define\_method Title is required

Factors super-forwarders into a separate SuperForwarderInfo \<:  
RubyMemberInfo (it used to be just a flag on member info). The  
super-forwarder needs to remember the name of the method to forward to  
since that can change if it’s aliased (see Visibility2C test case).

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:** [June 3, 2009, 12:23am UTC](https://www.ruby-forum.com/t/code-review-visibilityfixes1/169375/2 "2009-06-03T00:23:03Z")

</div>

Looks good. One small quibble: the comment in RubyModule.ForEachMember  
“visit the member even if it doesn’t have the right visibility so that  
any overridden member with the right visibility won’t later be visited”  
isn’t quite right as the member isn’t actually being visited; it’s just  
marked that way in the dict. 🙂
