Target

private data class Target(val className: String, val methodName: String, val params: List<String>?, val phase: Patch.Phase, val tag: String?)

The install call a patch answers to, and — being a data class — "the same install call" is its own equality. A hand-written comparison goes stale the first time a field is added here.

Constructors

Link copied to clipboard
constructor(className: String, methodName: String, params: List<String>?, phase: Patch.Phase, tag: String?)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val tag: String?

Functions

Link copied to clipboard
private fun evicts(live: Patches.Live): Boolean

Whether installing this must first take live off: it is the same install call again (idempotence, strict equality — listOf("*") must not evict what listOf("int") installed) or a neighbor whose behavior would depend on weave order (correctness, signature overlap is enough — a miss there is silent). Two explicit tags exempt both; a null tag is "didn't think about it", not consent.

Link copied to clipboard
fun install(make: () -> PatchHandle): PatchHandle

Weave, under an id Patch mints.