Frequently Asked Questions
LegacyLint is a static analysis tool — a linter — for legacy languages: Delphi, Object Pascal, Free Pascal/Lazarus and VB6. It scans your source code against 190+ rules and reports bugs, code smells, security issues, and maintainability problems, along with a quality score you can track over time.
LegacyLint's parser is designed to handle older Delphi syntax (Delphi 7 and 2007) as well as modern Object Pascal features, so it works across both legacy and current codebases.
Yes. LegacyLint flags legacy hazards — AnsiString usage, Variant types, goto, with statements, deprecated units, and global state — that commonly cause problems during a Delphi upgrade or migration. You can baseline the risk and burn it down before and during the migration.
Each scan produces a quality score out of 100, calculated as 100 minus a weighted penalty (errors count 5, warnings 2, and info 1). You can track the score per commit, release, and team, and fail CI builds when quality regresses.
190+ rules across 10 categories, including Maintainability, Security, Reliability, Performance, Style, and language-specific checks for Delphi and VB6. You can browse the full catalog on the Rules page.
By default we upload only snippets (the line containing each issue) to display in the dashboard. If you require strict privacy, use the --privacy high flag: it hashes all file paths and suppresses code snippets, sending only rule IDs and line numbers.
Yes. The CLI works fully offline for local analysis. An internet connection is only required if you want to upload results to the dashboard or check for updates.
You can filter issues in the dashboard today. Suppression via // lint:ignore comments in source code is planned for an upcoming release.