override fun process()

in ide-diff-builder/src/main/java/org/jetbrains/ide/diff/builder/api/DeprecatedProcessor.kt [20:44]


  override fun process(
    oldClass: ClassFile?,
    oldMember: ClassFileMember?,
    newClass: ClassFile?,
    newMember: ClassFileMember?,
    oldResolver: Resolver,
    newResolver: Resolver
  ) {
    val oldDeprecation = oldMember?.deprecationInfo
    val newDeprecation = newMember?.deprecationInfo

    when {
      oldDeprecation != null && newDeprecation != null && oldDeprecation != newDeprecation && oldMember.isAccessible -> {
        //API deprecation status has been updated (either 'forRemoval' or 'version' has been updated).
        unmarkedDeprecated += oldMember
        markedDeprecated += MarkedDeprecated(newMember, newDeprecation.forRemoval, newDeprecation.untilVersion)
      }
      oldDeprecation == null && newDeprecation != null && newMember.isAccessible -> {
        markedDeprecated += MarkedDeprecated(newMember, newDeprecation.forRemoval, newDeprecation.untilVersion)
      }
      oldDeprecation != null && newDeprecation == null && oldMember.isAccessible -> {
        unmarkedDeprecated += oldMember
      }
    }
  }