A node class used when generating code for a composition to represent published input ports.
For each published input port, this node class has an input port with the same name and data type. In addition, this node class has an event-only trigger output port.
|
VuoCompilerNode * | createReplacementBackingNode (VuoNode *nodeToBack, string backingNodeClassName, VuoCompiler *compiler) |
| Returns a fully specialized node of class backingNodeClassName that will replace the node class of nodeToBack. More...
|
|
VuoType * | getOriginalPortType (VuoPortClass *portClass) |
| Returns this port's type in the (hypothetical) unspecialized published input node class. More...
|
|
string | getOriginalGenericNodeClassName (void) |
| Returns the original node's class name (without any type suffixes). More...
|
|
string | getOriginalGenericNodeClassDescription (void) |
| Returns the original node's class description (i.e., nothing). More...
|
|
VuoNodeSet * | getOriginalGenericNodeSet (void) |
| Returns the original node's node set (i.e., none). More...
|
|
string | createUnspecializedNodeClassName (set< VuoPortClass *> portClassesToUnspecialize) |
| Returns the name for the published input node class that would result if the given ports were changed back to their original types. More...
|
|
string | createSpecializedNodeClassNameWithReplacement (string genericTypeName, string specializedTypeName) |
| Returns the name for the published input node class that would result if the given specialized type were substituted for the generic item type. More...
|
|
void | updateBackingNodeClass (VuoNode *nodeToBack, VuoCompiler *compiler) |
| Updates the implementation for this VuoCompilerSpecializedNodeClass to be consistent with the backing types of nodeToBack, and updates the VuoCompilerNode of nodeToBack to be consistent with that implementation. More...
|
|
bool | isFullySpecialized (void) |
| Returns true if this node class has no unspecialized generic types. More...
|
|
string | getDependencyName (void) |
| If the backing node class exists, this function is performed on the backing node class instead of this node class. More...
|
|
VuoNode * | newNode (string title="", double x=0, double y=0) |
| Creates a substantial base node instance from this node class. More...
|
|
VuoNode * | newNode (VuoNode *nodeToCopyMetadataFrom) |
| Creates a substantial base node instance with its metadata copied from the existing nodeToCopyMetadataFrom . More...
|
|
virtual | ~VuoCompilerNodeClass (void) |
| Destructor. More...
|
|
bool | isSubcomposition (void) |
| Returns true if this node class is a subcomposition (implemented in Vuo language, as opposed to text code). More...
|
|
| VuoBaseDetail (string description, VuoNodeClass *base) |
| Creates a detail class. More...
|
|
VuoNodeClass * | getBase (void) const |
| Returns the detail class instance's base class instance. More...
|
|
void | setBase (VuoNodeClass *base) |
| Sets the detail class instance's base class instance. More...
|
|
virtual | ~VuoCompilerModule (void) |
| Destructor. More...
|
|
VuoCompilerTargetSet | parseTargetSet (json_object *o, string key) |
| Parses the target set value for key in the top level of the JSON object. More...
|
|
VuoCompilerTargetSet::MacVersion | parseMacVersion (string version) |
| Parses a Mac OS version from a string. More...
|
|
VuoCompilerTargetSet | getCompatibleTargets (void) |
| Returns the set of targets (operating system versions) with which this module is compatible. More...
|
|
Module * | getModule (void) |
| Returns this VuoCompilerModule's LLVM module, which other LLVM modules can link to. More...
|
|
VuoModule * | getPseudoBase (void) |
| Returns the (psuedo) base for this (psuedo) compiler detail class. More...
|
|
bool | getPremium (void) |
| Returns a boolean indicating whether this module contains premium content. More...
|
|
void | setPremium (bool premium) |
| Sets the boolean indicating whether this module contains premium content. More...
|
|
bool | isBuiltIn (void) |
| Returns true if this module is one of the built-in modules distributed with Vuo. More...
|
|
void | setBuiltIn (bool builtIn) |
| Sets whether this module is one of the built-in modules distributed with Vuo. More...
|
|
string | getModulePath (void) |
| Returns the file from which the LLVM module was loaded, or an empty string if the module was contained in an archive or generated by the compiler. More...
|
|
|
static VuoNodeClass * | newNodeClass (vector< VuoPublishedPort *> publishedInputPorts) |
| Returns a node class with an input port corresponding to (same name, same type) each of publishedInputPorts, and an event-only trigger output port. More...
|
|
static VuoNodeClass * | newNodeClass (const std::string &nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue, const set< string > &knownModuleKeys=set< string >()) |
| Generates a specalized node class from a generic node class. More...
|
|
static VuoCompilerNodeClass * | getNodeClassForNode (VuoCompilerNodeClass *origNodeClass, VuoCompiler *compiler) |
| Returns the node class to use for instantiating a node within a composition. More...
|
|
static void | replaceGenericTypesWithBacking (string &nodeClassSource) |
| Replaces all occurrences of generic type names in the node class source code with a default actual type name. More...
|
|
static VuoNodeClass * | newNodeClass (string nodeClassName, Module *module) |
| Creates a new substantial VuoNodeClass from the node class definition in the module. More...
|
|
static VuoNodeClass * | newNodeClassWithoutImplementation (VuoNodeClass *baseNodeClass) |
| Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass. More...
|
|
static VuoCompilerModule * | newModule (const string &moduleKey, Module *module, const string &modulePath) |
| Instantiates a VuoCompilerModule (or child class) corresponding to the type of VuoCompilerModule defined in the LLVM module. More...
|
|
static Function * | declareFunctionInModule (Module *module, Function *function) |
| Copies the function's header into the LLVM module, if it's not already there. More...
|
|
|
| VuoCompilerSpecializedNodeClass (string nodeClassName, Module *module) |
| Creates a specialized node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass . More...
|
|
| VuoCompilerSpecializedNodeClass (VuoCompilerSpecializedNodeClass *compilerNodeClass) |
| Creates a new compiler node class and creates a new base VuoNodeClass , both from compilerNodeClass . More...
|
|
| VuoCompilerSpecializedNodeClass (VuoNodeClass *baseNodeClass) |
| Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass. More...
|
|
| VuoCompilerNodeClass (string className, Module *module) |
| Creates a node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass . More...
|
|
| VuoCompilerNodeClass (VuoCompilerNodeClass *compilerNodeClass) |
| Creates a new compiler node class and creates a new base VuoNodeClass , both from compilerNodeClass. More...
|
|
| VuoCompilerNodeClass (VuoNodeClass *baseNodeClass) |
| Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass. More...
|
|
VuoPortClass * | getInputPortClassWithName (string portName) |
| Returns the input port class matching the specified portName , if one exists. More...
|
|
VuoPortClass * | getOutputPortClassWithName (string portName) |
| Returns the output port class matching the specified portName , if one exists. More...
|
|
| VuoCompilerModule (VuoModule *base, Module *module) |
| Creates a VuoCompilerModule associated with the given LLVM module, as a pseudo compiler detail class of the given VuoModule. More...
|
|
string | nameForGlobal (string genericGlobalVarOrFuncName) |
| Returns the mangled name for a function or global variable. More...
|
|
void | renameGlobalVarsAndFuncs (void) |
| Renames the global variables and functions within the LLVM module so that they are unique to this VuoCompilerModule. More...
|
|
static void | parseGenericTypes (json_object *moduleDetails, map< string, string > &defaultSpecializedForGenericTypeName, map< std::string, vector< std::string > > &compatibleSpecializedForGenericTypeName) |
| Parses the "genericTypes" portion of a node class's metadata. More...
|
|
static string | parseString (json_object *o, string key, bool *foundValue=NULL) |
| Parses the string value for key in the top level of the JSON object. More...
|
|
static int | parseInt (json_object *o, string key, bool *foundValue=NULL) |
| Parses the integer value for key in the top level of the JSON object. More...
|
|
static bool | parseBool (json_object *o, string key, bool *foundValue=NULL) |
| Parses the boolean value for key in the top level of the JSON object. More...
|
|
static vector< string > | parseArrayOfStrings (json_object *o, string key) |
| Parses the array-of-strings value for key in the top level of the JSON object. More...
|
|
static string | nameForGlobal (string nameBeforeCompilation, string moduleKey) |
| Returns the mangled name for a function or global variable. More...
|
|
static bool | hasOriginalOrMangledGlobal (string nameBeforeCompilation, Module *module, string moduleKey) |
| Returns true if the module contains a function or global variable with name nameBeforeCompilation or with the corresponding mangled name. More...
|
|
map< string, string > | specializedForGenericTypeName |
| The type name that replaces each generic type name in the original generic node class. More...
|
|
map< string, string > | defaultSpecializedForGenericTypeName |
| If this node class is generic, use these specialized types when creating an instance. More...
|
|
struct json_object * | moduleDetails |
| This module's metadata, found in the argument to VuoModuleMetadata in the module definition. More...
|
|
set< string > | dependencies |
| The dependencies found in this module's metadata. More...
|
|
Module * | module |
| The LLVM module that defines this node class or type. More...
|
|
VuoModule * | base |
| The (pseudo) base for this (pseudo) compiler detail class. More...
|
|
VuoCompilerBitcodeParser * | parser |
| The parser of the LLVM module. More...
|
|
bool | isPremium |
| A boolean indicating whether this module contains premium content. More...
|
|