Code Review: VisibilityFixes1


#1

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

Fixes bugs:
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:
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


#2

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. :slight_smile: