mummy  1.0.3
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
MummyCsharpGenerator Class Reference

#include <MummyCsharpGenerator.h>

Inheritance diagram for MummyCsharpGenerator:
[legend]
Collaboration diagram for MummyCsharpGenerator:
[legend]

Public Member Functions

 MummyCsharpGenerator ()
virtual ~MummyCsharpGenerator ()
virtual void SetTargetClass (const cable::Class *c)
 Set the current target class.
virtual void CacheExternalHints (const gxsys_stl::string &hintsfile)
virtual void AddTargetInterface (const gxsys_stl::string &iface)
virtual bool HasTargetInterface (const char *iface) const
virtual bool IsKeyword (const char *p)
virtual bool IsReservedMethodName (const gxsys_stl::string &name)
virtual gxsys_stl::string GetFundamentalTypeString (const cable::Type *t)
virtual gxsys_stl::string GetWrappedMethodName (const cable::Method *m)
virtual gxsys_stl::string GetMethodArgumentArraySize (const cable::Class *c, const cable::Method *m, const cable::FunctionType *ft, unsigned int i)
virtual gxsys_stl::string GetMethodSignature (const cable::Class *c, const cable::Method *m)
virtual const char * GetArgName (cable::FunctionType *ftype, unsigned int i)
virtual bool GetIsRefArg (const cable::Type *t)
virtual gxsys_stl::string GetPInvokeTypeString (const cable::Type *t, bool forReturn, bool isArray, bool forDelegate)
virtual gxsys_stl::string GetCSharpTypeString (const cable::Type *t, bool forReturn, bool isArray)
virtual void ClearLookupEntries ()
virtual void AddLookupEntries (const cable::Class *c)
virtual void DumpLookupEntries ()
virtual bool OtherMethodRedefined (const gxsys_stl::string &signature)
virtual bool StaticMethodRedefined (const gxsys_stl::string &signature)
virtual bool VirtualMethodOverridden (const gxsys_stl::string &signature)
virtual bool WrappedMethodExists (const gxsys_stl::string &signature)
virtual bool WrappedEnumExists (const gxsys_stl::string &name)
virtual bool FundamentalTypeIsWrappable (const cable::Type *t)
virtual bool TypeIsWrappable (const cable::Type *t)
virtual bool FunctionTypeIsWrappable (const cable::FunctionType *ft)
virtual bool MethodWrappableAsEvent (const cable::Method *m, const cable::Context::Access &access)
virtual bool MethodIsWrappable (const cable::Method *m, const cable::Context::Access &access)
virtual bool ClassIsWrappable (const cable::Class *c)
virtual const cable::Class * GetWrappableParentClass (const cable::Class *c)
virtual bool IsFactoryMethod (const cable::Class *c, const cable::Method *m)
virtual bool IsDisposalMethod (const cable::Class *c, const cable::Method *m)
virtual bool MethodReturnValueIsCounted (const cable::Class *c, const cable::Method *m)
virtual gxsys_stl::string GetExportLayerFunctionName (const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname)
virtual void EmitCSharpMethodDeclaration (gxsys_ios::ostream &os, const cable::Class *c, const cable::Method *m, bool asProperty, bool useArg0AsReturn, const gxsys_stl::string &accessLevel)
virtual void EmitCSharpDllImportDeclaration (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname, const char *f, bool emitExceptionParams)
virtual void EmitCSharpProperty (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *propGetMethod, const cable::Method *propSetMethod, bool emitExceptionParams)
virtual void EmitCSharpMethodBody (gxsys_ios::ostream &os, unsigned int indent, const cable::Class *c, const cable::Method *m, gxsys_stl::string &f, const char *impliedArg0, bool emitExceptionParams)
virtual void EmitCSharpMethod (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname, const gxsys_stl::string &accessLevel, bool emitExceptionParams)
virtual void EmitCSharpEvent (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &eventName)
virtual void EmitCSharpEnums (gxsys_ios::ostream &os, const cable::Class *c)
virtual void EmitCSharpConstructor (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname, bool emitExceptionParams)
virtual void EmitCSharpRegister (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname, bool emitExceptionParams)
virtual void EmitCSharpDispose (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c, const cable::Method *m, const gxsys_stl::string &mname, const unsigned int eventCount, bool emitExceptionParams)
virtual void EmitCSharpWrapperClassAsStruct (gxsys_ios::ostream &os, const cable::Class *c)
virtual void GatherWrappedMethods (const cable::Class *c, gxsys_stl::vector< cable::Method * > &wrapped_methods, cable::Method *&factoryM, cable::Method *&disposalM, cable::Method *&registerM, cable::Method *&unRegisterM, bool includeParentMethods)
virtual bool ValidateWrappedMethods (const cable::Class *c, gxsys_stl::vector< cable::Method * > &wrapped_methods, cable::Method *&factoryM, cable::Method *&disposalM, cable::Method *&registerM, cable::Method *&unRegisterM)
virtual void BuildPropGetsAndSetsMap (gxsys_stl::vector< cable::Method * > &wrapped_methods, gxsys_stl::map< gxsys_stl::string, gxsys_stl::pair< cable::Method *, cable::Method * > > &wrapped_properties)
virtual void EmitCSharpWrapperClass (gxsys_ios::ostream &os, const char *dllname, const cable::Class *c)
- Public Member Functions inherited from MummyGenerator
 MummyGenerator ()
