From 6b33ebaafa29dc007afa1ea47749172fc8bc2164 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 26 Mar 2016 14:55:16 +0100 Subject: [PATCH] update luadoc --- doc/luadoc.json.gz | Bin 9296 -> 9293 bytes tools/fmt-luadoc.php | 109 +++++++++++++++++++++++++++++++++---------- 2 files changed, 84 insertions(+), 25 deletions(-) diff --git a/doc/luadoc.json.gz b/doc/luadoc.json.gz index 9d69fa89a8aece26b65961507d22ba45e27e691f..fa7a8e70e459b7a5b0c32c3aae9e000d9c0b38cc 100644 GIT binary patch literal 9293 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 literal 9296 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 "LuaOSC.Address" ) function ctorname ($name) { return htmlentities (str_replace (':', '.', $name)); } +# strip class prefix (e.g "Evoral:MidiEvent:channel" -> "channel") function shortname ($name) { return htmlentities (substr ($name, strrpos ($name, ':') + 1)); } +# retrieve variable name from array["VARNAME"] => FLAGS function varname ($a) { return array_keys ($a)[0]; } -function name_sort_cb ($a, $b) { - return strcmp ($a['name'], $b['name']); -} - +# recusively collect class parents (derived classes) function traverse_parent ($ns, &$inherited) { global $classlist; $rv = ''; @@ -464,11 +468,11 @@ function traverse_parent ($ns, &$inherited) { return $rv; } +# create a cross-reference to a type (class or enum) +# *all* links are generated here, currently anchors on a single page. function typelink ($a, $short = false, $argcls = '', $linkcls = '', $suffix = '') { global $classlist; global $constlist; - # all cross-reference links are generated here. - # currently anchors on a single page. if (isset($classlist[$a]['free'])) { return ''.($short ? shortname($a) : ctorname($a)).$suffix.''; } else if (in_array ($a, array_keys ($classlist))) { @@ -480,6 +484,7 @@ function typelink ($a, $short = false, $argcls = '', $linkcls = '', $suffix = '' } } +# output format function arguments function format_args ($args) { $rv = ' ('; $first = true; @@ -500,6 +505,7 @@ function format_args ($args) { return $rv; } +# format doxygen documentation for class-definition function format_doxyclass ($cl) { $rv = ''; if (isset ($cl['decl'])) { @@ -511,6 +517,7 @@ function format_doxyclass ($cl) { return $rv; } +# format doxygen documentation for class-members function format_doxydoc ($f) { $rv = ''; if (isset ($f['cand'])) { @@ -525,8 +532,16 @@ function format_doxydoc ($f) { } return $rv; } + +# usort() callback for class-members +function name_sort_cb ($a, $b) { + return strcmp ($a['name'], $b['name']); +} + +# main output function for every class function format_class_members ($ns, $cl, &$dups) { $rv = ''; + # print contructor - if any if (isset ($cl['ctor'])) { usort ($cl['ctor'], 'name_sort_cb'); $rv.= ' Constructor'.NL; @@ -535,9 +550,14 @@ function format_class_members ($ns, $cl, &$dups) { $rv.= ''.ctorname ($f['name']).''; $rv.= format_args ($f['args']); $rv.= ''.NL; + # doxygen documentation (may be empty) $rv.= format_doxydoc($f); } } + + # strip duplicates (inherited or derived methods) + # e.g AudioTrack -> Track -> Route -> SessionObject -> Stateful + # all 5 have "isnil()" $nondups = array (); if (isset ($cl['func'])) { foreach ($cl['func'] as $f) { @@ -545,30 +565,38 @@ function format_class_members ($ns, $cl, &$dups) { $nondups[] = $f; } } + + # print methods - if any if (count ($nondups) > 0) { usort ($nondups, 'name_sort_cb'); $rv.= ' Methods'.NL; foreach ($nondups as $f) { $dups[] = stripclass ($ns, $f['name']); + # return value/type $rv.= ' '; if ($f['ref'] && isset ($f['ext'])) { # external C functions $rv.= ''.varname ($f['ret']).''; } elseif ($f['ref'] && varname ($f['ret']) == 'void') { - # functions with reference args return args + # void functions with reference args $rv.= 'LuaTable(...)'; } elseif ($f['ref']) { + # functions with reference args and return value $rv.= 'LuaTable('.typelink (varname ($f['ret']), true, 'em').', ...)'; } else { + # normal class members $rv.= typelink (varname ($f['ret']), true, 'em'); } + # function declaration and arguments $rv.= ''; $rv.= ''.stripclass ($ns, $f['name']).''; $rv.= format_args ($f['args']); $rv.= ''.NL; + # doxygen documentation (may be empty) $rv.= format_doxydoc($f); } } + # print data members - if any if (isset ($cl['data'])) { usort ($cl['data'], 'name_sort_cb'); $rv.= ' Data Members'.NL; @@ -632,6 +660,7 @@ span.functionname abbr { text-decoration:none; cursor:default;} div.header {text-align:center;} div.header h1 {margin:0;} div.header p {margin:.25em; text-align:center;} +div.footer {text-align:center; font-size:80%; color: #888; margin: 2em 0;} @@ -647,6 +676,13 @@ div.header p {margin:.25em; text-align:center;}
+ +

