Vuo
2.3.2
compiler
VuoModuleCompiler.hh
Go to the documentation of this file.
1
10
#pragma once
11
12
#include "
VuoFileUtilities.hh
"
13
class
VuoCompilerIssues
;
14
class
VuoCompilerType
;
15
19
class
VuoModuleCompiler
20
{
21
public
:
22
static
VuoModuleCompiler
*
newModuleCompiler
(
string
type,
const
string
&moduleKey,
VuoFileUtilities::File
*sourceFile);
23
virtual
~
VuoModuleCompiler
(
void
);
24
30
virtual
Module *
compile
(std::function<
VuoCompilerType
*(
const
string
&)> getVuoType, dispatch_queue_t
llvmQueue
,
VuoCompilerIssues
*issues) = 0;
31
37
virtual
void
overrideSourceCode
(
const
string
&sourceCode,
VuoFileUtilities::File
*sourceFile) = 0;
38
39
protected
:
43
typedef
VuoModuleCompiler
*(*Factory)(
const
string
&moduleKey,
VuoFileUtilities::File
*sourceFile);
44
45
static
void
registerModuleCompiler
(
string
type,
Factory
factory);
46
47
private
:
48
static
void
__attribute__((constructor)) init();
49
50
static
map<string, Factory> *factories;
51
};
Generated on Sat Jun 19 2021 10:17:42 for Vuo by
1.9.1