# File lib/ruby-vpi/vpi.rb, line 337
337:     def method_missing aMeth, *aArgs, &aBlockArg
338:       # cache the result for future accesses, in order
339:       # to cut down number of calls to method_missing()
340:       eigen_class = (class << self; self; end)
341: 
342:       if child = vpi_handle_by_name(aMeth.to_s, self)
343:         eigen_class.class_eval do
344:           define_method aMeth do
345:             child
346:           end
347:         end
348: 
349:         child
350:       else
351:         # XXX: using a string because define_method() does
352:         #      not support a block argument until Ruby 1.9
353:         eigen_class.class_eval %{
354:           def #{aMeth}(*a, &b)
355:             @@propCache[#{aMeth.inspect}].execute(self, *a, &b)
356:           end
357:         }, __FILE__, __LINE__
358: 
359:         self.__send__(aMeth, *aArgs, &aBlockArg)
360:       end
361:     end