MDL SDK API nvidia_logo_transpbg.gif Up
mi::mdl::DAG_call Class Referenceabstract

A DAG IR call. More...

#include <mdl_generated_dag.h>

Inheritance diagram for mi::mdl::DAG_call:

Classes

struct  Call_argument
 A simple value helper class, a pair of an argument expression and a parameter name. More...
 

Public Member Functions

virtual char const * get_name () const =0
 Get the signature of the called function. More...
 
virtual int get_argument_count () const =0
 Get the number of arguments. More...
 
virtual char const * get_parameter_name (int index) const =0
 Get the name of the parameter corresponding to the argument at position index. More...
 
virtual DAG_node const * get_argument (int index) const =0
 Get the argument at position index. More...
 
virtual DAG_node const * get_argument (char const *name) const =0
 Get the argument for parameter name. More...
 
virtual IDefinition::Semantics get_semantic () const =0
 Get the semantic of the called function if known. More...
 
virtual void set_argument (int index, DAG_node const *arg)=0
 Set the argument expression of a call. More...
 
virtual size_t get_name_hash () const =0
 Get the name hash. More...
 
- Public Member Functions inherited from mi::mdl::DAG_node
virtual Kind get_kind () const =0
 Get the kind of this DAG IR node. More...
 
virtual IType const * get_type () const =0
 Get the type of this DAG IR node. More...
 
virtual size_t get_id () const =0
 Get the unique ID of this DAG IR node. More...
 

Static Public Attributes

static Kind const s_kind = EK_CALL
 The kind of this subclass. More...
 

Additional Inherited Members

- Public Types inherited from mi::mdl::DAG_node
enum  Kind {
  EK_CONSTANT ,
  EK_TEMPORARY ,
  EK_CALL ,
  EK_PARAMETER
}
 The possible kinds of DAG IR nodes. More...
 

Detailed Description

A DAG IR call.

This node represents calls to callable entities inside the DAG Intermediate Representation.

Member Function Documentation

 get_argument() [1/2]

virtual DAG_node const * mi::mdl::DAG_call::get_argument ( char const *  name) const
pure virtual

Get the argument for parameter name.

Parameters
nameThe name of the parameter corresponding to the argument.
Returns
The argument expression or NULL if no argument with given name exists.

 get_argument() [2/2]

virtual DAG_node const * mi::mdl::DAG_call::get_argument ( int  index) const
pure virtual

Get the argument at position index.

Parameters
indexThe index of the argument.
Returns
The argument expression.

 get_argument_count()

virtual int mi::mdl::DAG_call::get_argument_count ( ) const
pure virtual

Get the number of arguments.

Returns
The number of arguments.

 get_name()

virtual char const * mi::mdl::DAG_call::get_name ( ) const
pure virtual

Get the signature of the called function.

Returns
The signature of the function.

 get_name_hash()

virtual size_t mi::mdl::DAG_call::get_name_hash ( ) const
pure virtual

Get the name hash.

 get_parameter_name()

virtual char const * mi::mdl::DAG_call::get_parameter_name ( int  index) const
pure virtual

Get the name of the parameter corresponding to the argument at position index.

Parameters
indexThe index of the argument.
Returns
The name of the parameter.

 get_semantic()

virtual IDefinition::Semantics mi::mdl::DAG_call::get_semantic ( ) const
pure virtual

Get the semantic of the called function if known.

 set_argument()

virtual void mi::mdl::DAG_call::set_argument ( int  index,
DAG_node const *  arg 
)
pure virtual

Set the argument expression of a call.

Parameters
indexthe index of the argument expression to set
argthe new argument

Member Data Documentation

 s_kind

Kind const mi::mdl::DAG_call::s_kind = EK_CALL
static

The kind of this subclass.