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