From 947bec4a16640b3425e246b19bec6494c4f21f30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sat, 29 Jan 2011 13:22:57 +0100 Subject: [PATCH] Autodoc: The set of modifiers for a symbol is now on a more canonic form. --- .../Tools.pmod/AutoDoc.pmod/PikeParser.pike | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike index e477220a25..fa47a8e2eb 100644 --- a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike +++ b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike @@ -660,10 +660,28 @@ array(string) parseModifiers() { string s = peekToken(); array(string) mods = ({ }); while (modifiers[s]) { - mods += ({ s }); + // Canonicalize some aliases. + s = ([ "nomask":"final", + "static":"protected", + "inline":"local", + ])[s] || s; + if (!has_value(mods, s)) { + mods += ({ s }); + } readToken(); s = peekToken(); } + if (sizeof(mods) > 1) { + // Clean up implied modifiers. + if (has_value(mods, "private")) { + // private implies protected. + mods -= ({ "protected", }); + } + if (has_value(mods, "final")) { + // final implies local. + mods -= ({ "local" }); + } + } return mods; } -- GitLab