Jump to content

Module:Sandbox/Aidan9382/CodeAnalysis/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
changes
dont generate a category for this
 
Line 1: Line 1:
{{Module rating|beta}}
{{Module rating|beta|nocat=true}}


This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide.
This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide.

Latest revision as of 07:37, 30 October 2023


This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide.

The code of this is mostly lifted from https://github.com/9382/Dump/tree/main/LuaObfuscator, which in turn lifts a lot of code from https://github.com/stravant/LuaMinify.

Usage

[edit]

This module can be required and used from the Debug console, like the following: require("Module:Sandbox/Aidan9382/CodeAnalysis").run(). The module will then log any behaviour it notices. The function can be provided a string argument to specify a target page other than the current page.

This module can also be used via templates using #invoke:, like the following: {{#invoke:Sandbox/Aidan9382/CodeAnalysis|main}}. The module will then produce a wikitable of anything it notes within the code. An argument can be provided to the first positional parameter to specify a certain page to analyse.

Examples

[edit]
Basic code analysis for Module:Sandbox/Aidan9382/CodeAnalysis
Scope Message
Scope starting line 124 i is defined but never referenced
Entire script 9 local variables called _ were defined but never referenced, likely intentionally
Entire script Global variable print was referenced or defined, yet isn't a standard global
Basic code analysis for Module:Wikitext Parsing
Scope Message
Main scope startswith is defined but never referenced
Scope starting line 404 Variable _ is referenced, despite the name implying it is unused
Entire script 3 local variables called _ were defined but never referenced, likely intentionally
Basic code analysis for Module:Banner shell
Scope Message
Entire script 1 local variable called _ was defined but never referenced, likely intentionally