HLVM API Documentation
#include <Bundle.h>
Inheritance diagram for Bundle:

This class is simply a collection of definitions. Things that can be defined in a bundle include types, global variables, functions, classes, etc. A bundle is the unit of linking and loading. A given compilation unit may define as many bundles as it desires. When a bundle is loaded, all of its definitions become active. Only those things defined in a bundle participate in linking A Bundle's parent is always the AST node. Each Bundle has a name and that name forms a namespace for the definitions within the bundle. Bundles cannot be nested.
Definition at line 103 of file Bundle.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 41 of file Bundle.cpp. |
|
|
Provide support for isa<X> and friends.
Reimplemented from Documentable. Definition at line 138 of file Bundle.h. References hlvm::BundleID, and Node::is(). |
|
|
|
|
|
Definition at line 201 of file Bundle.h. References Bundle::clist. |
|
|
Value Insertion Order Iteration.
Definition at line 200 of file Bundle.h. References Bundle::clist. |
|
|
Definition at line 205 of file Bundle.h. References Bundle::clist. |
|
|
Definition at line 203 of file Bundle.h. References Bundle::clist. |
|
|
Definition at line 202 of file Bundle.h. References Bundle::clist. |
|
|
Definition at line 204 of file Bundle.h. References Bundle::clist. |
|
|
Definition at line 209 of file Bundle.h. References SymbolTable::begin(), and Bundle::ctable. |
|
|
Value Symbol Table Iteration.
Definition at line 208 of file Bundle.h. References SymbolTable::begin(), and Bundle::ctable. |
|
|
Definition at line 213 of file Bundle.h. References Bundle::ctable, and SymbolTable::empty(). |
|
|
Definition at line 211 of file Bundle.h. References Bundle::ctable, and SymbolTable::end(). |
|
|
Definition at line 210 of file Bundle.h. References Bundle::ctable, and SymbolTable::end(). |
|
|
Definition at line 212 of file Bundle.h. References Bundle::ctable, and SymbolTable::size(). |
|
|
Get an existing constant by name or 0 if there is no such constant.
Definition at line 276 of file Bundle.cpp. References Bundle::ctable, and SymbolTable::lookup(). |
|
||||||||||||
|
Get the standard name of one of the primitive types.
Definition at line 169 of file Bundle.cpp. References hlvm::boolTy, hlvm::bufferTy, hlvm::charTy, hlvm::doubleTy, hlvm::f128Ty, hlvm::f32Ty, hlvm::f44Ty, hlvm::f64Ty, hlvm::f80Ty, hlvm::f96Ty, hlvm::floatTy, hlvmDeadCode, hlvm::intTy, hlvm::longTy, hlvm::octetTy, hlvm::qs128Ty, hlvm::qs16Ty, hlvm::qs32Ty, hlvm::qs64Ty, hlvm::qu128Ty, hlvm::qu16Ty, hlvm::qu32Ty, hlvm::qu64Ty, hlvm::r16Ty, hlvm::r32Ty, hlvm::r64Ty, hlvm::r8Ty, hlvm::s128Ty, hlvm::s16Ty, hlvm::s32Ty, hlvm::s64Ty, hlvm::s8Ty, hlvm::shortTy, hlvm::streamTy, hlvm::stringTy, hlvm::textTy, hlvm::u128Ty, hlvm::u16Ty, hlvm::u32Ty, hlvm::u64Ty, hlvm::u8Ty, and hlvm::voidTy. |
|
|
Get one of the intrinsic types by its name.
Definition at line 235 of file Bundle.cpp. References Bundle::getIntrinsicType(), Bundle::getIntrinsicTypesValue(), and hlvm::NoIntrinsicType. |
|
|
Get one of the intrinsic types directly by its identifier.
Definition at line 222 of file Bundle.cpp. References Bundle::getIntrinsicName(), Node::getRoot(), Bundle::getType(), Bundle::name, AST::new_IntrinsicType(), and Type::setIsIntrinsic(). |
|
|
Get the Intrinsic Id from the intrinsic's name.
Definition at line 117 of file Bundle.cpp. References hlvm::boolTy, hlvm::bufferTy, hlvm::charTy, hlvm::doubleTy, hlvm::f128Ty, hlvm::f32Ty, hlvm::f44Ty, hlvm::f64Ty, hlvm::f80Ty, hlvm::f96Ty, hlvm::floatTy, hlvm::intTy, hlvm::longTy, hlvm::NoIntrinsicType, hlvm::octetTy, hlvm::qs128Ty, hlvm::qs16Ty, hlvm::qs32Ty, hlvm::qs64Ty, hlvm::qu128Ty, hlvm::qu16Ty, hlvm::qu32Ty, hlvm::qu64Ty, hlvm::r16Ty, hlvm::r32Ty, hlvm::r64Ty, hlvm::r8Ty, hlvm::s128Ty, hlvm::s16Ty, hlvm::s32Ty, hlvm::s64Ty, hlvm::s8Ty, hlvm::shortTy, hlvm::streamTy, hlvm::stringTy, hlvm::textTy, hlvm::u128Ty, hlvm::u16Ty, hlvm::u32Ty, hlvm::u64Ty, hlvm::u8Ty, and hlvm::voidTy. |
|
|
Definition at line 136 of file Bundle.h. References Bundle::name. |
|
|
Resolve a type name into a Type and allow for forward referencing.
Definition at line 265 of file Bundle.cpp. References Node::getRoot(), Bundle::getType(), SymbolTable::insert(), AST::new_OpaqueType(), and Bundle::unresolvedTypes. |
|
|
Get a standard pointer type to the element type Ty.
Definition at line 244 of file Bundle.cpp. References Type::getName(), Node::getRoot(), Bundle::getType(), hlvmAssert, and AST::new_PointerType(). |
|
|
Return the type of a program, named ProgramType.
Definition at line 92 of file Bundle.cpp. References SignatureType::addParameter(), ast, Bundle::getIntrinsicType(), Bundle::getPointerTo(), Node::getRoot(), Bundle::getType(), hlvmAssert, AST::new_Parameter(), AST::new_SignatureType(), hlvm::s32Ty, Type::setIsIntrinsic(), and hlvm::stringTy. |
|
|
Get an existing type by name or 0 if there is no such type.
Definition at line 255 of file Bundle.cpp. References SymbolTable::lookup(), Bundle::ttable, and Bundle::unresolvedTypes. |
|
|
Reimplemented from Node. Definition at line 44 of file Bundle.cpp. References Bundle::clist_begin(), Bundle::clist_end(), SymbolTable::erase(), hlvmAssert, SymbolTable::lookup(), Bundle::tlist_begin(), Bundle::tlist_end(), and Bundle::unresolvedTypes. |
|
|
Reimplemented from Node. Definition at line 75 of file Bundle.cpp. References SymbolTable::erase(), hlvmAssert, Bundle::tlist, Bundle::tlist_begin(), Bundle::tlist_end(), and Bundle::ttable. |
|
|
Definition at line 144 of file Bundle.h. References Bundle::name. |
|
|
Definition at line 185 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 184 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 189 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 187 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 186 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 188 of file Bundle.h. References Bundle::tlist. |
|
|
Definition at line 193 of file Bundle.h. References SymbolTable::begin(), and Bundle::ttable. |
|
|
Type Symbol Table Iteration.
Definition at line 192 of file Bundle.h. References SymbolTable::begin(), and Bundle::ttable. |
|
|
Definition at line 197 of file Bundle.h. References SymbolTable::empty(), and Bundle::ttable. |
|
|
Definition at line 195 of file Bundle.h. References SymbolTable::end(), and Bundle::ttable. |
|
|
Definition at line 194 of file Bundle.h. References SymbolTable::end(), and Bundle::ttable. |
|
|
Definition at line 196 of file Bundle.h. References SymbolTable::size(), and Bundle::ttable. |
|
|
Reimplemented from Documentable. |
|
|
The list of values in insertion order.
|
|
|
|
|
|
The name for this bundle.
|
|
|
The list of types.
|
|
|
The list of types.
|
|
|
The list of forward referenced types.
|