Skip to content
vic

wartremover/wartremover

Flexible Scala code linting tool

wartremover/wartremover.json
{
"createdAt": "2013-01-05T11:29:26Z",
"defaultBranch": "master",
"description": "Flexible Scala code linting tool",
"fullName": "wartremover/wartremover",
"homepage": "https://www.wartremover.org/",
"language": "Scala",
"name": "wartremover",
"pushedAt": "2025-11-27T02:07:01Z",
"stargazersCount": 1104,
"topics": [
"compiler-plugin",
"linter",
"macros",
"scala"
],
"updatedAt": "2025-11-27T02:07:05Z",
"url": "https://github.com/wartremover/wartremover"
}

scaladoc Maven Central

WartRemover is a flexible Scala code linting tool.

Documentation for Wartremover is available here.

It’s very useful to get the tree expanded by the Scala compiler, rather than the original source. Adding the -Xprint:typer flag to the Scala compiler will show code like the following:

// println("Hello world")
package $line4 {
object $read extends scala.AnyRef {
def <init>(): $line4.$read.type = {
$read.super.<init>();
()
};
object $iw extends scala.AnyRef {
def <init>(): type = {
$iw.super.<init>();
()
};
object $iw extends scala.AnyRef {
def <init>(): type = {
$iw.super.<init>();
()
};
private[this] val res1: Unit = scala.this.Predef.println("Hello world");
<stable> <accessor> def res1: Unit = $iw.this.res1
}
}
}
}

Adding the generated code to an issue is very useful for debugging.

The Apache Software License, Version 2.0