Spicy
Public Member Functions | Public Attributes | List of all members
hilti::context::CachedModule Struct Reference

#include <context.h>

Public Member Functions

 CachedModule (ModuleIndex index, NodeRef node)
 

Public Attributes

ModuleIndex index
 
NodeRef node
 
bool requires_compilation
 
std::optional< std::set< ModuleIndex > > dependencies
 
bool final = false
 

Detailed Description

Caches information about an already processed module. Note that these are "living" objects that keep being updated during AST processing. Only once "final" is set, the information is assumed to correct and no longer changing.

Member Data Documentation

◆ dependencies

std::optional<std::set<ModuleIndex> > hilti::context::CachedModule::dependencies

further modules imported by the processed one

◆ final

bool hilti::context::CachedModule::final = false

once true, one can start relying on the other fields outside of AST processing

◆ index

ModuleIndex hilti::context::CachedModule::index

ID and path of module

◆ node

NodeRef hilti::context::CachedModule::node

module's root AST node

◆ requires_compilation

bool hilti::context::CachedModule::requires_compilation
Initial value:
=
false

true if the module contains code that requires compilation itself (vs. modules that only declare elements, but don't generate produce any code for linking)


The documentation for this struct was generated from the following file: