Vuo
2.4.4
Loading...
Searching...
No Matches
compiler
VuoModuleCompiler.hh
Go to the documentation of this file.
1
10
#pragma once
11
12
#include "
VuoModuleCompilerResults.hh
"
13
#include "
VuoModuleCompilerSettings.hh
"
14
class
VuoCompilerIssues
;
15
class
VuoCompilerType
;
16
20
class
VuoModuleCompiler
21
{
22
public
:
23
static
VuoModuleCompiler
*
newModuleCompiler
(
const
string
&type,
const
string
&
moduleKey
,
const
string
&
sourcePath
,
const
VuoModuleCompilerSettings
&
settings
, std::function<
VuoCompilerType
*(
const
string
&)> getVuoType);
24
virtual
~VuoModuleCompiler
(
void
);
25
32
virtual
VuoModuleCompilerResults
compile
(dispatch_queue_t
llvmQueue
,
VuoCompilerIssues
*issues) = 0;
33
34
virtual
string
generateHeader
(
VuoCompilerIssues
*issues);
35
41
virtual
void
overrideSourceCode
(
const
string
&sourceCode,
const
string
&
sourcePath
) = 0;
42
43
protected
:
47
typedef
VuoModuleCompiler
*(*Factory)(
const
string
&
moduleKey
,
const
string
&
sourcePath
,
const
VuoModuleCompilerSettings
&
settings
);
48
49
static
void
registerModuleCompiler
(
string
type,
Factory
factory);
50
VuoModuleCompiler
(
const
string
&
moduleKey
,
const
string
&
sourcePath
,
const
VuoModuleCompilerSettings
&
settings
);
51
VuoCompilerType
*
lookUpVuoType
(
const
string
&typeName);
52
53
string
moduleKey
;
54
string
sourcePath
;
55
VuoModuleCompilerSettings
settings
;
56
map<string, VuoCompilerType *>
vuoTypes
;
57
58
private
:
59
static
void
loadAllModuleCompilers(
void
);
60
61
static
map<string, Factory> *factories;
62
std::function<
VuoCompilerType
*(
const
string
&)> getVuoType;
63
};
Generated on Thu Nov 9 2023 16:59:29 for Vuo by
1.9.8