added -- @remove, for removing duplicates from docs

This commit is contained in:
Evil Factory
2021-11-24 22:36:33 -03:00
parent 3127bfa037
commit 83a40bad6f
3 changed files with 91 additions and 55 deletions

View File

@@ -115,6 +115,17 @@ local {type.Name} = {EMPTY_TABLE}";
else
baseluatext = File.ReadAllText(baselua);
HashSet<string> removed = new HashSet<string>();
foreach(var line in baseluatext.Split('\n'))
{
if(line.Contains("-- @remove "))
{
var replaced = line.Replace("-- @remove ", "").Replace("\r", "");
removed.Add(replaced);
}
}
sb.Append(baseluatext + "\n\n");
var members = type.GetMembers();
@@ -130,8 +141,10 @@ local {type.Name} = {EMPTY_TABLE}";
if (method.Name.StartsWith("get_") || method.Name.StartsWith("set_"))
continue;
sb.Append($"--- {method.Name}\n");
sb.Append($"-- @realm shared\n");
var lsb = new StringBuilder();
lsb.Append($"--- {method.Name}\n");
lsb.Append($"-- @realm shared\n");
var paramNames = "";
@@ -145,29 +158,40 @@ local {type.Name} = {EMPTY_TABLE}";
else
paramNames = paramNames + EscapeName(parameter.Name) + ", ";
sb.Append($"-- @tparam {ConvertTypeName(parameter.ParameterType.Name)} {EscapeName(parameter.Name)}\n");
lsb.Append($"-- @tparam {ConvertTypeName(parameter.ParameterType.Name)} {EscapeName(parameter.Name)}\n");
}
if (method.ReturnType != typeof(void))
{
sb.Append($"-- @treturn {ConvertTypeName(method.ReturnType.Name)}\n");
lsb.Append($"-- @treturn {ConvertTypeName(method.ReturnType.Name)}\n");
}
if (method.IsStatic)
sb.Append($"function {type.Name}.{method.Name}({paramNames})");
else
sb.Append($"function {method.Name}({paramNames})");
sb.Append(" end\n");
string functionDecoration;
sb.Append("\n");
if (method.IsStatic)
functionDecoration = $"function {type.Name}.{method.Name}({paramNames}) end";
else
functionDecoration = $"function {method.Name}({paramNames}) end";
if (removed.Contains(functionDecoration))
{
continue;
}
lsb.Append(functionDecoration);
lsb.Append("\n\n");
sb.Append(lsb);
}
if (member.MemberType == MemberTypes.Field)
{
var lsb = new StringBuilder();
var field = (FieldInfo)member;
sb.Append($"---\n");
sb.Append($"-- ");
lsb.Append($"---\n");
lsb.Append($"-- ");
var name = EscapeName(field.Name);
@@ -176,20 +200,26 @@ local {type.Name} = {EMPTY_TABLE}";
if (field.IsStatic)
name = type.Name + "." + field.Name;
sb.Append(name);
sb.Append($", Field of type {returnName}\n");
sb.Append($"-- @realm shared\n");
sb.Append($"-- @{returnName} {name}\n");
if (removed.Contains(name))
continue;
sb.Append("\n");
lsb.Append(name);
lsb.Append($", Field of type {returnName}\n");
lsb.Append($"-- @realm shared\n");
lsb.Append($"-- @{returnName} {name}\n");
lsb.Append("\n");
sb.Append(lsb);
}
if (member.MemberType == MemberTypes.Property)
{
var lsb = new StringBuilder();
var property = (PropertyInfo)member;
sb.Append($"---\n");
sb.Append($"-- ");
lsb.Append($"---\n");
lsb.Append($"-- ");
var name = EscapeName(property.Name);
@@ -198,12 +228,16 @@ local {type.Name} = {EMPTY_TABLE}";
if (property.GetGetMethod().IsStatic)
name = type.Name + "." + property.Name;
sb.Append(name);
sb.Append($", Field of type {returnName}\n");
sb.Append($"-- @realm shared\n");
sb.Append($"-- @{returnName} {name}\n");
if (removed.Contains(name))
continue;
sb.Append("\n");
lsb.Append(name);
lsb.Append($", Field of type {returnName}\n");
lsb.Append($"-- @realm shared\n");
lsb.Append($"-- @{returnName} {name}\n");
lsb.Append("\n");
sb.Append(lsb);
}
}

