import org.checkerframework.checker.tainting.qual.Untainted class CallsCheck { fun testCall(dirty: String, clean: @Untainted String) { sink(dirty) //warn sink("") sink(cleanMethod()) sink(publicMethod()) //warn sink(publicFinalMethod()) sink(privateDirty(dirty)) //warn sink(clean) } private fun privateDirty(dirty: String): String { return dirty } open fun publicMethod(): String { return "1" } fun publicFinalMethod(): String { return "1" } private fun cleanMethod(): String { return "null" } fun sink(clean: @Untainted String?) {} }