Overview

The top-level entry point are and . @@ -693,7 +729,7 @@ If the C++ method also returns a value it is prefixed. Two parameters are return } -

+
Lua
local var = 0;
@@ -704,7 +740,7 @@ ref = set_ref (var, 2);
 print (ref[1], ref[2])
 5 7
-
+
@@ -717,12 +753,12 @@ print (ref[1], ref[2]) } -
-
+
+
rv, ref = set_ref2 (0, "hello");
 print (rv, ref[1], ref[2])
 3 5 hello
-
+
@@ -755,32 +791,43 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C Class Documentation'.NL; +################################# +# Main output function -- Classes + +echo '

Class Documentation

'.NL; foreach ($classlist as $ns => $cl) { $dups = array (); $tbl = format_class_members ($ns, $cl, $dups); - # format class title + # format class title - depending on type if (empty ($tbl)) { + # classes with no members (no ctor, no methods, no data) echo '

 '.htmlentities ($ns).'

'.NL; } else if (isset ($classlist[$ns]['free'])) { + # free functions (no class) echo '

 '.ctorname($ns).'

'.NL; } else if (isset ($classlist[$ns]['arr'])) { + # C Arrays echo '

 '.htmlentities ($ns).'

'.NL; } else if (isset ($classlist[$ns]['ptr'])) { + # Pointer Classes echo '

 '. htmlentities ($ns).'

'.NL; - } else { + } + else { + # Normal Class echo '

 '.htmlentities ($ns).'

'.NL; } + + # show original C++ declaration if (isset ($cl['decl'])) { echo '

C‡: '.htmlentities ($cl['decl']).'

'.NL; } - # print class inheritance + # print class inheritance (direct parent *name* only) $inherited = array (); $isa = traverse_parent ($ns, $inherited); if (!empty ($isa)) { @@ -788,6 +835,8 @@ foreach ($classlist as $ns => $cl) { } echo '
'.NL; + + # class documentation (if any) echo format_doxyclass ($cl); # member documentation @@ -799,7 +848,7 @@ foreach ($classlist as $ns => $cl) { echo ' '.NL; } - # traverse parent classes (inherited members) + # traverse parent classes (all inherited members) foreach ($inherited as $pns => $pcl) { $tbl = format_class_members ($pns, $pcl, $dups); if (!empty ($tbl)) { @@ -811,6 +860,9 @@ foreach ($classlist as $ns => $cl) { } } +#################### +# Enum and Constants + echo '

Enum/Constants

'.NL; foreach ($constlist as $ns => $cs) { echo '

 '.ctorname ($ns).'

'.NL; @@ -821,6 +873,9 @@ foreach ($constlist as $ns => $cs) { echo ''.NL; } +###################### +# Index of all classes + echo '

Class Index

'.NL; echo '
    '.NL; foreach ($classlist as $ns => $cl) { @@ -828,8 +883,12 @@ foreach ($classlist as $ns => $cl) { } echo '
'.NL; + +# see how far there is still to go... fwrite (STDERR, "Found $dox_found annotations. missing: $dox_miss\n"); + ?> +