Files

Caricature::ClrClassMessenger

Encapsulates sending messages to CLR class or instance isolations

Protected Instance Methods

internal_deliver(mode, method_name, return_type, *args, &b) click to toggle source

deliver the message to the receiving isolation

    # File lib/caricature/clr/messenger.rb, line 9
 9:       def internal_deliver(mode, method_name, return_type, *args, &b)   
10:         exp = expectations.find(method_name, mode, *args)
11: #        exp = expectations.find(method_name.underscore, mode, *args) unless exp
12:         bl = record_call(method_name, mode, exp, *args, &b)
13:         is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type 
14:         res = nil
15:         if exp
16:           block = exp.block || b
17:           res = instance.__send__(method_name, *args, &block) if exp.super_before?
18:           exp.event_recorder do |ev_nm, ev_ar, ev_h|
19:             recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
20:           end if recorder && exp
21:           res = exp.execute *args, &bl
22:           res = instance.__send__(method_name, *args, &block) if !exp.super_before? and exp.call_super?
23:         end
24:         res ||= System::Activator.create_instance(return_type) if is_value_type     
25:         res
26:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.