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
