kotlinVersionOf

private open fun kotlinVersionOf(cl: ClassLoader): Int

KotlinVersion.CURRENT as seen through cl, packed into one int (major<<16 | minor<<8 | patch); -1 if that loader has no kotlin — reflective, so a no-kotlin game yields -1 instead of a link error. Used for the game's version via the parent.

Packed to an int because P and C are read through DIFFERENT loaders: KotlinVersion implements Comparable, but across loaders they are different classes, so compareTo between them is a ClassCastException.

The byte-wide shifts are kotlin's own packing — KotlinVersion.MAX_COMPONENT_VALUE is 255, so no component can overflow its byte, and the packed values compare in exactly version order.