in recipes/src/main/java/com/uber/lintchecks/recipes/guardrails/JavaOnlyDetector.kt [150:164]
override fun visitMethod(node: UMethod) {
val hasJavaOnly = context.evaluator.findAnnotation(node, JAVA_ONLY) != null
val hasKotlinOnly = context.evaluator.findAnnotation(node, KOTLIN_ONLY) != null
if (hasJavaOnly && hasKotlinOnly) {
context.report(ISSUE, context.getLocation(node.sourcePsi!!),
"Cannot annotate functions with both @KotlinOnly and @JavaOnly")
return
}
if (hasJavaOnly || hasKotlinOnly) {
return
}
val reportData = checkMissingOverride(node, KOTLIN_ONLY, "KotlinOnly")
?: checkMissingOverride(node, JAVA_ONLY, "JavaOnly") ?: return
context.report(ISSUE, context.getLocation(node), reportData.first, reportData.second)
}