2005/5/9

     
 

class ClazzMethodInfo

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::lang::dmi::ClazzMethodInfo Class Reference

#include <ClazzInfo.h>

List of all members.


Detailed Description

contains information of a method API: ACDK

Author:
Roger Rene Kommer
Version:
Revision
1.61
Date:
Date
2005/04/18 14:22:27


Public Member Functions

int getMethodSignatureHashValue () const
 returns a hash value of the method signature with - flags (except access right flags) - name of method - argument flags and types

int getArgumentCount () const
 return the number of expected arguments of this method

int getExceptionsCount () const
 returns the number of declared method throws exceptions

bool equals (const ClazzMethodInfo *other, int compareflags) const
 check if two methods are equal

bool equalsName (IN(acdk::lang::RString) n) const
bool equalsAltName (IN(acdk::lang::RString) n) const
int getAltNameHashCode () const
void _calcAltlabelHashCode () const
bool isVirtual (const ClazzInfo *clazz) const
 return if this method is virtual either if this method flags has MiMiVirtual or if the same method signature in base classes are virtual.

bool isVirtual () const
void toTypeString (StringBuffer &sb, const ClazzInfo *clazz, int formatflags) const
 render as ACDK source

RString toTypeString (const ClazzInfo *clazz, int formatflags) const
RString toTypeString (int formatflags=TpFtFormatStandard) const
void dispose ()
 dispose this structure and owning Delete ClazzInfo if flags has MiDelete

ClazzMethodInfo * clone (bool deep=true)
 Make a dynamic clone of this structor.

void addArgument (const ClazzMethodArgInfo *ai)
 add argument to this method.

void addThrowable (const ClazzInfo *ex)
 add throwable spec to this method.

int _calcMethodSignatureHashValue () const
void _resolveParents (const ClazzInfo *ci) const
const NamedScopedParentMetaInfo * getMetaInfo () const
NamedScopedParentMetaInfo * getMetaInfo ()

Static Public Member Functions

void DefaultDispatchThrowableFunc (IN(::acdk::lang::RThrowable) ex)
void throwMethodNotFound (const ClazzInfo *clazz, IN(acdk::lang::RString) fname, int flags, int formatFlags)
int _calcHashValue (::acdk::lang::dmi::ClazzMethodArgInfo **args)

Public Attributes

int flags
void * attributeRes
const char * name
 method name

int nameHashCode
const char * ns
const NamedScopedMetaInfo * _scopeParent
const NamedScopedMetaInfo * _nextScopeSibling
const ClazzInfo * returnType
const char * altlabel
 alternative method name

int altlabelHashCode
ClazzMethodArgInfo ** methodArgs
 list of arguments from the left to the right

int argumentCount
ClazzInfo ** exceptions
 the exceptions the method may throws

DynamicDispatchFunction dispatch
 dispatching function

DispatchThrowableFunc dispatchThrowable
 points to a method, which dispatch the exception orginated by this method, which means throws best matching Exception.

int _methodSignatureHashValue
 calculate the hash value of this method for fast dispatching don't use this value directly, but use the getMethodSignatureHashValue() function


Member Function Documentation

void acdk::lang::dmi::ClazzMethodInfo::_calcAltlabelHashCode (   )  const
 

int acdk::lang::dmi::ClazzMethodInfo::_calcHashValue (  ::acdk::lang::dmi::ClazzMethodArgInfo **  args  )  [static]
 

int acdk::lang::dmi::ClazzMethodInfo::_calcMethodSignatureHashValue (   )  const
 

void acdk::lang::dmi::ClazzMethodInfo::_resolveParents (  const ClazzInfo *  ci  )  const
 

void acdk::lang::dmi::ClazzMethodInfo::addArgument (  const ClazzMethodArgInfo *  ai  ) 
 

add argument to this method.

Only valid if this method is dynamic

void acdk::lang::dmi::ClazzMethodInfo::addThrowable (  const ClazzInfo *  ex  ) 
 

add throwable spec to this method.

Only valid if this method is dynamic

ClazzMethodInfo* acdk::lang::dmi::ClazzMethodInfo::clone (  bool  deep = true  ) 
 

Make a dynamic clone of this structor.

Parameters:
deep if true make also a clone of child structs

void acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc (  IN(::acdk::lang::RThrowable)  ex  )  [static]
 

void acdk::lang::dmi::ClazzMethodInfo::dispose (   ) 
 

dispose this structure and owning Delete ClazzInfo if flags has MiDelete

bool acdk::lang::dmi::ClazzMethodInfo::equals (  const ClazzMethodInfo *  other,
int  compareflags
)  const
 

check if two methods are equal

Parameters:
compareflags refer to ClazzMethodCompareFlags for possible flags

bool acdk::lang::dmi::ClazzMethodInfo::equalsAltName (  IN(acdk::lang::RString)  n  )  const [inline]
 

bool acdk::lang::dmi::ClazzMethodInfo::equalsName (  IN(acdk::lang::RString)  n  )  const [inline]
 

int acdk::lang::dmi::ClazzMethodInfo::getAltNameHashCode (   )  const [inline]
 

int acdk::lang::dmi::ClazzMethodInfo::getArgumentCount (   )  const
 

return the number of expected arguments of this method

int acdk::lang::dmi::ClazzMethodInfo::getExceptionsCount (   )  const
 

returns the number of declared method throws exceptions

NamedScopedParentMetaInfo* acdk::lang::dmi::ClazzMethodInfo::getMetaInfo (   )  [inline]
 

const NamedScopedParentMetaInfo* acdk::lang::dmi::ClazzMethodInfo::getMetaInfo (   )  const [inline]
 

int acdk::lang::dmi::ClazzMethodInfo::getMethodSignatureHashValue (   )  const [inline]
 

returns a hash value of the method signature with - flags (except access right flags) - name of method - argument flags and types

bool acdk::lang::dmi::ClazzMethodInfo::isVirtual (   )  const [inline]
 

bool acdk::lang::dmi::ClazzMethodInfo::isVirtual (  const ClazzInfo *  clazz  )  const
 

return if this method is virtual either if this method flags has MiMiVirtual or if the same method signature in base classes are virtual.

Parameters:
clazz the class owns this method

void acdk::lang::dmi::ClazzMethodInfo::throwMethodNotFound (  const ClazzInfo *  clazz,
IN(acdk::lang::RString)  fname,
int  flags,
int  formatFlags
)  [static]
 

RString acdk::lang::dmi::ClazzMethodInfo::toTypeString (  int  formatflags = TpFtFormatStandard  )  const
 

RString acdk::lang::dmi::ClazzMethodInfo::toTypeString (  const ClazzInfo *  clazz,
int  formatflags
)  const
 

void acdk::lang::dmi::ClazzMethodInfo::toTypeString (  StringBuffer &  sb,
const ClazzInfo *  clazz,
int  formatflags
)  const
 

render as ACDK source

Parameters:
sb where to append
clazz. if clazz != 0 void ClassName::FuncName(Param1 p) throw(Exception) will be printed. otherwise without ClassName


Member Data Documentation

int acdk::lang::dmi::ClazzMethodInfo::_methodSignatureHashValue
 

calculate the hash value of this method for fast dispatching don't use this value directly, but use the getMethodSignatureHashValue() function

const NamedScopedMetaInfo* acdk::lang::dmi::ClazzMethodInfo::_nextScopeSibling [mutable]
 

const NamedScopedMetaInfo* acdk::lang::dmi::ClazzMethodInfo::_scopeParent [mutable]
 

const char* acdk::lang::dmi::ClazzMethodInfo::altlabel
 

alternative method name

int acdk::lang::dmi::ClazzMethodInfo::altlabelHashCode
 

int acdk::lang::dmi::ClazzMethodInfo::argumentCount
 

void* acdk::lang::dmi::ClazzMethodInfo::attributeRes
 

See also:
acdk::lang::dmi::AttributesRes

DynamicDispatchFunction acdk::lang::dmi::ClazzMethodInfo::dispatch
 

dispatching function

DispatchThrowableFunc acdk::lang::dmi::ClazzMethodInfo::dispatchThrowable
 

points to a method, which dispatch the exception orginated by this method, which means throws best matching Exception.

Method always throws an exception. Used in case a scripting implementator trows an untyped exception this can mapped to a known type.

ClazzInfo** acdk::lang::dmi::ClazzMethodInfo::exceptions
 

the exceptions the method may throws

int acdk::lang::dmi::ClazzMethodInfo::flags
 

See also:
acdk::lang::dmi::MetaInfoFlags

ClazzMethodArgInfo** acdk::lang::dmi::ClazzMethodInfo::methodArgs
 

list of arguments from the left to the right

const char* acdk::lang::dmi::ClazzMethodInfo::name
 

method name

int acdk::lang::dmi::ClazzMethodInfo::nameHashCode
 

const char* acdk::lang::dmi::ClazzMethodInfo::ns
 

const ClazzInfo* acdk::lang::dmi::ClazzMethodInfo::returnType