---@deprecated Please use newCalculateSum function instead---@param numbers number[] Array of numbers---@return number Sumfunction calculateSum(numbers) local sum = 0 for _, num in ipairs(numbers) do sum = sum + num end return sumend-- New replacement function---@param numbers number[] Array of numbers---@return number Sumfunction newCalculateSum(numbers) return table.reduce(numbers, function(acc, num) return acc + num end, 0)end
---@deprecated Please use ModernUser class instead---@class OldUser---@field id number---@field name stringlocal OldUser = {}-- New replacement class---@class ModernUser---@field id number---@field name string---@field email string---@field createdAt stringlocal ModernUser = {}
---@class APIResponse---@field success boolean---@field data any---@field message string---@deprecated Please use errorMessage field instead---@field error string
---@class FileManagerlocal FileManager = {}---@deprecated Use readFileSync or readFileAsync instead---@param path string File path---@return string File contentfunction FileManager:loadFile(path) local file = io.open(path, "r") if file then local content = file:read("*a") file:close() return content end return ""end---@param path string File path---@return string File contentfunction FileManager:readFileSync(path) local file = io.open(path, "r") if not file then error("Could not open file: " .. path) end local content = file:read("*a") file:close() return contentend
---@deprecated Only use for legacy compatibility, migrate to new API---@param data table Legacy data format---@return table Converted datafunction convertLegacyData(data) print("WARNING: Using deprecated convertLegacyData function") -- Conversion logic return { id = data.old_id, name = data.old_name, type = "legacy" }end
When deprecated functions are called, the analyzer will show warnings:
local result1 = oldFunction() -- Warning: Function is deprecatedlocal result2 = calculateSum({1, 2, 3}) -- Warning: Please use newCalculateSum function insteadlocal user = OldUser.new() -- Warning: Please use ModernUser class instead
---@deprecated Use processDataV2 for better performancefunction processData(data) -- Old implementation return processDataV2(data) -- Forward to new versionendfunction processDataV2(data) -- New, optimized implementation return optimizedProcess(data)end
---@deprecated Will be removed in v3.0.0function oldAPI() if ENABLE_LEGACY_SUPPORT then return legacyImplementation() else error("oldAPI has been removed. Use newAPI instead.") endend