pub struct StubSlice {Show 14 fields
pub classes: Vec<Arc<ClassDef>>,
pub interfaces: Vec<Arc<InterfaceDef>>,
pub traits: Vec<Arc<TraitDef>>,
pub enums: Vec<Arc<EnumDef>>,
pub functions: Vec<Arc<FunctionDef>>,
pub constants: Vec<(Arc<str>, Type)>,
pub file: Option<Arc<str>>,
pub global_vars: Vec<(Arc<str>, Type)>,
pub namespace: Option<Arc<str>>,
pub class_imports: Arc<FxHashMap<Name, Name>>,
pub function_imports: Arc<FxHashMap<Name, Name>>,
pub const_imports: Arc<FxHashMap<Name, Name>>,
pub namespace_blocks: Arc<[NamespaceBlock]>,
pub is_deduped: bool,
}Expand description
A snapshot of all PHP definitions contributed by a single stub file set.
Produced by mir-stubs-gen at code-generation time and deserialized at
runtime to ingest definitions into the salsa db via
MirDatabase::ingest_stub_slice.
Fields§
§classes: Vec<Arc<ClassDef>>§interfaces: Vec<Arc<InterfaceDef>>§traits: Vec<Arc<TraitDef>>§enums: Vec<Arc<EnumDef>>§functions: Vec<Arc<FunctionDef>>§constants: Vec<(Arc<str>, Type)>§file: Option<Arc<str>>Source file this slice was collected from. None for bundled stub slices
that were pre-computed and are not tied to a specific on-disk file.
global_vars: Vec<(Arc<str>, Type)>Types of @var-annotated global variables collected from this file.
Populated by DefinitionCollector; ingested into the salsa db’s
global_vars table by ingest_stub_slice when file is Some.
namespace: Option<Arc<str>>The first namespace declared in this file (e.g. "App\\Service").
Populated by DefinitionCollector; ingested into the salsa db’s
file_namespaces table by ingest_stub_slice when file is Some.
class_imports: Arc<FxHashMap<Name, Name>>use class-like aliases: alias → FQCN. Each use kind has its own map, as in PHP.
function_imports: Arc<FxHashMap<Name, Name>>use function aliases: alias → function FQN.
const_imports: Arc<FxHashMap<Name, Name>>use const aliases: alias → constant FQN.
namespace_blocks: Arc<[NamespaceBlock]>Per-block namespace and imports; populated only when the file declares
two or more namespace blocks, otherwise empty.
is_deduped: boolSet to true after deduplicate_params_in_slice has run on this slice.
ingest_stub_slice skips the clone+re-dedup when this flag is set.