APIDump: Added support for member variables.
This commit is contained in:
parent
314c7d98fb
commit
07ba48840d
@ -31,6 +31,11 @@ g_APIDesc =
|
|||||||
ConstantName = { Notes = "Notes about the constant" },
|
ConstantName = { Notes = "Notes about the constant" },
|
||||||
} ,
|
} ,
|
||||||
|
|
||||||
|
Variables =
|
||||||
|
{
|
||||||
|
VariableName = { Type = "string", Notes = "Notes about the variable" },
|
||||||
|
} ,
|
||||||
|
|
||||||
AdditionalInfo = -- Paragraphs to be exported after the function definitions table
|
AdditionalInfo = -- Paragraphs to be exported after the function definitions table
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@ -610,8 +615,8 @@ World:ForEachChestInChunk(Player:GetChunkX(), Player:GetChunkZ(),
|
|||||||
},
|
},
|
||||||
Variables =
|
Variables =
|
||||||
{
|
{
|
||||||
p1 = { Notes = "{{Vector3i}} of one corner. Usually the lesser of the two coords in each set" },
|
p1 = { Type = "{{Vector3i}}", Notes = "The first corner. Usually the lesser of the two coords in each set" },
|
||||||
p2 = { Notes = "{{Vector3i}} of the other corner. Usually the larger of the two coords in each set" },
|
p2 = { Type = "{{Vector3i}}", Notes = "The second corner. Usually the larger of the two coords in each set" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -459,10 +459,21 @@ function ReadDescriptions(a_API)
|
|||||||
end
|
end
|
||||||
end -- for j, cons
|
end -- for j, cons
|
||||||
end -- if (APIDesc.Constants ~= nil)
|
end -- if (APIDesc.Constants ~= nil)
|
||||||
else
|
|
||||||
|
-- Process member variables:
|
||||||
|
local vars = {};
|
||||||
|
for name, desc in pairs(APIDesc.Variables or {}) do
|
||||||
|
desc.Name = name;
|
||||||
|
table.insert(vars, desc);
|
||||||
|
end
|
||||||
|
cls.Variables = vars;
|
||||||
|
|
||||||
|
else -- if (APIDesc ~= nil)
|
||||||
|
|
||||||
-- Class is not documented at all, add all its members to Undocumented lists:
|
-- Class is not documented at all, add all its members to Undocumented lists:
|
||||||
cls.UndocumentedFunctions = {};
|
cls.UndocumentedFunctions = {};
|
||||||
cls.UndocumentedConstants = {};
|
cls.UndocumentedConstants = {};
|
||||||
|
cls.Variables = {};
|
||||||
for j, func in ipairs(cls.Functions) do
|
for j, func in ipairs(cls.Functions) do
|
||||||
local FnName = func.DocID or func.Name;
|
local FnName = func.DocID or func.Name;
|
||||||
if not(IsFunctionIgnored(cls.Name .. "." .. FnName)) then
|
if not(IsFunctionIgnored(cls.Name .. "." .. FnName)) then
|
||||||
@ -505,6 +516,13 @@ function ReadDescriptions(a_API)
|
|||||||
return (c1.Name < c2.Name);
|
return (c1.Name < c2.Name);
|
||||||
end
|
end
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- Sort the member variables:
|
||||||
|
table.sort(cls.Variables,
|
||||||
|
function(v1, v2)
|
||||||
|
return (v1.Name < v2.Name);
|
||||||
|
end
|
||||||
|
);
|
||||||
end -- for i, cls
|
end -- for i, cls
|
||||||
|
|
||||||
-- Sort the descendants lists:
|
-- Sort the descendants lists:
|
||||||
@ -618,7 +636,7 @@ function WriteHtmlClass(a_ClassAPI, a_AllAPI)
|
|||||||
cf:write(" <tr>\n <td>" .. func.Name .. "</td>\n");
|
cf:write(" <tr>\n <td>" .. func.Name .. "</td>\n");
|
||||||
cf:write(" <td>" .. LinkifyString(func.Params or "", (a_InheritedName or a_ClassAPI.Name)).. "</td>\n");
|
cf:write(" <td>" .. LinkifyString(func.Params or "", (a_InheritedName or a_ClassAPI.Name)).. "</td>\n");
|
||||||
cf:write(" <td>" .. LinkifyString(func.Return or "", (a_InheritedName or a_ClassAPI.Name)).. "</td>\n");
|
cf:write(" <td>" .. LinkifyString(func.Return or "", (a_InheritedName or a_ClassAPI.Name)).. "</td>\n");
|
||||||
cf:write(" <td>" .. LinkifyString(func.Notes or "", (a_InheritedName or a_ClassAPI.Name)) .. "</td>\n </tr>\n");
|
cf:write(" <td>" .. LinkifyString(func.Notes or "<i>(undocumented)</i>", (a_InheritedName or a_ClassAPI.Name)) .. "</td>\n </tr>\n");
|
||||||
end
|
end
|
||||||
cf:write(" </table>\n\n");
|
cf:write(" </table>\n\n");
|
||||||
end
|
end
|
||||||
@ -641,6 +659,24 @@ function WriteHtmlClass(a_ClassAPI, a_AllAPI)
|
|||||||
cf:write(" </table>\n\n");
|
cf:write(" </table>\n\n");
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function WriteVariables(a_Variables, a_InheritedName)
|
||||||
|
if (#a_Variables == 0) then
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
|
if (a_InheritedName ~= nil) then
|
||||||
|
cf:write(" <h2>Member variables inherited from " .. a_InheritedName .. "</h2>\n");
|
||||||
|
end
|
||||||
|
|
||||||
|
cf:write(" <table>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Notes</th>\n </tr>\n");
|
||||||
|
for i, var in ipairs(a_Variables) do
|
||||||
|
cf:write(" <tr>\n <td>" .. var.Name .. "</td>\n");
|
||||||
|
cf:write(" <td>" .. LinkifyString(var.Type or "<i>(undocumented)</i>", a_InheritedName or a_ClassAPI.Name) .. "</td>\n");
|
||||||
|
cf:write(" <td>" .. LinkifyString(var.Notes or "", a_InheritedName or a_ClassAPI.Name) .. "</td>\n </tr>\n");
|
||||||
|
end
|
||||||
|
cf:write(" </table>\n\n");
|
||||||
|
end
|
||||||
|
|
||||||
local function WriteDescendants(a_Descendants)
|
local function WriteDescendants(a_Descendants)
|
||||||
if (#a_Descendants == 0) then
|
if (#a_Descendants == 0) then
|
||||||
return;
|
return;
|
||||||
@ -688,10 +724,12 @@ function WriteHtmlClass(a_ClassAPI, a_AllAPI)
|
|||||||
|
|
||||||
local HasConstants = (#a_ClassAPI.Constants > 0);
|
local HasConstants = (#a_ClassAPI.Constants > 0);
|
||||||
local HasFunctions = (#a_ClassAPI.Functions > 0);
|
local HasFunctions = (#a_ClassAPI.Functions > 0);
|
||||||
|
local HasVariables = (#a_ClassAPI.Variables > 0);
|
||||||
if (a_ClassAPI.Inherits ~= nil) then
|
if (a_ClassAPI.Inherits ~= nil) then
|
||||||
for idx, cls in ipairs(a_ClassAPI.Inherits) do
|
for idx, cls in ipairs(a_ClassAPI.Inherits) do
|
||||||
HasConstants = HasConstants or (#cls.Constants > 0);
|
HasConstants = HasConstants or (#cls.Constants > 0);
|
||||||
HasFunctions = HasFunctions or (#cls.Functions > 0);
|
HasFunctions = HasFunctions or (#cls.Functions > 0);
|
||||||
|
HasVariables = HasVariables or (#cls.Variables > 0);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -702,6 +740,9 @@ function WriteHtmlClass(a_ClassAPI, a_AllAPI)
|
|||||||
if (HasConstants) then
|
if (HasConstants) then
|
||||||
cf:write(" <li><a href=\"#constants\">Constants</a></li>\n");
|
cf:write(" <li><a href=\"#constants\">Constants</a></li>\n");
|
||||||
end
|
end
|
||||||
|
if (HasVariables) then
|
||||||
|
cf:write(" <li><a href=\"#variables\">Member variables</a></li>\n");
|
||||||
|
end
|
||||||
if (HasFunctions) then
|
if (HasFunctions) then
|
||||||
cf:write(" <li><a href=\"#functions\">Functions</a></li>\n");
|
cf:write(" <li><a href=\"#functions\">Functions</a></li>\n");
|
||||||
end
|
end
|
||||||
@ -746,6 +787,15 @@ function WriteHtmlClass(a_ClassAPI, a_AllAPI)
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
-- Write the member variables:
|
||||||
|
if (HasVariables) then
|
||||||
|
cf:write(" <a name=\"variables\"><hr /><h1>Member variables</h1></a>\n");
|
||||||
|
WriteVariables(a_ClassAPI.Variables, nil);
|
||||||
|
for i, cls in ipairs(InheritanceChain) do
|
||||||
|
WriteVariables(cls.Variables, cls.Name);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
|
||||||
-- Write the functions, including the inherited ones:
|
-- Write the functions, including the inherited ones:
|
||||||
if (HasFunctions) then
|
if (HasFunctions) then
|
||||||
cf:write(" <a name=\"functions\"><hr /><h1>Functions</h1></a>\n");
|
cf:write(" <a name=\"functions\"><hr /><h1>Functions</h1></a>\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user