42 VuoCompilerPublishedOutputNodeClass::VuoCompilerPublishedOutputNodeClass(
string nodeClassName, Module *module) :
58 VuoCompilerPublishedOutputNodeClass::VuoCompilerPublishedOutputNodeClass(
VuoNodeClass *baseNodeClass) :
84 VuoNodeClass * VuoCompilerPublishedOutputNodeClass::newNodeClassWithImplementation(
const string &nodeClassName,
85 const vector<string> &portNames,
const vector<VuoType *> &types)
87 Module *
module =
new Module(nodeClassName, getGlobalContext());
104 vector<VuoPort *> modelInputPorts;
105 for (
size_t i = 0; i < portNames.size(); ++i)
108 modelInputPorts.push_back(modelPort->
getBase());
113 modelInputPorts.push_back(gatherPort->
getBase());
115 map<VuoPort *, size_t> indexOfDataParameter;
116 map<VuoPort *, size_t> indexOfEventParameter;
120 nullptr, modelInputPorts, vector<VuoPort *>(),
121 map<VuoPort *, json_object *>(), map<VuoPort *, string>(),
122 map<VuoPort *, string>(), map<VuoPort *, VuoPortClass::EventBlocking>(),
123 indexOfDataParameter, indexOfEventParameter, constantStrings);
125 BasicBlock *block = &(eventFunction->getEntryBlock());
126 ReturnInst::Create(
module->getContext(), block);
131 delete dummyNodeClass;
143 VuoNodeClass * VuoCompilerPublishedOutputNodeClass::newNodeClassWithoutImplementation(
const string &nodeClassName,
144 const vector<string> &portNames,
const vector<VuoType *> &types)
146 vector<VuoPortClass *> inputPortClasses;
147 vector<VuoPortClass *> outputPortClasses;
150 inputPortClasses.push_back(refreshPortClass);
152 for (
size_t i = 0; i < portNames.size(); ++i)
162 inputPortClasses.push_back(inputPortClass->
getBase());
166 inputPortClasses.push_back(gatherPortClass);
168 VuoNodeClass *baseNodeClass =
new VuoNodeClass(nodeClassName, refreshPortClass, inputPortClasses, outputPortClasses);
203 string VuoCompilerPublishedOutputNodeClass::getNodeClassNamePrefix(
void)
211 set<string> VuoCompilerPublishedOutputNodeClass::getReservedPortNames(
void)
214 names.insert(
"refresh");
215 names.insert(
"gather");