MaskingBridge

interface MaskingBridge

Type-safe gateway across the game-loader ↔ masking-loader boundary. Aggregates every operation that can ONLY run on the masking loader — the Kotlin REPL host (repl.impl.ReplHost) and the remap-cache builder (repl.impl.RemapCacheBuilder) — behind one interface, so the game loader never has to reflect a masking-only class per call. Every method below forwards to one of those two backends; see ReplBridge for the boundary rules and how the single implementation instance is obtained.

The compile handle stays Object because its real type (kotlin.script...ResultWithDiagnostics) exists only on the masking loader; execute returns exec.Outcome or exec.IterEval, which share no common supertype, so it is Object too.

Inheritors

Functions

Link copied to clipboard
abstract fun buildArtifacts(clientTxt: String, secondSource: String, runtimeMcUri: String, outMappings: String, outSymbolsDir: String)
Assemble the remap mappings and reverse-remap runtimeMcUri into a mojmap symbol jar.
Link copied to clipboard
abstract fun buildCompiler(cpFiles: List<File>)
Build the Kotlin compiler state (overlay + createState).
Link copied to clipboard
abstract fun buildForgeArtifacts(joinedTsrg: String, clientTxt: String, runtimeMcUri: String, outMappings: String, outSymbolsDir: String)
Forge Mixed-SRG analog of buildArtifacts: assemble srg_to_official from the MCPConfig joinedTsrg + Mojang mappings, then reverse-remap the Mixed-SRG runtime jar into a mojmap symbol jar.
Link copied to clipboard
abstract fun compile(code: String, cpFiles: List<File>, killIdField: String, evalId: Int): Any
Compile a snippet to an opaque handle.
Link copied to clipboard
abstract fun execute(handle: Any, code: String, out: Capture): Any
Run a compiled handle.
Link copied to clipboard
abstract fun preload(): Boolean
Load the compiler working set.
Link copied to clipboard
abstract fun recordWorkingSet(path: String)
Write the classes the masking loader has defined so far to path, plus a stamp of the kotlin version they were recorded under.
Link copied to clipboard
abstract fun warm()
Compile and run one dummy snippet, warming the whole eval path.