Skip to main content

populate_codebase

Function populate_codebase 

Source
pub fn populate_codebase(
    codebase: &mut CodebaseMetadata,
    symbol_references: &mut SymbolReferences,
    safe_symbols: AtomSet,
    safe_symbol_members: HashSet<SymbolIdentifier>,
)
Expand description

Populates the codebase metadata, resolving types and inheritance.

This function processes class-likes, function-likes, and constants to:

  • Resolve type signatures (populating TUnion and TAtomic types).
  • Calculate inheritance hierarchies (parent classes, interfaces, traits).
  • Determine method and property origins (declaring vs. appearing).
  • Build descendant maps for efficient lookup.

TODO(azjezz): This function is a performance bottleneck.