IR Inliner: Add KDocs for InlineFunctionUseSiteChecker.isPermitted

^KT-69172
^KT-69173
diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/IrValidator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/IrValidator.kt
index ae3ab9a..19b5e38 100644
--- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/IrValidator.kt
+++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/IrValidator.kt
@@ -34,6 +34,19 @@
 )
 
 fun interface InlineFunctionUseSiteChecker {
+    /**
+     * Check if the given use site of the inline function is permitted at the current phase of IR validation.
+     *
+     * Example 1: Check use sites after inlining all private functions.
+     *   It is permitted to have only use sites of non-private functions in the whole IR tree. So, for a use site
+     *   of a private inline function we should return `false` if it is met in the IR. For any other use site
+     *   we should return `true` (== permitted).
+     *
+     * Example 2: Check use sites after inlining all functions.
+     *   Normally, no use sites of inline functions should remain in the whole IR tree. So, if we met one we shall
+     *   return `false` (== not permitted). However, there are a few exceptions that are temporarily permitted.
+     *   For example, `inline external` intrinsics in Native (KT-66734).
+     */
     fun isPermitted(inlineFunctionUseSite: IrMemberAccessExpression<IrFunctionSymbol>): Boolean
 }