# asIScriptFunction Class Reference

The interface for a script function description.

List of all members.

## Public Member Functions
Miscellaneous
virtual asIScriptEngine * | GetEngine () const =0
| Returns a pointer to the script engine.
virtual int | AddRef ()=0
| Increases the reference counter.
virtual int | Release ()=0
| Decrease reference counter.
virtual int | GetId () const =0
| Returns the id of the function.
virtual const char * | GetModuleName () const =0
| Returns the name of the module where the function was implemented.
virtual const char * | GetScriptSectionName () const =0
| Returns the name of the script section where the function was implemented.
virtual const char * | GetConfigGroup () const =0
| Returns the name of the config group in which the function was registered.
Function info
virtual asIObjectType * | GetObjectType () const =0
| Returns the object type for class or interface method.
virtual const char * | GetObjectName () const =0
| Returns the name of the object for class or interface methods.
virtual const char * | GetName () const =0
| Returns the name of the function or method.
virtual const char * | GetDeclaration (bool includeObjectName=true) const =0
| Returns the function declaration.
virtual bool | IsClassMethod () const =0
| Returns true if it is a class method.
virtual bool | IsInterfaceMethod () const =0
| Returns true if it is an interface method.
virtual bool | IsReadOnly () const =0
| Returns true if the class method is read-only.
Parameter and return types
virtual int | GetParamCount () const =0
| Returns the number of parameters for this function.
virtual int | GetParamTypeId (int index, asDWORD *flags=0) const =0
| Returns the type id of the specified parameter.
virtual int | GetReturnTypeId () const =0
| Returns the type id of the return type.
JIT compilation
virtual asDWORD * | GetByteCode (asUINT *length=0)=0
| Returns the byte code buffer and length.

## Member Function Documentation

virtual int asIScriptFunction::AddRef | ( |  | ) | `[pure virtual]`

Returns:
  The number of references to this object.

Call this method when storing an additional reference to the object.

virtual asDWORD* asIScriptFunction::GetByteCode | ( | asUINT * | length = `0` | ) | `[pure virtual]`

Parameters:

  `[out]` | length | The length of the byte code buffer in DWORDs

Returns:
  A pointer to the byte code buffer, or 0 if this is not a script function.

This function is used by the asIJITCompiler to obtain the byte code buffer for building the native machine code representation.

virtual const char* asIScriptFunction::GetConfigGroup | ( |  | ) | const`[pure virtual]`

Returns:
  The name of the config group, or null if not in any group.

virtual const char* asIScriptFunction::GetDeclaration | ( | bool | includeObjectName = `true` | ) | const`[pure virtual]`

Parameters:

  `[in]` | includeObjectName | Indicate whether the object name should be prepended to the function name

Returns:
  A null terminated string with the function declaration.

virtual asIScriptEngine* asIScriptFunction::GetEngine | ( |  | ) | const`[pure virtual]`

Returns:
  A pointer to the engine.

virtual int asIScriptFunction::GetId | ( |  | ) | const`[pure virtual]`

Returns:
  The id of the function

virtual const char* asIScriptFunction::GetModuleName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the module name.

virtual const char* asIScriptFunction::GetName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the name of the function.

virtual const char* asIScriptFunction::GetObjectName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the name of the object type if this a method.

virtual asIObjectType* asIScriptFunction::GetObjectType | ( |  | ) | const`[pure virtual]`

Returns:
  A pointer to the object type interface if this is a method.

This does not increase the reference count of the returned object type.

virtual int asIScriptFunction::GetParamCount | ( |  | ) | const`[pure virtual]`

Returns:
  The number of parameters.

virtual int asIScriptFunction::GetParamTypeId | ( | int | index,
|  | asDWORD * | flags = `0` |
| ) |  |  | const`[pure virtual]`

Parameters:

  `[in]` | index | The zero based parameter index.
  `[out]` | flags | A combination of asETypeModifiers.

Returns:
  A negative value on error, or the type id of the specified parameter.

Return values:

  | asINVALID_ARG | The index is out of bounds.

virtual int asIScriptFunction::GetReturnTypeId | ( |  | ) | const`[pure virtual]`

Returns:
  The type id of the return type.

virtual const char* asIScriptFunction::GetScriptSectionName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the script section name where the function was implemented.

virtual bool asIScriptFunction::IsClassMethod | ( |  | ) | const`[pure virtual]`

Returns:
  True if this a class method.

virtual bool asIScriptFunction::IsInterfaceMethod | ( |  | ) | const`[pure virtual]`

Returns:
  True if this is an interface method.

virtual bool asIScriptFunction::IsReadOnly | ( |  | ) | const`[pure virtual]`

Returns:
  True if the class method is read-only

virtual int asIScriptFunction::Release | ( |  | ) | `[pure virtual]`

Returns:
  The number of references to this object.

Call this method when you will no longer use the references that you own.

The documentation for this class was generated from the following file:

- angelscript.h