summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/mruby/code_objects/function_object.rb
diff options
context:
space:
mode:
authorSeba Gamboa <[email protected]>2015-09-29 15:05:35 -0300
committerSeba Gamboa <[email protected]>2015-09-29 15:05:35 -0300
commita2ce558f0243077d152c6a703e737a68f9a3f301 (patch)
treec44b4807fc108dcb1d99316a633153a781e70244 /lib/yard/mruby/code_objects/function_object.rb
parente7711181c85641561a6ee8cef5dcb7710608f4f2 (diff)
downloadyard-mruby-a2ce558f0243077d152c6a703e737a68f9a3f301.tar.gz
yard-mruby-a2ce558f0243077d152c6a703e737a68f9a3f301.zip
Support variadic arguments in functions
Diffstat (limited to 'lib/yard/mruby/code_objects/function_object.rb')
-rw-r--r--lib/yard/mruby/code_objects/function_object.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/yard/mruby/code_objects/function_object.rb b/lib/yard/mruby/code_objects/function_object.rb
index 4609a21..725428e 100644
--- a/lib/yard/mruby/code_objects/function_object.rb
+++ b/lib/yard/mruby/code_objects/function_object.rb
@@ -37,7 +37,7 @@ module YARD::MRuby::CodeObjects
# @return [Array<Array(String, String)>] a list of parameter names followed
# by their default values (or nil)
def parameters
- parameter_types.map{|t| [t.name, nil] }
+ parameter_types.map{|t| [(t.type == '...' ? '...' : t.name), nil] }
end
def parameter_types
@@ -49,7 +49,7 @@ module YARD::MRuby::CodeObjects
return if parameters.match /^\s*void\s*$/
parameters.split(',').each do |parameter|
- parameter.scan(/((?:const\s+)?(?:struct\s+)?\w+(?:\s*\*)?)\s*(\w+)?/) do |type,name|
+ parameter.scan(/((?:const\s+)?(?:struct\s+)?(?:\w+|\.\.\.)(?:\s*\*)?)\s*(\w+)?/) do |type,name|
@parameter_types << ParameterType.new(type,name)
end
end