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.
|
|
VuoType * | getOriginalPortType (VuoPortClass *portClass) |
| Returns this port's type in the (hypothetical) unspecialized published input node class.
|
|
string | getOriginalGenericNodeClassName (void) |
| Returns the original node's class name (without any type suffixes).
|
|
string | getOriginalGenericNodeClassDescription (void) |
| Returns the original node's class description (i.e., nothing).
|
|
VuoNodeSet * | getOriginalGenericNodeSet (void) |
| Returns the original node's node set (i.e., none).
|
|
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.
|
|
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.
|
|
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.
|
|
bool | isFullySpecialized (void) |
| Returns true if this node class has no unspecialized generic types.
|
|
string | getDependencyName (void) |
| If the backing node class exists, this function is performed on the backing node class instead of this node class.
|
|
VuoNode * | newNode (string title="", double x=0, double y=0) |
| Creates a substantial base node instance from this node class.
|
|
VuoNode * | newNode (VuoNode *nodeToCopyMetadataFrom) |
| Creates a substantial base node instance with its metadata copied from the existing nodeToCopyMetadataFrom .
|
|
virtual | ~VuoCompilerNodeClass (void) |
| Destructor.
|
|
bool | isSubcomposition (void) |
| Returns true if this node class is a subcomposition (implemented in Vuo language, as opposed to text code).
|
|
| VuoBaseDetail (string description, VuoNodeClass *base) |
| Creates a VuoNodeClass detail class.
|
|
VuoNodeClass * | getBase (void) const |
| Returns the VuoNodeClass detail class instance's base class instance.
|
|
void | setBase (VuoNodeClass *base) |
| Sets the VuoNodeClass detail class instance's base class instance.
|
|
virtual | ~VuoCompilerModule (void) |
| Destructor.
|
|
VuoCompilerTargetSet | parseTargetSet (json_object *o, string key) |
| Parses the target set value for key in the top level of the JSON object.
|
|
VuoCompilerTargetSet::MacVersion | parseMacVersion (string version) |
| Parses a Mac OS version from a string.
|
|
VuoCompilerTargetSet | getCompatibleTargets (void) |
| Returns the set of targets (operating system versions) with which this module is compatible.
|
|
Module * | getModule (void) |
| Returns this VuoCompilerModule's LLVM module, which other LLVM modules can link to.
|
|
VuoModule * | getPseudoBase (void) |
| Returns the (psuedo) base for this (psuedo) compiler detail class.
|
|
bool | getPremium (void) |
| Returns a boolean indicating whether this module contains premium content.
|
|
void | setPremium (bool premium) |
| Sets the boolean indicating whether this module contains premium content.
|
|
bool | isBuiltIn (void) |
| Returns true if this module is one of the built-in modules distributed with Vuo.
|
|
void | setBuiltIn (bool builtIn) |
| Sets whether this module is one of the built-in modules distributed with Vuo.
|
|
|
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.
|
|
static VuoNodeClass * | newNodeClass (string nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue) |
| Generates a specalized node class from a generic node class.
|
|
static VuoCompilerNodeClass * | getNodeClassForNode (VuoCompilerNodeClass *origNodeClass, VuoCompiler *compiler) |
| Returns the node class to use for instantiating a node within a composition.
|
|
static void | replaceGenericTypesWithBacking (string &nodeClassSource) |
| Replaces all occurrences of generic type names in the node class source code with a default actual type name.
|
|
static VuoNodeClass * | newNodeClass (string nodeClassName, Module *module) |
| Creates a new substantial VuoNodeClass from the node class definition in the module.
|
|
static VuoNodeClass * | newNodeClassWithoutImplementation (VuoNodeClass *baseNodeClass) |
| Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.
|
|
static VuoCompilerModule * | newModule (string moduleKey, Module *module) |
| Instantiates a VuoCompilerModule (or child class) corresponding to the type of VuoCompilerModule defined in the LLVM module.
|
|
static Function * | declareFunctionInModule (Module *module, Function *function) |
| Copies the function's header into the LLVM module, if it's not already there.
|
|