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