virtual ~MummyGenerator ()
virtual MummySettingsGetSettings ()
 Get the associated settings object.
virtual void SetSettings (MummySettings *settings)
 Set the associated settings object.
virtual const cable::Class * GetTargetClass ()
 Get the current target class.
virtual
MummyLineOrientedTextFileReader
GetHeaderFileReader (const cable::Class *c)
 Get or create a header file reader. Only uses class 'c' on the first call. Subsequent calls retrieve the same reader instance.
virtual void EmitMummyVersionComments (gxsys_ios::ostream &os, const char *lineCommentString)

Protected Member Functions

virtual bool GenerateWrappers ()

Private Member Functions

 MummyCsharpGenerator (const MummyCsharpGenerator &)
MummyCsharpGeneratoroperator= (const MummyCsharpGenerator &)

Private Attributes

unsigned int CurrentMethodId
unsigned int ClassLineNumber
gxsys_stl::map< const
cable::Method *, unsigned int > 
MethodIdMap
gxsys_stl::string TargetInterface
gxsys_stl::map< const
gxsys_stl::string,
gxsys_stl::string > 
HintsMap

Detailed Description

Definition at line 18 of file MummyCsharpGenerator.h.

Constructor & Destructor Documentation

MummyCsharpGenerator::MummyCsharpGenerator ( )

Definition at line 49 of file MummyCsharpGenerator.cxx.

References ClassLineNumber, and CurrentMethodId.

MummyCsharpGenerator::~MummyCsharpGenerator ( )
virtual

Definition at line 60 of file MummyCsharpGenerator.cxx.

MummyCsharpGenerator::MummyCsharpGenerator ( const MummyCsharpGenerator )
private

Member Function Documentation

void MummyCsharpGenerator::AddLookupEntries ( const cable::Class *  c)
virtual

Definition at line 1498 of file MummyCsharpGenerator.cxx.

References GetMethodSignature(), GetWrappableParentClass(), GetWrappedEnumName(), MethodIsWrappable(), OtherMethods, StaticMethods, VirtualMethods, and WrappedEnums.

Referenced by SetTargetClass().

Here is the call graph for this function:

void MummyCsharpGenerator::AddTargetInterface ( const gxsys_stl::string &  iface)
virtual
void MummyCsharpGenerator::BuildPropGetsAndSetsMap ( gxsys_stl::vector< cable::Method * > &  wrapped_methods,
gxsys_stl::map< gxsys_stl::string, gxsys_stl::pair< cable::Method *, cable::Method * > > &  wrapped_properties 
)
virtual

Definition at line 3935 of file MummyCsharpGenerator.cxx.

References ExtractDerivedName(), MummyGenerator::GetSettings(), MummySettings::GetVerbose(), GetWrappedMethodName(), HasAttribute(), LogError, LogFileLineWarningMsg, LogInfo, me_InternalError, mi_VerboseInfo, and mw_WriteOnlyProperty.

Referenced by MummyCsharpUnitTestGenerator::EmitClass(), and EmitCSharpWrapperClass().

Here is the call graph for this function:

void MummyCsharpGenerator::CacheExternalHints ( const gxsys_stl::string &  hintsfile)
virtual

Definition at line 117 of file MummyCsharpGenerator.cxx.

References MummyLineOrientedTextFileReader::GetLine(), MummyLineOrientedTextFileReader::GetNumberOfLines(), HintsMap, LogFileLineWarningMsg, mw_MultipleHints, and MummyLineOrientedTextFileReader::SetFileName().

Referenced by SetTargetClass().

Here is the call graph for this function:

bool MummyCsharpGenerator::ClassIsWrappable ( const cable::Class *  c)
virtual

Reimplemented from MummyGenerator.

Definition at line 1051 of file MummyCsharpGenerator.cxx.

Referenced by GetWrappableParentClass(), and TypeIsWrappable().

void MummyCsharpGenerator::ClearLookupEntries ( )
virtual
void MummyCsharpGenerator::DumpLookupEntries ( )
virtual
void MummyCsharpGenerator::EmitCSharpConstructor ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname,
bool  emitExceptionParams 
)
virtual
void MummyCsharpGenerator::EmitCSharpDispose ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname,
const unsigned int  eventCount,
bool  emitExceptionParams 
)
virtual

Definition at line 3342 of file MummyCsharpGenerator.cxx.

References ClassLineNumber, Emit(), EmitCSharpDllImportDeclaration(), EmitDocumentationBlock(), EmitIndent(), EmitThrowClonedException(), MummyLineOrientedTextFileReader::GetCommentBlockBefore(), GetExportLayerFunctionName(), MummyGenerator::GetHeaderFileReader(), IsObjectPointer(), and IsVoidPointer().

Referenced by EmitCSharpWrapperClass().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpDllImportDeclaration ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname,
const char *  f,
bool  emitExceptionParams 
)
virtual

Definition at line 1919 of file MummyCsharpGenerator.cxx.

References Emit(), EmitIndent(), GetArgName(), GetMethodArgumentArraySize(), GetPInvokeTypeString(), HasMapToType(), IsObjectPointer(), and RETURN_VALUE.

Referenced by EmitCSharpConstructor(), EmitCSharpDispose(), EmitCSharpMethod(), and EmitCSharpProperty().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpEnums ( gxsys_ios::ostream &  os,
const cable::Class *  c 
)
virtual

Definition at line 3120 of file MummyCsharpGenerator.cxx.

References ClassLineNumber, Emit(), EmitDocumentationBlock(), EmitIndent(), EmitInt(), MummyLineOrientedTextFileReader::GetCommentBlockBefore(), MummyGenerator::GetHeaderFileReader(), GetWrappedEnumName(), LogVerboseInfo, and WrappedEnumExists().

Referenced by EmitCSharpWrapperClass(), and EmitCSharpWrapperClassAsStruct().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpEvent ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  eventName 
)
virtual
void MummyCsharpGenerator::EmitCSharpMethod ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname,
const gxsys_stl::string &  accessLevel,
bool  emitExceptionParams 
)
virtual
void MummyCsharpGenerator::EmitCSharpMethodBody ( gxsys_ios::ostream &  os,
unsigned int  indent,
const cable::Class *  c,
const cable::Method *  m,
gxsys_stl::string &  f,
const char *  impliedArg0,
bool  emitExceptionParams 
)
virtual
void MummyCsharpGenerator::EmitCSharpMethodDeclaration ( gxsys_ios::ostream &  os,
const cable::Class *  c,
const cable::Method *  m,
bool  asProperty,
bool  useArg0AsReturn,
const gxsys_stl::string &  accessLevel 
)
virtual
void MummyCsharpGenerator::EmitCSharpProperty ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  propGetMethod,
const cable::Method *  propSetMethod,
bool  emitExceptionParams 
)
virtual

Definition at line 2551 of file MummyCsharpGenerator.cxx.

