class IDL::Delegator

def self.add_pragma_handler(key, h = nil, &block)

def self.add_pragma_handler(key, h = nil, &block)
  raise 'add_pragma_handler requires a callable object or a block' unless h&.respond_to?(:call) || block_given?
  @@pragma_handlers[key] = block_given? ? block : h
end