diff --git a/rakelib/lib/extractor/function.rb b/rakelib/lib/extractor/function.rb index 5bc9326f..430d430a 100644 --- a/rakelib/lib/extractor/function.rb +++ b/rakelib/lib/extractor/function.rb @@ -49,6 +49,9 @@ def extract(element) @template_params << txt end @args_string = element.at_xpath('argsstring').text + # transform unified initializers to ctor form (SWIG does not like unified initializers) + # (also see ParamDef#extract) + @args_string.gsub!(/(\w+(::\w+)*)\s*{([^}]*)}/) { |_| "#{$1}(#{$3})"} check_deprecated element.xpath('param').each do |node| p = ParamDef.new(node) @@ -370,6 +373,8 @@ def extract(element) end if element.at_xpath('defval') @default = BaseDef.flatten_node(element.at_xpath('defval')) + # transform unified initializers to ctor form (SWIG does not like unified initializers) + @default.sub!(/(\w+(::\w+)*)\s*{([^}]*)}/) { |_| "#{$1}(#{$3})"} end end rescue Exception