References ClassLineNumber, Emit(), EmitCSharpDllImportDeclaration(), EmitCSharpMethodBody(), EmitCSharpMethodDeclaration(), EmitDocumentationBlock(), EmitIndent(), MummyLineOrientedTextFileReader::GetCommentBlockBefore(), GetExportLayerFunctionName(), MummyGenerator::GetHeaderFileReader(), LogError, and me_InternalError.

Referenced by EmitCSharpWrapperClass().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpRegister ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname,
bool  emitExceptionParams 
)
virtual

Definition at line 3335 of file MummyCsharpGenerator.cxx.

References EmitCSharpMethod().

Referenced by EmitCSharpWrapperClass().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpWrapperClass ( gxsys_ios::ostream &  os,
const char *  dllname,
const cable::Class *  c 
)
virtual

Definition at line 4061 of file MummyCsharpGenerator.cxx.

References AddTargetInterface(), BuildPropGetsAndSetsMap(), ClassLineNumber, DumpLookupEntries(), Emit(), EmitCSharpConstructor(), EmitCSharpDispose(), EmitCSharpEnums(), EmitCSharpEvent(), EmitCSharpMethod(), EmitCSharpProperty(), EmitCSharpRegister(), EmitCSharpWrapperClassAsStruct(), EmitDocumentationBlock(), EmitFile(), EmitIndent(), MummyGenerator::EmitMummyVersionComments(), ClassWrappingSettings::exceptionBaseClass, ExtractArraySize(), ExtractImplementsInterface(), ExtractMapToType(), FindNonAbstractPublicDefaultConstructor(), GatherWrappedMethods(), GetArgName(), MummyLineOrientedTextFileReader::GetCommentBlockBefore(), MummySettings::GetDisposalMethod(), GetEventName(), MummySettings::GetExtraCsharpCode(), MummySettings::GetFactoryMethod(), MummyLineOrientedTextFileReader::GetFirstCommentBlock(), GetFullyQualifiedCPlusPlusTypeIdName(), GetFullyQualifiedNameForCPlusPlus(), GetFullyQualifiedNameForCSharp(), MummyGenerator::GetHeaderFileReader(), GetPInvokeTypeString(), GetQualifiedEventName(), MummySettings::GetReferences(), MummyGenerator::GetSettings(), MummySettings::GetUnRegisterMethod(), MummySettings::GetVerbose(), GetWrappableParentClass(), GetWrappedClassName(), GetWrappedClassNameFullyQualified(), IsUtilityClass(), LogError, LogFileLineErrorMsg, LogFileLineWarningMsg, LogInfo, LogWarning, me_InternalError, me_NoClassWrappingSettings, me_NoVirtualMethodsAllowed, MethodWrappableAsEvent(), mi_VerboseInfo, mw_DuplicateGeneratedName, mw_InternalWarning, ClassWrappingSettings::partialClass, ValidateWrappedMethods(), and ClassWrappingSettings::wrappedObjectBase.

Referenced by GenerateWrappers().

Here is the call graph for this function:

void MummyCsharpGenerator::EmitCSharpWrapperClassAsStruct ( gxsys_ios::ostream &  os,
const cable::Class *  c 
)
virtual
bool MummyCsharpGenerator::FunctionTypeIsWrappable ( const cable::FunctionType *  ft)
virtual

Reimplemented from MummyGenerator.

Definition at line 888 of file MummyCsharpGenerator.cxx.

References IsCxxMainStyleParamPair(), and TypeIsWrappable().

Referenced by MethodIsWrappable(), and TypeIsWrappable().

Here is the call graph for this function:

bool MummyCsharpGenerator::FundamentalTypeIsWrappable ( const cable::Type *  t)
virtual

Reimplemented from MummyGenerator.

Definition at line 715 of file MummyCsharpGenerator.cxx.

Referenced by TypeIsWrappable().

void MummyCsharpGenerator::GatherWrappedMethods ( const cable::Class *  c,
gxsys_stl::vector< cable::Method * > &  wrapped_methods,
cable::Method *&  factoryM,
cable::Method *&  disposalM,
cable::Method *&  registerM,
cable::Method *&  unRegisterM,
bool  includeParentMethods 
)
virtual
bool MummyCsharpGenerator::GenerateWrappers ( )
protectedvirtual

Definition at line 66 of file MummyCsharpGenerator.cxx.

References EmitCSharpWrapperClass(), MummyGenerator::GetSettings(), MummyGenerator::GetTargetClass(), MummySettings::GetVerbose(), HintsMap, LogInfo, and mi_VerboseInfo.

Here is the call graph for this function:

const char * MummyCsharpGenerator::GetArgName ( cable::FunctionType *  ftype,
unsigned int  i 
)
virtual

Definition at line 698 of file MummyCsharpGenerator.cxx.

References IsKeyword().

Referenced by EmitCSharpDllImportDeclaration(), EmitCSharpMethodBody(), EmitCSharpMethodDeclaration(), EmitCSharpWrapperClass(), MummyCsharpShadowLayerGenerator::GetArgName(), MummyCsharpUnitTestGenerator::GetArgName(), and MummyCsharpExportLayerGenerator::GetArgName().

Here is the call graph for this function:

gxsys_stl::string MummyCsharpGenerator::GetCSharpTypeString ( const cable::Type *  t,
bool  forReturn,
bool  isArray 
)
virtual

Definition at line 1300 of file MummyCsharpGenerator.cxx.

References EquivalentTypedefNameExists(), GetEnumerationTypeString(), GetFundamentalTypeString(), MummyGenerator::GetTargetClass(), GetWrappedClassNameFullyQualified(), IsChar(), IsCharPointer(), IsObject(), IsVoid(), LogError, and me_InternalError.

Referenced by EmitCSharpMethodBody(), EmitCSharpMethodDeclaration(), EmitCSharpWrapperClassAsStruct(), and GetMethodSignature().

Here is the call graph for this function:

gxsys_stl::string MummyCsharpGenerator::GetExportLayerFunctionName ( const cable::Class *  c,
const cable::Method *  m,
const gxsys_stl::string &  mname 
)
virtual

Definition at line 1690 of file MummyCsharpGenerator.cxx.

References GetFullyQualifiedName(), IsDisposalMethod(), IsFactoryMethod(), LogError, me_InternalError, and MethodIdMap.

Referenced by EmitCSharpConstructor(), EmitCSharpDispose(), EmitCSharpMethod(), EmitCSharpProperty(), and MummyCsharpExportLayerGenerator::GetExportLayerFunctionName().

Here is the call graph for this function:

gxsys_stl::string MummyCsharpGenerator::GetFundamentalTypeString ( const cable::Type *  t)
virtual

Definition at line 301 of file MummyCsharpGenerator.cxx.

References LogError, and me_UnknownFundamentalType.

Referenced by GetCSharpTypeString(), and GetPInvokeTypeString().

bool MummyCsharpGenerator::GetIsRefArg ( const cable::Type *  t)
virtual

Definition at line 1081 of file MummyCsharpGenerator.cxx.

Referenced by EmitCSharpMethodBody().

gxsys_stl::string MummyCsharpGenerator::GetMethodArgumentArraySize ( const cable::Class *  c,
const cable::Method *  m,
const cable::FunctionType *  ft,
unsigned int  i 
)
virtual
gxsys_stl::string MummyCsharpGenerator::GetMethodSignature ( const cable::Class *  c,
const cable::Method *  m 
)
virtual

Definition at line 651 of file MummyCsharpGenerator.cxx.

References Emit(), GetCSharpTypeString(), GetMethodArgumentArraySize(), and GetWrappedMethodName().

Referenced by AddLookupEntries(), EmitCSharpMethodDeclaration(), and GatherWrappedMethods().

Here is the call graph for this function:

gxsys_stl::string MummyCsharpGenerator::GetPInvokeTypeString ( const cable::Type *  t,
bool  forReturn,
bool  isArray,
bool  forDelegate 
)
virtual

Definition at line 1126 of file MummyCsharpGenerator.cxx.

References EquivalentTypedefNameExists(), GetEnumerationTypeString(), GetFundamentalTypeString(), MummyGenerator::GetTargetClass(), GetWrappedClassNameFullyQualified(), IsChar(), IsCharPointer(), IsObject(), IsUtilityClass(), IsVoid(), LogError, and me_InternalError.

Referenced by EmitCSharpDllImportDeclaration(), EmitCSharpMethodBody(), and EmitCSharpWrapperClass().

Here is the call graph for this function:

const cable::Class * MummyCsharpGenerator::GetWrappableParentClass ( const cable::Class *  c)
virtual

Definition at line 1058 of file MummyCsharpGenerator.cxx.

References ClassIsWrappable(), and GetParentClass().

Referenced by AddLookupEntries(), EmitCSharpWrapperClass(), GatherWrappedMethods(), and SetTargetClass().

Here is the call graph for this function:

gxsys_stl::string MummyCsharpGenerator::GetWrappedMethodName ( const cable::Method *  m)
virtual

Definition at line 383 of file MummyCsharpGenerator.cxx.

References IsReservedMethodName(), LogFileLineWarningMsg, and mw_ReservedMethodName.

Referenced by BuildPropGetsAndSetsMap(), EmitCSharpMethodDeclaration(), and GetMethodSignature().

Here is the call graph for this function:

bool MummyCsharpGenerator::HasTargetInterface ( const char *  iface) const
virtual

Definition at line 179 of file MummyCsharpGenerator.cxx.

References TargetInterface.

Referenced by EmitCSharpMethodDeclaration().

bool MummyCsharpGenerator::IsDisposalMethod ( const cable::Class *  c,
const cable::Method *  m 
)
virtual

Definition at line 1643 of file MummyCsharpGenerator.cxx.

References MummySettings::GetDisposalMethod(), and MummyGenerator::GetSettings().

Referenced by GetExportLayerFunctionName().

Here is the call graph for this function:

bool MummyCsharpGenerator::IsFactoryMethod ( const cable::Class *  c,
const cable::Method *  m 
)
virtual

Definition at line 1629 of file MummyCsharpGenerator.cxx.

References MummySettings::GetFactoryMethod(), and MummyGenerator::GetSettings().

Referenced by GetExportLayerFunctionName(), and MethodReturnValueIsCounted().

Here is the call graph for this function:

bool MummyCsharpGenerator::IsKeyword ( const char *  p)
virtual

Definition at line 191 of file MummyCsharpGenerator.cxx.

Referenced by GetArgName().

bool MummyCsharpGenerator::IsReservedMethodName ( const gxsys_stl::string &  name)
virtual

Definition at line 287 of file MummyCsharpGenerator.cxx.

Referenced by GetWrappedMethodName().

bool MummyCsharpGenerator::MethodIsWrappable ( const cable::Method *  m,
const cable::Context::Access &  access 
)
virtual

Reimplemented from MummyGenerator.

Definition at line 940 of file MummyCsharpGenerator.cxx.

References FunctionTypeIsWrappable(), MummyGenerator::GetHeaderFileReader(), MummyGenerator::GetSettings(), MummyGenerator::GetTargetClass(), MummySettings::GetVerbose(), HasAttribute(), MummyLineOrientedTextFileReader::IsLineExcluded(), LogInfo, LogWarning, mi_VerboseInfo, and mw_CouldNotWrap.

Referenced by AddLookupEntries(), and GatherWrappedMethods().

Here is the call graph for this function:

bool MummyCsharpGenerator::MethodReturnValueIsCounted ( const cable::Class *  c,
const cable::Method *  m 
)
virtual

Definition at line 1657 of file MummyCsharpGenerator.cxx.

References MummyGenerator::GetSettings(), HasAttribute(), IsFactoryMethod(), and LogVerboseInfo.

Referenced by EmitCSharpMethodBody().

Here is the call graph for this function:

bool MummyCsharpGenerator::MethodWrappableAsEvent ( const cable::Method *  m,
const cable::Context::Access &  access 
)
virtual

Definition at line 919 of file MummyCsharpGenerator.cxx.

References HasAttribute().

Referenced by EmitCSharpWrapperClass().

Here is the call graph for this function:

