After chatting with Tomas, not adding those tests makes sense due to differences in CLR protected behavior. I misunderstood his explanation below.
JD ...there is no try > -----Original Message----- > From: Jim Deville > Sent: Thursday, May 21, 2009 3:21 PM > To: Curt Hagenlocher; Tomas Matousek; IronRuby External Code Reviewers; > Rowan Code Reviewers > Cc: [email protected] > Subject: RE: Code Review: Protected3 > > For the protected tests, can you add specs that test that the protected .NET > methods are callable from an instance_eval? > > @klass.instance_eval {public_protected_overload("abc")}.should > equal_clr_string("protected overload") > > Don't worry about protected_spec though, I'll fix that. > > Other than that, test looks good. > > JD > > ...there is no try > > > -----Original Message----- > > From: Curt Hagenlocher > > Sent: Thursday, May 21, 2009 3:08 PM > > To: Tomas Matousek; IronRuby External Code Reviewers; Rowan Code > > Reviewers > > Cc: [email protected] > > Subject: RE: Code Review: Protected3 > > > > 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
