ScoreUpdateMapper.kt (951B) - raw


      1 package me.rhunk.snapenhance.mapper.impl
      2 
      3 import me.rhunk.snapenhance.mapper.AbstractClassMapper
      4 import me.rhunk.snapenhance.mapper.ext.findConstString
      5 import me.rhunk.snapenhance.mapper.ext.getClassName
      6 
      7 class ScoreUpdateMapper : AbstractClassMapper("ScoreUpdate") {
      8     val classReference = classReference("class")
      9 
     10     init {
     11         mapper {
     12             for (classDef in classes) {
     13                 val toStringMethod = classDef.methods.firstOrNull {
     14                     it.name == "toString"
     15                 } ?: continue
     16                 if (classDef.methods.none {
     17                     it.name == "<init>" &&
     18                     it.parameterTypes.size > 4
     19                 }) continue
     20 
     21                 if (toStringMethod.implementation?.findConstString("selectFriendUserScoresNeedToUpdate", contains = true) != true) continue
     22 
     23                 classReference.set(classDef.getClassName())
     24                 return@mapper
     25             }
     26         }
     27     }
     28 }