Class: Rigor::Cache::RbsKnownClassNames

Inherits:
RbsCacheProducer show all
Defined in:
lib/rigor/cache/rbs_known_class_names.rb

Overview

Cache producer that materialises the set of every RBS-declared class / module / alias name (top-level prefixed, e.g. ‘“::Math”`) currently loaded into the environment. Marshal- clean — the cache value is a `Set<String>`.

The set lets ‘RbsLoader#class_known?` answer point lookups in O(1) without re-parsing the name on each call, and lets a warm process skip the env walk entirely (the env still has to be built to enumerate decls on cold misses; subsequent processes sharing the Store load the set straight from disk).

Cache descriptor shape is shared with RbsConstantTable via Rigor::Cache::RbsDescriptor.build; a single signature change or rbs gem bump invalidates both producers in lockstep.

Constant Summary collapse

PRODUCER_ID =
"rbs.known_class_names"

Method Summary

Methods inherited from RbsCacheProducer

fetch