View File

@@ -10,14 +10,25 @@ Barotrauma source code: [Character.cs](https://github.com/evilfactory/Barotrauma
local Character = {}
-- @remove function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end
-- @remove function TeleportTo(worldPos) end
-- @remove Character.CharacterList
--- Creates a Character using CharacterInfo.
-- @realm server
-- @tparam CharacterInfo characterInfo
-- @tparam Vector2 position
-- @tparam string seed
-- @tparam number id
-- @tparam bool isRemotePlayer
-- @tparam bool hasAi
-- @tparam RagdollParams ragdoll
-- @treturn Character
-- @realm server
-- @usage
-- local vsauce = CharacterInfo("human", "VSAUCE HERE")
-- local vsauce = CharacterInfo("human", "custom name")
-- local character = Character.Create(vsauce, Vector2(0, 0), "some random characters")
-- print(character)
function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdollParams) end
function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end
--- Teleports a character to a position.
@@ -25,11 +36,9 @@ function Character.Create(characterInfo, position, seed, id, isRemotePlayer, has
-- @tparam Vector2 position
-- @usage
-- Character.CharacterList[1].TeleportTo(Vector2(0, 0)) -- teleports first created characters to 0, 0
function TeleportTo(position) end
function TeleportTo(worldPos) end
---
-- Character.CharacterList, Table containing all characters.
-- @realm shared
-- @Character Character.CharacterList
-- @table Character.CharacterList

View File

@@ -10,14 +10,26 @@ Barotrauma source code: [Character.cs](https://github.com/evilfactory/Barotrauma
local Character = {}
-- @remove function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end
-- @remove function TeleportTo(worldPos) end
-- @remove function TeleportTo(worldPos) end
--- Creates a Character using CharacterInfo.
-- @realm server
-- @tparam CharacterInfo characterInfo
-- @tparam Vector2 position
-- @tparam string seed
-- @tparam number id
-- @tparam bool isRemotePlayer
-- @tparam bool hasAi
-- @tparam RagdollParams ragdoll
-- @treturn Character
-- @realm server
-- @usage
-- local vsauce = CharacterInfo("human", "VSAUCE HERE")
-- local vsauce = CharacterInfo("human", "custom name")
-- local character = Character.Create(vsauce, Vector2(0, 0), "some random characters")
-- print(character)
function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdollParams) end
function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end
--- Teleports a character to a position.
@@ -25,14 +37,12 @@ function Character.Create(characterInfo, position, seed, id, isRemotePlayer, has
-- @tparam Vector2 position
-- @usage
-- Character.CharacterList[1].TeleportTo(Vector2(0, 0)) -- teleports first created characters to 0, 0
function TeleportTo(position) end
function TeleportTo(worldPos) end
---
-- Character.CharacterList, Table containing all characters.
-- @realm shared
-- @Character Character.CharacterList
-- @table Character.CharacterList
--- Revive
@@ -44,11 +54,6 @@ function Revive(removeAllAfflictions) end
-- @realm shared
function Remove() end
--- TeleportTo
-- @realm shared
-- @tparam Vector2 worldPos
function TeleportTo(worldPos) end
--- SaveInventory
-- @realm shared
-- @tparam Inventory inventory
@@ -634,18 +639,6 @@ function BreakJoints() end
-- @tparam bool log
function Kill(causeOfDeath, causeOfDeathAffliction, isNetworkMessage, log) end
--- Create
-- @realm shared
-- @tparam CharacterInfo characterInfo
-- @tparam Vector2 position
-- @tparam string seed
-- @tparam number id
-- @tparam bool isRemotePlayer
-- @tparam bool hasAi
-- @tparam RagdollParams ragdoll
-- @treturn Character
function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end
--- Create
-- @realm shared
-- @tparam string speciesName