23 using GlobalVarList = std::list<std::shared_ptr<GlobalVar>>;
24 using FunctionList = std::list<std::shared_ptr<Function>>;
50 return globalVars_.empty();
54 return globalVars_.size();
96 return functions_.empty();
100 return functions_.size();
130 GlobalVarList globalVars_;
131 FunctionList functions_;
159 constexpr auto parse(std::format_parse_context &ctx) {
163 template <
typename FormatContext>
165 return std::format_to(ctx.out(),
"{}", M.
format());
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
Definition IndirectIterator.h:16
Definition GlobalVar.h:20
function_iterator function_end()
Definition Module.h:87
bool function_empty() const
Definition Module.h:95
size_t function_size() const
Definition Module.h:99
const_global_var_iterator global_var_begin() const
Definition Module.h:37
std::string format() const
size_t global_var_size() const
Definition Module.h:53
bool isWellFormed() const
function_iterator function_begin()
Definition Module.h:79
GlobalVar & addGlobalVar(const_global_var_iterator pos, std::shared_ptr< GlobalVar > G)
const_function_iterator function_end() const
Definition Module.h:91
void removeFunction(const_function_iterator pos)
GlobalVar & prependGlobalVar(std::shared_ptr< GlobalVar > G)
Definition Module.h:59
const_function_iterator function_begin() const
Definition Module.h:83
void removeGlobalVar(const_global_var_iterator pos)
const_global_var_iterator global_var_end() const
Definition Module.h:45
global_var_iterator global_var_end()
Definition Module.h:41
Function & addFunction(const_function_iterator pos, std::shared_ptr< Function > F)
global_var_iterator global_var_begin()
Definition Module.h:33
GlobalVar & appendGlobalVar(std::shared_ptr< GlobalVar > G)
Definition Module.h:63
bool global_var_empty() const
Definition Module.h:49
IndirectIterator< GlobalVarList::iterator, GlobalVar > global_var_iterator
Definition Module.h:27
void removeLastFunction()
Definition Module.h:119
Function & prependFunction(std::shared_ptr< Function > F)
Definition Module.h:105
void removeFirstGlobalVar()
Definition Module.h:69
IndirectIterator< GlobalVarList::const_iterator, const GlobalVar > const_global_var_iterator
Definition Module.h:28
void removeLastGlobalVar()
Definition Module.h:73
IndirectIterator< FunctionList::iterator, Function > function_iterator
Definition Module.h:30
IndirectIterator< FunctionList::const_iterator, const Function > const_function_iterator
Definition Module.h:31
void removeFirstFunction()
Definition Module.h:115
Function & appendFunction(std::shared_ptr< Function > F)
Definition Module.h:109
MINI_LLVM_EXPORT GlobalVar * getGlobalVarByName(Module &M, std::string_view name)
auto functions(Module &M)
Definition Module.h:142
constexpr const char * name(Token::Kind kind)
Definition Token.h:31
auto globalVars(Module &M)
Definition Module.h:134
MINI_LLVM_EXPORT Function * getFunctionByName(Module &M, std::string_view name)
Definition GraphColoringAllocator.h:13