Panda3D
Public Member Functions | Public Attributes

MethodSpecification Class Reference

Inheritance diagram for MethodSpecification:
FunctionSpecification

List of all members.

Public Member Functions

def __init__
def generateConstructorCode
def generateDestructorCode
def generateInheritedMethodCode
def generateMethodCode
def generateStaticCode
def generateUpcastMethodCode
def getFinalName
def isConstructor
def isStatic
def outputCFunctionComment
def outputConstructorBody
def outputConstructorFooter
def outputConstructorHeader
 Constructor Code Generation.
def outputDestructorBody
def outputDestructorFooter
def outputDestructorHeader
 Destructor Code Generation.
def outputInheritedMethodBody
def outputInheritedMethodFooter
def outputInheritedMethodHeader
 Upcast Method Code Generation.
def outputMethodBody
def outputMethodFooter
def outputMethodHeader
 Method Code Generation.
def outputOverloadedCall
def outputStaticBody
def outputStaticFooter
def outputStaticHeader
 Static Method Code Generation.
def outputTypeChecking

Public Attributes

 constructor
 index
 name
 overloaded
 typeDescriptor

Constructor & Destructor Documentation

def __init__ (   self)

Reimplemented from FunctionSpecification.


Member Function Documentation

def generateConstructorCode (   self,
  methodClass,
  file,
  nesting 
)
def generateDestructorCode (   self,
  methodClass,
  file,
  nesting 
)
def generateInheritedMethodCode (   self,
  methodClass,
  parentList,
  file,
  nesting,
  needsDowncast 
)
def generateMethodCode (   self,
  methodClass,
  file,
  nesting 
)
def generateStaticCode (   self,
  methodClass,
  file,
  nesting 
)
def generateUpcastMethodCode (   self,
  methodClass,
  file,
  nesting 
)
def getFinalName (   self) [inherited]
Return the name of the function given that it might be overloaded
If it is overloaded, prepend "overloaded", then append the types of
each argument to make it unique.

So "getChild(int)" becomes "overloaded_getChild_int(int)"
def isConstructor (   self) [inherited]
def isStatic (   self) [inherited]
def outputCFunctionComment (   self,
  file,
  nesting 
) [inherited]
Output a docstring to the file describing the C++ call with type info
Also output the C++ comment from interrogate.
def outputConstructorBody (   self,
  methodClass,
  file,
  nesting 
)
def outputConstructorFooter (   self,
  methodClass,
  file,
  nesting 
)
def outputConstructorHeader (   self,
  methodClass,
  file,
  nesting 
)

Constructor Code Generation.

def outputDestructorBody (   self,
  methodClass,
  file,
  nesting 
)
def outputDestructorFooter (   self,
  methodClass,
  file,
  nesting 
)
def outputDestructorHeader (   self,
  methodClass,
  file,
  nesting 
)

Destructor Code Generation.

def outputInheritedMethodBody (   self,
  methodClass,
  parentList,
  file,
  nesting,
  needsDowncast 
)
def outputInheritedMethodFooter (   self,
  methodClass,
  parentList,
  file,
  nesting,
  needsDowncast 
)
def outputInheritedMethodHeader (   self,
  methodClass,
  parentList,
  file,
  nesting,
  needsDowncast 
)

Upcast Method Code Generation.

def outputMethodBody (   self,
  methodClass,
  file,
  nesting,
  needsDowncast = 1 
)
def outputMethodFooter (   self,
  methodClass,
  file,
  nesting 
)
def outputMethodHeader (   self,
  methodClass,
  file,
  nesting 
)

Method Code Generation.

def outputOverloadedCall (   self,
  file,
  classTypeDesc,
  numArgs 
) [inherited]
Write the function call to call this overloaded method
For example:
  self.overloaded_setPos_ptrNodePath_float_float_float(*_args)
If it is a class (static) method, call the class method
  Class.overloaded_setPos_ptrNodePath_float_float_float(*_args)

Constructors are not treated as static. They are special because
they are not really constructors, they are instance methods that fill
in the this pointer.

These do not get indented because they are not the beginning of the line

If classTypeDesc is None, then this is a global function and should
output code as such

def outputStaticBody (   self,
  methodClass,
  file,
  nesting 
)
def outputStaticFooter (   self,
  methodClass,
  file,
  nesting 
)
def outputStaticHeader (   self,
  methodClass,
  file,
  nesting 
)

Static Method Code Generation.

def outputTypeChecking (   self,
  methodClass,
  args,
  file,
  nesting 
) [inherited]
Output an assert statement to check the type of each arg in this method
This can be turned off with a command line parameter in generatePythonCode
It is valid to pass in None for methodClass if you are not in any methodClass

Member Data Documentation

constructor [inherited]
index [inherited]
name [inherited]
overloaded [inherited]
typeDescriptor [inherited]
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties