Looks good!

-----Original Message-----
From: Tomas Matousek 
Sent: Thursday, May 21, 2009 2:50 PM
To: IronRuby External Code Reviewers; Rowan Code Reviewers
Cc: [email protected]
Subject: Code Review: Protected3

tfpt review "/shelveset:Protected3;REDMOND\tomat"

Small changes in DLR.

Ruby:
  Fixes handling of CLR protected and private methods and properties.
  Enables generic methods in ClsTypeEmitter.
  Removes RubyCallFlag.TryCall - it's not used anymore.
  
  Notes on visibility:
  Ruby visibility is orthogonal to CLR visibility.
  Ruby visibility is mutable (can be changed using 
Kernel#public/private/protected methods), CLR visibility is not.
  A CLR method group can comprise of methods of different CLR visibility. Ruby 
visibility applies on the group as a whole.
  
  Ruby-protected members can only be called from a scope whose self immediate 
class is a descendant of the method owner.
  CLR-protected members can only be called if the receiver is a descendant of 
the method owner. 
  
  Ruby-private members can only be called with an implicit receiver (self).
  CLR-private members can only be called in PrivateBinding mode 
(-X:PrivateBinding command line option), the receiver might be explicit or 
implicit.
  
  Tests:
  Since protected methods can only be called on a derived class instance the 
specs need to be adjusted accordingly.
  I've fixed generic_spec nad overload_spec and commented out a block in 
protected_spec - all the cases there need to be changed to negative cases (all 
should fail).
  Removed ROWAN_BIN check in 
External.LCA_RESTRICTED\Languages\IronRuby\mspec\default.mspec so that mspec 
picks up IR_OPTIONS even if ROWAN_BIN is not set.

Tomas
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to