diff --git a/screenshot1.png b/screenshot1.png new file mode 100644 index 00000000..8904b558 Binary files /dev/null and b/screenshot1.png differ diff --git a/src/main/scala/com/sksamuel/scapegoat/inspections/AsInstanceOf.scala b/src/main/scala/com/sksamuel/scapegoat/inspections/AsInstanceOf.scala index 743f5c1a..38b85cc0 100644 --- a/src/main/scala/com/sksamuel/scapegoat/inspections/AsInstanceOf.scala +++ b/src/main/scala/com/sksamuel/scapegoat/inspections/AsInstanceOf.scala @@ -1,18 +1,18 @@ package com.sksamuel.scapegoat.inspections -import com.sksamuel.scapegoat.{Levels, Inspection, Reporter} - -import scala.reflect.runtime._ -import scala.reflect.runtime.universe._ +import com.sksamuel.scapegoat.{Inspection, Levels, Reporter} /** @author Stephen Samuel */ class AsInstanceOf extends Inspection { - override def traverser(reporter: Reporter) = new universe.Traverser { - override def traverse(tree: universe.Tree): Unit = { + + import scala.reflect.runtime.universe._ + + override def traverser(reporter: Reporter) = new Traverser { + override def traverse(tree: Tree): Unit = { tree match { - case Select(_, TermName("asInstanceOf")) => + case TypeApply(Select(_, TermName("asInstanceOf")), _) => reporter.warn("Use of asInstanceOf", tree, Levels.Warning, - "asInstanceOf used near " + tree.toString().take(500)) + "asInstanceOf used near " + tree.toString().take(500) + ". Consider using collect.") case DefDef(modifiers, _, _, _, _, _) if modifiers.hasFlag(Flag.SYNTHETIC) => // no further case _ => super.traverse(tree) } diff --git a/src/main/scala/com/sksamuel/scapegoat/inspections/CatchNpe.scala b/src/main/scala/com/sksamuel/scapegoat/inspections/CatchNpe.scala index 92471bc7..6d9b88d6 100644 --- a/src/main/scala/com/sksamuel/scapegoat/inspections/CatchNpe.scala +++ b/src/main/scala/com/sksamuel/scapegoat/inspections/CatchNpe.scala @@ -2,8 +2,6 @@ package com.sksamuel.scapegoat.inspections import com.sksamuel.scapegoat.{Inspection, Levels, Reporter} -import scala.reflect.runtime._ - /** @author Stephen Samuel */ class CatchNpe extends Inspection {