Skip to content

Instantly share code, notes, and snippets.

@xuwei-k
Created November 18, 2024 22:28
Show Gist options
  • Save xuwei-k/48990717a431f4add901b7f9289cab52 to your computer and use it in GitHub Desktop.
Save xuwei-k/48990717a431f4add901b7f9289cab52 to your computer and use it in GitHub Desktop.
package com.thealp.paripi.shared.warts
import org.wartremover.WartTraverser
import org.wartremover.WartUniverse
object OverrideMod extends WartTraverser {
override def apply(u: WartUniverse): u.Traverser =
new u.Traverser(this) {
import q.reflect.*
override def traverseTree(tree: Tree)(owner: Symbol): Unit = {
tree match {
case x: ValDef
if x.symbol.flags.is(Flags.Implicit) && x.symbol.allOverriddenSymbols.nonEmpty && !x.pos.sourceCode
.getOrElse("").contains("override") =>
error(x.pos, "overrideしてるのにoverrideが付与されてない")
case _ =>
}
super.traverseTree(tree)(owner)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment