Reports redundant qualifiers (or their parts) on class names, functions, and properties.

A fully qualified name is an unambiguous identifier that specifies which object, function, or property a call refers to. In the contexts where the name can be shortened, the inspection informs on the opportunity and the associated 'Remove redundant qualifier name' quick-fix allows amending the code.

Examples:


  package my.simple.name
  import kotlin.Int.Companion.MAX_VALUE

  class Foo

  fun main() {
      val a = my.simple.name.Foo()    // 'Foo' resides in the declared 'my.simple.name' package, qualifier is redundant
      val b = kotlin.Int.MAX_VALUE    // Can be replaced with 'MAX_VALUE' since it's imported
      val c = kotlin.Double.MAX_VALUE // Can be replaced with 'Double.MAX_VALUE' since built-in types are imported automatically
  }

After the quick-fix is applied:


  package my.simple.name
  import kotlin.Int.Companion.MAX_VALUE

  class Foo

  fun main() {
      val a = Foo()
      val b = MAX_VALUE
      val c = Double.MAX_VALUE
  }