Spicy
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
hilti::detail::cxx::Unit Class Reference

#include <unit.h>

Public Member Functions

 Unit (std::shared_ptr< Context > context)
 
void setModule (const hilti::Module &m)
 
cxx::ID moduleID () const
 
void setUsesGlobals ()
 
void add (const declaration::IncludeFile &i, const Meta &m=Meta())
 
void add (const declaration::Global &g, const Meta &m=Meta())
 
void add (const declaration::Constant &c, const Meta &m=Meta())
 
void add (const declaration::Type &t, const Meta &m=Meta())
 
void add (const declaration::Function &f, const Meta &m=Meta())
 
void add (const Function &f, const Meta &m=Meta())
 
void add (const std::string &stmt, const Meta &m=Meta())
 
void add (const linker::Join &f)
 
void prioritizeType (const cxx::ID &id)
 
bool hasDeclarationFor (const cxx::ID &id)
 
std::optional< cxx::declaration::TypelookupType (const cxx::ID &id) const
 
void addComment (const std::string &comment)
 
void addInitialization (cxx::Block block)
 
void addPreInitialization (cxx::Block block)
 
Result< Nothingfinalize ()
 
Result< Nothingprint (std::ostream &out) const
 
Result< NothingcreatePrototypes (std::ostream &out)
 
void importDeclarations (const Unit &other)
 
Result< linker::MetaDatalinkerMetaData () const
 
cxx::ID cxxNamespace () const
 
std::shared_ptr< Contextcontext () const
 

Static Public Member Functions

static std::pair< bool, std::optional< linker::MetaData > > readLinkerMetaData (std::istream &input)
 

Protected Member Functions

 Unit (std::shared_ptr< Context > context, cxx::ID module_id)
 
 Unit (std::shared_ptr< Context > context, cxx::ID module_id, const std::string &cxx_code)
 

Friends

class Linker
 

Detailed Description

One C++ code unit.


The documentation for this class was generated from the following files: