불필요한 상위 타입 정규화를 포함하는 super 멤버를 보고합니다.

파생 클래스의 코드는 super 키워드를 사용하는 상위 클래스 함수 및 프로퍼티 접근자 구현을 호출할 수 있습니다. 상속받은 구현이 유래한 상위 타입을 지정하려면 예를 들어 super<Base> 같은 대괄호 내 상위 타입 이름으로 super를 정규화할 수 있습니다. 이 정규화는 종종 불필요하며 생략할 수 있습니다. 코드를 정리하려면 '명시적 상위 타입 정규화 제거' 빠른 수정을 사용하세요.

예:


  open class B {
      open fun foo(){}
  }

  class A : B() {
      override fun foo() {
         super<B>.foo() // <== 'B'가 유일한 상위 타입이므로 불필요
      }
  }

  interface I {
      fun foo() {}
  }

  class C : B(), I {
      override fun foo() {
          super<B>.foo() // <== 여기에서 'B.foo()'와 'I.foo()'를 구분하기 위해 <B> 한정자가 필요합니다
      }
  }

빠른 수정을 적용한 후:


  open class B {
      open fun foo(){}
  }

  class A : B() {
      override fun foo() {
         super.foo() // <== 업데이트됨
      }
  }

  interface I {
      fun foo() {}
  }

  class C : B(), I {
      override fun foo() {
          super<B>.foo()
      }
  }