Forum: IronRuby Code Review: EventsAndSites5

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cb51033949ffccd982ae32c9f890f25a?d=identicon&s=25 Tomas Matousek (Guest)
on 2009-02-25 02:03
(Received via mailing list)
Attachment: EventsAndSites5.diff (300 KB)
tfpt review "/shelveset:EventsAndSites5;REDMOND\tomat"


DLR, Python:

-          Refactors Python's RelfectedEvent and moves the language
independent part to DLR EventTracker.

-          Fixes CompilerHelpers.GetCallableMethod - it didn't throw for
non-visible methods since TryGetCallableMethod never returns null.

-          Passes "run 0".

Ruby:

-          Implements events using EventTracker - an event can be hooked
and unhooked in 2 ways now:

C#:

class C { public event Action<string, string> OnFoo; }

Ruby:
def handler a,b
    puts ""handler: #{a} #{b}""
end

c = C.new

# using a block:
h = c.on_foo { |a,b| ... }
c.on_foo.remove(h)

# using a method object:
h = method(:handler)
c.on_foo.add(h)
c.on_foo.remove(h)


-          Reimplements Enumerable::Enumerator, implements missing
features and fixes bugs.

-          Changes default protocol for CLR string to allow nil unless
NotNull attribute is specificed.

-          Removes static sites from builtins and YAML.

-          Refactors reflection cache generator to produce
merge-friendly source code.

-          Disables protected method test - we relied on the above bug
in DLR. We need to implement protected visibility check correctly.

Tomas
This topic is locked and can not be replied to.