Panda3D
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
InterrogateFunction Class Reference

An internal representation of a function. More...

#include "interrogateFunction.h"

Inheritance diagram for InterrogateFunction:
InterrogateComponent

Public Types

typedef std::map< std::string, CPPInstance * > Instances
 

Public Member Functions

 InterrogateFunction (InterrogateModuleDef *def=nullptr)
 
 InterrogateFunction (const InterrogateFunction &copy)
 
FunctionWrapperIndex get_c_wrapper (int n) const
 
TypeIndex get_class () const
 Return the class that owns the method, if is_method() returns true. More...
 
const std::string & get_comment () const
 
const std::string & get_prototype () const
 
FunctionWrapperIndex get_python_wrapper (int n) const
 
const std::string & get_scoped_name () const
 
bool has_comment () const
 
bool has_prototype () const
 
bool has_scoped_name () const
 
void input (std::istream &in)
 Reads the data file as previously formatted by output(). More...
 
bool is_global () const
 Returns true if the function is marked as 'global'. More...
 
bool is_method () const
 Returns true if the function is a class method. More...
 
bool is_operator_typecast () const
 Returns true if the function is a special typecast operator, like operator bool(). More...
 
bool is_unary_op () const
 Returns true if the function is flagged as a special unary operator, like operator -() with no parameters. More...
 
bool is_virtual () const
 Returns true if the function is virtual, for whatever that's worth. More...
 
int number_of_c_wrappers () const
 
int number_of_python_wrappers () const
 
void operator= (const InterrogateFunction &copy)
 
void output (std::ostream &out) const
 Formats the InterrogateFunction data for output to a data file. More...
 
void remap_indices (const IndexRemapper &remap)
 Remaps all internal index numbers according to the indicated map. More...
 
- Public Member Functions inherited from InterrogateComponent
 InterrogateComponent (InterrogateModuleDef *def=nullptr)
 
 InterrogateComponent (const InterrogateComponent &copy)
 
const std::string & get_alt_name (int n) const
 
const char * get_library_name () const
 Returns the library name, if it is known, or NULL if it is not. More...
 
const char * get_module_name () const
 Returns the module name, if it is known, or NULL if it is not. More...
 
const std::string & get_name () const
 
int get_num_alt_names () const
 
bool has_library_name () const
 Returns true if we have a known library name, false if we do not. More...
 
bool has_module_name () const
 Returns true if we have a known module name, false if we do not. More...
 
bool has_name () const
 
void input (std::istream &in)
 Reads the data file as previously formatted by output(). More...
 
void operator= (const InterrogateComponent &copy)
 
void output (std::ostream &out) const
 Formats the component for output to a data file. More...
 

Public Attributes

std::string _expression
 
Instances * _instances
 

Friends

class FunctionRemap
 
class InterfaceMakerC
 
class InterfaceMakerPythonNative
 
class InterfaceMakerPythonSimple
 
class InterrogateBuilder
 

Detailed Description

An internal representation of a function.

Definition at line 30 of file interrogateFunction.h.

Member Function Documentation

◆ get_class()

TypeIndex InterrogateFunction::get_class ( ) const
inline

Return the class that owns the method, if is_method() returns true.

Definition at line 61 of file interrogateFunction.I.

◆ input()

void InterrogateFunction::input ( std::istream &  in)

Reads the data file as previously formatted by output().

Definition at line 76 of file interrogateFunction.cxx.

References idf_input_string(), idf_input_vector(), and InterrogateComponent::input().

◆ is_global()

bool InterrogateFunction::is_global ( ) const
inline

Returns true if the function is marked as 'global'.

This means only that it should appear in the global function list.

Definition at line 19 of file interrogateFunction.I.

◆ is_method()

bool InterrogateFunction::is_method ( ) const
inline

Returns true if the function is a class method.

Definition at line 35 of file interrogateFunction.I.

◆ is_operator_typecast()

bool InterrogateFunction::is_operator_typecast ( ) const
inline

Returns true if the function is a special typecast operator, like operator bool().

Definition at line 53 of file interrogateFunction.I.

◆ is_unary_op()

bool InterrogateFunction::is_unary_op ( ) const
inline

Returns true if the function is flagged as a special unary operator, like operator -() with no parameters.

Definition at line 44 of file interrogateFunction.I.

◆ is_virtual()

bool InterrogateFunction::is_virtual ( ) const
inline

Returns true if the function is virtual, for whatever that's worth.

Definition at line 27 of file interrogateFunction.I.

◆ output()

void InterrogateFunction::output ( std::ostream &  out) const

Formats the InterrogateFunction data for output to a data file.

Definition at line 61 of file interrogateFunction.cxx.

References idf_output_string(), idf_output_vector(), and InterrogateComponent::output().

◆ remap_indices()

void InterrogateFunction::remap_indices ( const IndexRemapper remap)

Remaps all internal index numbers according to the indicated map.

This called from InterrogateDatabase::remap_indices().

Definition at line 91 of file interrogateFunction.cxx.

References IndexRemapper::map_from().


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