MummyCsharpGenerator& MummyCsharpGenerator::operator= ( const MummyCsharpGenerator )
private
bool MummyCsharpGenerator::OtherMethodRedefined ( const gxsys_stl::string &  signature)
virtual

Definition at line 1584 of file MummyCsharpGenerator.cxx.

References OtherMethods.

Referenced by EmitCSharpMethodDeclaration().

void MummyCsharpGenerator::SetTargetClass ( const cable::Class *  c)
virtual

Set the current target class.

Parameters
cClass object

Reimplemented from MummyGenerator.

Definition at line 88 of file MummyCsharpGenerator.cxx.

References AddLookupEntries(), CacheExternalHints(), ClearLookupEntries(), MummyGenerator::GetHeaderFileReader(), MummyGenerator::GetSettings(), and GetWrappableParentClass().

Referenced by MummyApplication::ProcessClass().

Here is the call graph for this function:

bool MummyCsharpGenerator::StaticMethodRedefined ( const gxsys_stl::string &  signature)
virtual

Definition at line 1593 of file MummyCsharpGenerator.cxx.

References StaticMethods.

Referenced by EmitCSharpMethodDeclaration().

bool MummyCsharpGenerator::TypeIsWrappable ( const cable::Type *  t)
virtual

Reimplemented from MummyGenerator.

Definition at line 755 of file MummyCsharpGenerator.cxx.

References ClassIsWrappable(), EquivalentTypedefNameExists(), FunctionTypeIsWrappable(), FundamentalTypeIsWrappable(), and MummyGenerator::GetTargetClass().

Referenced by FunctionTypeIsWrappable().

Here is the call graph for this function:

bool MummyCsharpGenerator::ValidateWrappedMethods ( const cable::Class *  c,
gxsys_stl::vector< cable::Method * > &  wrapped_methods,
cable::Method *&  factoryM,
cable::Method *&  disposalM,
cable::Method *&  registerM,
cable::Method *&  unRegisterM 
)
virtual

Definition at line 3799 of file MummyCsharpGenerator.cxx.

References HasAttribute(), IsVoid(), LogFileLineWarningMsg, mw_DefaultArgumentValuesIgnored, mw_MissingPropGetHint, mw_MissingPropSetHint, mw_PropGetHasArgs, mw_PropGetNotConst, mw_PropGetReturnsVoid, mw_PropSetUnexpectedArgCount, mw_SeriousMissingPropGetHint, and mw_SeriousMissingPropSetHint.

Referenced by EmitCSharpWrapperClass().

Here is the call graph for this function:

bool MummyCsharpGenerator::VirtualMethodOverridden ( const gxsys_stl::string &  signature)
virtual

Definition at line 1602 of file MummyCsharpGenerator.cxx.

References VirtualMethods.

Referenced by EmitCSharpMethodDeclaration().

bool MummyCsharpGenerator::WrappedEnumExists ( const gxsys_stl::string &  name)
virtual

Definition at line 1620 of file MummyCsharpGenerator.cxx.

References WrappedEnums.

Referenced by EmitCSharpEnums().

bool MummyCsharpGenerator::WrappedMethodExists ( const gxsys_stl::string &  signature)
virtual

Definition at line 1611 of file MummyCsharpGenerator.cxx.

References WrappedMethods.

Referenced by GatherWrappedMethods().

Member Data Documentation

unsigned int MummyCsharpGenerator::ClassLineNumber
private
unsigned int MummyCsharpGenerator::CurrentMethodId
private

Definition at line 100 of file MummyCsharpGenerator.h.

Referenced by GatherWrappedMethods(), and MummyCsharpGenerator().

gxsys_stl::map<const gxsys_stl::string, gxsys_stl::string> MummyCsharpGenerator::HintsMap
private
gxsys_stl::map<const cable::Method*, unsigned int> MummyCsharpGenerator::MethodIdMap
private

Definition at line 102 of file MummyCsharpGenerator.h.

Referenced by GatherWrappedMethods(), and GetExportLayerFunctionName().

gxsys_stl::string MummyCsharpGenerator::TargetInterface
private

Definition at line 103 of file MummyCsharpGenerator.h.

Referenced by AddTargetInterface(), and HasTargetInterface().


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