Scope

data class Scope(val include: List<String> = listOf(""), val exclude: List<String> = emptyList())

Restricts which contracts are checked, by serial-name prefix (design §7, §9). A type is in scope when it matches any include prefix and no exclude prefix (exclude wins). A sealed/polymorphic subtype (#200) matches an entry that prefixes its bare serial name, its base, or its qualified Base/sub name. The default scope — empty-string include, no excludes — includes everything.

Scope is how a module/package that never crosses the wire is left out of the gate; the exclusion is always explicit config, and applyScope makes the excluded set enumerable, so nothing is ever silently dropped from analysis.

Constructors

Link copied to clipboard
constructor(include: List<String> = listOf(""), exclude: List<String> = emptyList())

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun contains(contract: Contract): Boolean

Whether contract is in scope, matching on its bare name, its base, or its qualified name.

fun contains(serialName: String): Boolean

Whether a contract with this serialName is in scope.