Module:ClassInfobox

local links = require('Module:Links') local superclass = require('Superclass') local utils = require('Module:Utils')

local categorize = utils.categorize('Class')

local p = {}

p.tag_data = { deprecated = { category = "Deprecated classes"; description = "This class will be phased out and should be avoided while it is still available."; };   notbrowsable = { description = "This class is not visible in documentation for end-users."; };   -- As of February 19, 2017, there are no backend classes. backend = { description = "This class can only be used in game servers and solo games."; };   notCreatable = { category = "Uncreatable classes"; description = "This class cannot be instantiated."; }; }

function p._format_tags(args) local output = '' for tag in args.tags:gmatch('%s*([^,]+)') do       local tag_data = p.tag_data[tag] if tag_data then if tag_data.category then output = output .. "" .. tag .. categorize(tag_data.category) .. "" else output = output .. "" .. tag .. "" end end end output = output .. "" return output end

p.format_tags = utils.make_wrapper_function(p._format_tags)

function p._inheritance_tree(args) if args.class ~= 'Instance' then return superclass._superclass_tree(args) .. categorize("Subclasses of " .. superclass._superclass(args)) end end

p.inheritance_tree = utils.make_wrapper_function(p._inheritance_tree)

return p