Responsible for compiling node classes, types, and libraries implemented in C/C++/Objective-C.
Definition at line 20 of file VuoCModuleCompiler.hh.
Public Member Functions | |
~VuoCModuleCompiler (void) | |
Destructor. | |
VuoModuleCompilerResults | compile (dispatch_queue_t llvmQueue, VuoCompilerIssues *issues) |
Compiles the source code to LLVM bitcode that can be loaded as a Vuo node class, type, or library. | |
string | generateHeader (VuoCompilerIssues *issues) |
Returns header file contents for the specialized-generic module described by sourcePath , the path of the generic module's implementation file with the specialized type(s) appended to the file name. | |
void | overrideSourceCode (const string &sourceCode, const string &sourcePath) |
Overrides the source code, using sourceCode instead of the file contents. | |
Friends | |
class | VuoPreprocessorCallbacks |
Additional Inherited Members | |
Static Public Member Functions inherited from VuoModuleCompiler | |
static VuoModuleCompiler * | newModuleCompiler (const string &type, const string &moduleKey, const string &sourcePath, const VuoModuleCompilerSettings &settings, std::function< VuoCompilerType *(const string &)> getVuoType) |
If a VuoModuleCompiler subclass that is able to handle type and sourcePath is registered, creates an instance of that subclass. | |
Protected Types inherited from VuoModuleCompiler | |
typedef VuoModuleCompiler *(* | Factory) (const string &moduleKey, const string &sourcePath, const VuoModuleCompilerSettings &settings) |
A method that creates an instance of a subclass of VuoModuleCompiler. | |
Protected Member Functions inherited from VuoModuleCompiler | |
VuoModuleCompiler (const string &moduleKey, const string &sourcePath, const VuoModuleCompilerSettings &settings) | |
Constructor to be called by derived classes. | |
VuoCompilerType * | lookUpVuoType (const string &typeName) |
Adds the VuoCompilerType with the given name to vuoTypes . | |
Static Protected Member Functions inherited from VuoModuleCompiler | |
static void | registerModuleCompiler (string type, Factory factory) |
Registers a method that creates an instance of a subclass of VuoModuleCompiler. | |
Protected Attributes inherited from VuoModuleCompiler | |
string | moduleKey |
The module key of the module to compile. | |
string | sourcePath |
The path of the primary source file to compile. | |
VuoModuleCompilerSettings | settings |
Settings to use when compiling the module (specific to the type of module compiler). | |
map< string, VuoCompilerType * > | vuoTypes |
Cached results of lookUpVuoType(), stored so they can be used on llvmQueue . | |
VuoCModuleCompiler::~VuoCModuleCompiler | ( | void | ) |
Destructor.
Definition at line 70 of file VuoCModuleCompiler.cc.
|
virtual |
Compiles the source code to LLVM bitcode that can be loaded as a Vuo node class, type, or library.
Implements VuoModuleCompiler.
Definition at line 86 of file VuoCModuleCompiler.cc.
|
virtual |
Returns header file contents for the specialized-generic module described by sourcePath
, the path of the generic module's implementation file with the specialized type(s) appended to the file name.
Example: If sourcePath
is vuo/type/compound/VuoList_VuoInteger.cc
, this function locates the gemeric header file at vuo/type/compound/VuoList.h
and specializes it by replacing VuoGenericType1
with VuoInteger
.
Reimplemented from VuoModuleCompiler.
Definition at line 236 of file VuoCModuleCompiler.cc.
|
virtual |
Overrides the source code, using sourceCode instead of the file contents.
Implements VuoModuleCompiler.
Definition at line 78 of file VuoCModuleCompiler.cc.
|
friend |
Definition at line 65 of file VuoCModuleCompiler.hh.