constructor(
    compartment,
    renames,
    lmrCache,
    {
      rootModule,
      readPowers = defaultReadPowers,
      isBuiltin = nodeIsBuiltin,
      log = fallbackLog,
    } = {}
  ) {
    this.#lmrCache = lmrCache
    this.#readPowers = readPowers
    this.#isBuiltin = isBuiltin
    this.compartment = compartment
    this.renames = renames
    this.#log = log
    this.#rootModule = rootModule
    this.#missingModules = new Set()
    this.#filepaths = new Map()
  }
Sets some properties

@remarks
A class w/ a private constructor is essentially "final" and may only be
instantiated via a
{@link PolicyGeneratorContext.create static factory method} of the same
class. This is intentional, since inheritance is undesirable in this case.
@private
@param {Readonly<CompartmentDescriptor>} compartment The associated
  compartment
@param {Readonly<Record<string, string>>} renames
@param {Readonly<LMRCache>} lmrCache
@param {Readonly<PolicyGeneratorContextOptions<RootModule>>} opts