Skip to content

Commit

Permalink
fix null input tag
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Oct 20, 2024
1 parent bed7903 commit e9b97c6
Showing 1 changed file with 5 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ abstract class PerInputTagExtension<T : PerInputTagExtension.InputTagExtension>
object SKIP

companion object {
fun getInputTag(cls: TrClass): List<InputTag>? {
if (cls !is ClassInstance) return null
fun getInputTag(cls: TrClass): List<InputTag?> {
if (cls !is ClassInstance) return listOf(null)
// InputTag[] getInputTags()
ClassInstance::class.java.getDeclaredMethod("getInputTags").apply {
isAccessible = true
val arr = (invoke(cls) as Array<InputTag>?) ?: return null
val arr = (invoke(cls) as Array<InputTag?>?) ?: return listOf(null)
return arr.toList()
}
}
Expand Down Expand Up @@ -73,14 +73,12 @@ abstract class PerInputTagExtension<T : PerInputTagExtension.InputTagExtension>

private fun preApplyVisitor(cls: TrClass, next: ClassVisitor): ClassVisitor {
val tags = getInputTag(cls)
return tags?.reduce(next) { ni -> inputTagExtensions[this]!!.preApplyVisitor(cls, ni) }
?: inputTagExtensions[SKIP]!!.preApplyVisitor(cls, next)
return tags.reduce(next) { ni -> inputTagExtensions[this ?: SKIP]!!.preApplyVisitor(cls, ni) }
}

private fun postApplyVisitor(cls: TrClass, next: ClassVisitor): ClassVisitor {
val tags = getInputTag(cls)
return tags?.reduce(next) { ni -> inputTagExtensions[this]!!.postApplyVisitor(cls, ni) }
?: inputTagExtensions[SKIP]!!.postApplyVisitor(cls, next)
return tags.reduce(next) { ni -> inputTagExtensions[this ?: SKIP]!!.postApplyVisitor(cls, ni) }
}

fun insertExtra(tag: InputTag, fs: FileSystem) {
Expand Down

0 comments on commit e9b97c6

Please sign in to comment.