compiledScriptClassLoader
internal fun compiledScriptClassLoader(parent: ClassLoader?, files: Map<String, ByteArray>): ClassLoader
Build the stock scripting classloader over our (instrumented, maybe-remapped) bytes, so it keeps the SAME class + resource semantics as the stock scripting loader — only the bytes differ. Crucially the stock loader serves each class's bytes AS A RESOURCE (getResourceAsStream), which kotlin-reflect reads to parse @Metadata; a findClass-only loader silently degrades reflection over script-defined types (::class.members, data-class copy()). The try/catch still falls back to a minimal loader that at least serves class bytes as resources if a LinkageError ever surfaces (e.g. the impl type moved in a future kotlin version — the link is resolved lazily at this call site, so NoClassDefFoundError is catchable here).