From: Robin Gareus Date: Thu, 24 Mar 2016 23:43:15 +0000 (+0100) Subject: update luadoc scripts X-Git-Tag: 5.0-pre0~1223 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=cac89c0b42a9854e3623dd56bcdb70971e6800d4;p=ardour.git update luadoc scripts --- diff --git a/tools/doxy2json/ardourdoc.sh b/tools/doxy2json/ardourdoc.sh index 8d69a64e28..91db7c280e 100755 --- a/tools/doxy2json/ardourdoc.sh +++ b/tools/doxy2json/ardourdoc.sh @@ -42,6 +42,13 @@ foreach (json_decode (\$json, true) as \$a) { if (substr (\$a['decl'], 0, 11) == 'luabridge::') { continue; } \$a['decl'] = str_replace ('size_t', 'unsigned long', \$a['decl']); + \$a['decl'] = str_replace ('uint32_t', 'unsigned int', \$a['decl']); + \$a['decl'] = str_replace ('framepos_t', 'long', \$a['decl']); + \$a['decl'] = str_replace ('frameoffset_t', 'long', \$a['decl']); + \$a['decl'] = str_replace ('int64_t', 'long', \$a['decl']); + \$a['decl'] = str_replace ('uint8_t', 'unsigned char', \$a['decl']); + \$a['decl'] = str_replace ('pframes_t', 'unsigned int', \$a['decl']); + \$a['decl'] = str_replace ('uint64_t', 'unsigned long', \$a['decl']); \$canon = str_replace (' *', '*', \$a['decl']); \$api[\$canon] = \$a; } diff --git a/tools/fmt-luadoc.php b/tools/fmt-luadoc.php index 683216fe0d..d9d5ceca63 100755 --- a/tools/fmt-luadoc.php +++ b/tools/fmt-luadoc.php @@ -155,8 +155,12 @@ function canonical_ctor ($b) { function canonical_decl ($b) { $rv = ''; + $pfx = ''; # match clang's declatation format if (preg_match('/[^(]*\(([^)*]*)\*\)\((.*)\)/', $b['decl'], $matches)) { + if (strpos ($b['type'], 'Free Function') !== false) { + $pfx = str_replace (':', '::', luafn2class ($b['lua'])) . '::'; + } $fn = substr ($b['lua'], 1 + strrpos ($b['lua'], ':')); $rv = $matches[1] . $fn . '('; $arglist = preg_split ('/, */', $matches[2]); @@ -165,16 +169,17 @@ function canonical_decl ($b) { if (!$first) { $rv .= ', '; }; $first = false; if (empty ($a)) { continue; } $a = preg_replace ('/([^>]) >/', '$1>', $a); - $a = preg_replace ('/^.*::/', '', $a); + $a = preg_replace ('/^Cairo::/', '', $a); // special case cairo enums $a = preg_replace ('/([^ ])&/', '$1 &', $a); $a = str_replace ('vector', 'std::vector', $a); + $a = str_replace ('std::string', 'string', $a); $a = str_replace ('string const', 'const string', $a); $a = str_replace ('string', 'std::string', $a); $rv .= $a; } $rv .= ')'; } - return $rv; + return $pfx . $rv; } ################################################################################ @@ -513,7 +518,7 @@ function format_doxydoc ($f) { if (!empty ($doc)) { $rv.= '
'.$doc; $rv.= '
'.NL; - } else if (0) { # debug + } else if (1) { # debug $rv.= '

'.htmlentities($f['cand']).'

'; $rv.= ''.NL; }