Vuo 2.4.4
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
VuoCModuleCompiler Class Reference

Description

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 VuoModuleCompilernewModuleCompiler (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.
 
VuoCompilerTypelookUpVuoType (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.
 

Constructor & Destructor Documentation

◆ ~VuoCModuleCompiler()

VuoCModuleCompiler::~VuoCModuleCompiler ( void  )

Destructor.

Definition at line 70 of file VuoCModuleCompiler.cc.

Member Function Documentation

◆ compile()

VuoModuleCompilerResults VuoCModuleCompiler::compile ( dispatch_queue_t  llvmQueue,
VuoCompilerIssues issues 
)
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.

◆ generateHeader()

string VuoCModuleCompiler::generateHeader ( VuoCompilerIssues issues)
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.

◆ overrideSourceCode()

void VuoCModuleCompiler::overrideSourceCode ( const string &  sourceCode,
const string &  sourcePath 
)
virtual

Overrides the source code, using sourceCode instead of the file contents.

Implements VuoModuleCompiler.

Definition at line 78 of file VuoCModuleCompiler.cc.

Friends And Related Symbol Documentation

◆ VuoPreprocessorCallbacks

friend class VuoPreprocessorCallbacks
friend

Definition at line 65 of file VuoCModuleCompiler.hh.


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