Class: Rbind::GeneratorRuby::RTypeHelper::OperationHelper
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Rbind::GeneratorRuby::RTypeHelper::OperationHelper
- Defined in:
- lib/rbind/generator_ruby.rb
Instance Method Summary collapse
- #add_alias ⇒ Object
- #add_doc ⇒ Object
- #add_specialize_ruby ⇒ Object
- #binding ⇒ Object
- #cname ⇒ Object
- #generate_param_doc ⇒ Object
- #min_number_of_parameters ⇒ Object
- #name ⇒ Object
- #signature_default_values ⇒ Object
- #wrap_parameters_call ⇒ Object
- #wrap_parameters_signature ⇒ Object
Instance Method Details
#add_alias ⇒ Object
533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 |
# File 'lib/rbind/generator_ruby.rb', line 533 def add_alias name = if auto_alias __getobj__.name else __getobj__.alias || __getobj__.name end name = GeneratorRuby::normalize_alias_method_name(name) if name == self.name || !cplusplus_alias? nil elsif static? " class << self; alias :#{name} :#{self.name}; end\n" else " alias :#{name} :#{self.name}\n" end end |
#add_doc ⇒ Object
571 572 573 574 575 576 577 578 |
# File 'lib/rbind/generator_ruby.rb', line 571 def add_doc str = GeneratorRuby::normalize_doc(doc) str = if !parameters.empty? || return_type str += "#\n" if str "#{str}#{generate_param_doc}" end str.gsub(/^/," ") if str end |
#add_specialize_ruby ⇒ Object
549 550 551 552 |
# File 'lib/rbind/generator_ruby.rb', line 549 def add_specialize_ruby str = specialize_ruby " #{str}\n" if str end |
#binding ⇒ Object
580 581 582 |
# File 'lib/rbind/generator_ruby.rb', line 580 def binding Kernel.binding end |
#cname ⇒ Object
529 530 531 |
# File 'lib/rbind/generator_ruby.rb', line 529 def cname GeneratorRuby.normalize_method_name(__getobj__.cname) end |
#generate_param_doc ⇒ Object
554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 |
# File 'lib/rbind/generator_ruby.rb', line 554 def generate_param_doc paras = parameters.map do |p| n = GeneratorRuby.normalize_arg_name p.name t = if p.type.basic_type? && (p.type.ptr? || p.type.ref?) "FFI::MemoryPointer" else GeneratorRuby.normalize_type_name(p.type.full_name) end "# @param [#{t}] #{n} #{p.doc}" end if return_type t = GeneratorRuby.normalize_type_name(return_type.full_name) paras << "# @return [#{t}]" end paras.join("\n")+"\n" end |
#min_number_of_parameters ⇒ Object
471 472 473 474 475 476 477 478 |
# File 'lib/rbind/generator_ruby.rb', line 471 def min_number_of_parameters count = 0 parameters.each do |p| break if p.default_value count +=1 end count end |
#name ⇒ Object
511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 |
# File 'lib/rbind/generator_ruby.rb', line 511 def name if attribute? name = GeneratorRuby.normalize_method_name(attribute.name) if __getobj__.is_a? RGetter name else "#{name}=" end else name = if auto_alias __getobj__.name else __getobj__.alias || __getobj__.name end GeneratorRuby.normalize_method_name(name) end end |
#signature_default_values ⇒ Object
480 481 482 483 484 485 486 487 488 489 |
# File 'lib/rbind/generator_ruby.rb', line 480 def signature_default_values str = parameters.map do |p| if p.default_value GeneratorRuby.normalize_default_value p else "nil" end end.join(", ") "[#{str}]" end |
#wrap_parameters_call ⇒ Object
502 503 504 505 506 507 508 509 |
# File 'lib/rbind/generator_ruby.rb', line 502 def wrap_parameters_call paras = [] paras << "self" if instance_method? paras += parameters.map do |p| GeneratorRuby.normalize_arg_name p.name end paras.join(", ") end |
#wrap_parameters_signature ⇒ Object
491 492 493 494 495 496 497 498 499 500 |
# File 'lib/rbind/generator_ruby.rb', line 491 def wrap_parameters_signature parameters.map do |p| n = GeneratorRuby.normalize_arg_name p.full_name if p.default_value "#{n} = #{GeneratorRuby.normalize_default_value p}" else n end end.join(", ") end |