From 1c1a6d7dbef7006050c0ff8351a29d7daf390efc Mon Sep 17 00:00:00 2001 From: dkf Date: Sun, 1 Jun 2008 00:33:04 +0000 Subject: More patches to make stub generation work. --- ChangeLog | 3 + generic/tclOODecls.h | 167 +++++++++++++++++++++++++++++++++++------------- generic/tclOOIntDecls.h | 97 ++++++++++++++++++++-------- generic/tclOOStubInit.c | 54 ++++++++-------- generic/tclOOStubLib.c | 12 +--- 5 files changed, 224 insertions(+), 109 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4decb4d..fc8f1aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ * generic/tclOO.decls, unix/Makefile.in (genstubs): Make generation of stub tables correct. + * generic/tclOO{Decls.h,IntDecls.h,StubInit.c,StubLib.c}: Fixes to + make the generation work correctly, removing subtle differences + between output of different versions of stub generator. 2008-06-01 Daniel Steffen diff --git a/generic/tclOODecls.h b/generic/tclOODecls.h index 17e140c..d697245 100644 --- a/generic/tclOODecls.h +++ b/generic/tclOODecls.h @@ -1,123 +1,200 @@ /* - * $Id: tclOODecls.h,v 1.2 2008/05/31 23:35:27 das Exp $ + * $Id: tclOODecls.h,v 1.3 2008/06/01 00:33:05 dkf Exp $ * * This file is (mostly) automatically generated from tclOO.decls. */ #if defined(USE_TCLOO_STUBS) -extern const char *TclOOInitializeStubs( - Tcl_Interp *, const char *version, int epoch, int revision); -#define Tcl_OOInitStubs(interp) TclOOInitializeStubs( \ - interp, TCLOO_VERSION, TCLOO_STUBS_EPOCH, TCLOO_STUBS_REVISION) +extern const char *TclOOInitializeStubs(Tcl_Interp *, const char *version); +#define Tcl_OOInitStubs(interp) TclOOInitializeStubs((interp),TCLOO_VERSION) #else -#define Tcl_OOInitStubs(interp) Tcl_PkgRequire(interp, "TclOO", TCLOO_VERSION) +#define Tcl_OOInitStubs(interp) Tcl_PkgRequire((interp),"TclOO",TCLOO_VERSION) #endif /* !BEGIN!: Do not edit below this line. */ -#define TCLOO_STUBS_EPOCH 0 -#define TCLOO_STUBS_REVISION 44 - -#if !defined(USE_TCLOO_STUBS) - /* * Exported function declarations: */ +#ifndef Tcl_CopyObjectInstance_TCL_DECLARED +#define Tcl_CopyObjectInstance_TCL_DECLARED /* 0 */ -TCLOOAPI Tcl_Object Tcl_CopyObjectInstance (Tcl_Interp * interp, +EXTERN Tcl_Object Tcl_CopyObjectInstance (Tcl_Interp * interp, Tcl_Object sourceObject, const char * targetName, const char * targetNamespaceName); +#endif +#ifndef Tcl_GetClassAsObject_TCL_DECLARED +#define Tcl_GetClassAsObject_TCL_DECLARED /* 1 */ -TCLOOAPI Tcl_Object Tcl_GetClassAsObject (Tcl_Class clazz); +EXTERN Tcl_Object Tcl_GetClassAsObject (Tcl_Class clazz); +#endif +#ifndef Tcl_GetObjectAsClass_TCL_DECLARED +#define Tcl_GetObjectAsClass_TCL_DECLARED /* 2 */ -TCLOOAPI Tcl_Class Tcl_GetObjectAsClass (Tcl_Object object); +EXTERN Tcl_Class Tcl_GetObjectAsClass (Tcl_Object object); +#endif +#ifndef Tcl_GetObjectCommand_TCL_DECLARED +#define Tcl_GetObjectCommand_TCL_DECLARED /* 3 */ -TCLOOAPI Tcl_Command Tcl_GetObjectCommand (Tcl_Object object); +EXTERN Tcl_Command Tcl_GetObjectCommand (Tcl_Object object); +#endif +#ifndef Tcl_GetObjectFromObj_TCL_DECLARED +#define Tcl_GetObjectFromObj_TCL_DECLARED /* 4 */ -TCLOOAPI Tcl_Object Tcl_GetObjectFromObj (Tcl_Interp * interp, +EXTERN Tcl_Object Tcl_GetObjectFromObj (Tcl_Interp * interp, Tcl_Obj * objPtr); +#endif +#ifndef Tcl_GetObjectNamespace_TCL_DECLARED +#define Tcl_GetObjectNamespace_TCL_DECLARED /* 5 */ -TCLOOAPI Tcl_Namespace * Tcl_GetObjectNamespace (Tcl_Object object); +EXTERN Tcl_Namespace * Tcl_GetObjectNamespace (Tcl_Object object); +#endif +#ifndef Tcl_MethodDeclarerClass_TCL_DECLARED +#define Tcl_MethodDeclarerClass_TCL_DECLARED /* 6 */ -TCLOOAPI Tcl_Class Tcl_MethodDeclarerClass (Tcl_Method method); +EXTERN Tcl_Class Tcl_MethodDeclarerClass (Tcl_Method method); +#endif +#ifndef Tcl_MethodDeclarerObject_TCL_DECLARED +#define Tcl_MethodDeclarerObject_TCL_DECLARED /* 7 */ -TCLOOAPI Tcl_Object Tcl_MethodDeclarerObject (Tcl_Method method); +EXTERN Tcl_Object Tcl_MethodDeclarerObject (Tcl_Method method); +#endif +#ifndef Tcl_MethodIsPublic_TCL_DECLARED +#define Tcl_MethodIsPublic_TCL_DECLARED /* 8 */ -TCLOOAPI int Tcl_MethodIsPublic (Tcl_Method method); +EXTERN int Tcl_MethodIsPublic (Tcl_Method method); +#endif +#ifndef Tcl_MethodIsType_TCL_DECLARED +#define Tcl_MethodIsType_TCL_DECLARED /* 9 */ -TCLOOAPI int Tcl_MethodIsType (Tcl_Method method, +EXTERN int Tcl_MethodIsType (Tcl_Method method, const Tcl_MethodType * typePtr, ClientData * clientDataPtr); +#endif +#ifndef Tcl_MethodName_TCL_DECLARED +#define Tcl_MethodName_TCL_DECLARED /* 10 */ -TCLOOAPI Tcl_Obj * Tcl_MethodName (Tcl_Method method); +EXTERN Tcl_Obj * Tcl_MethodName (Tcl_Method method); +#endif +#ifndef Tcl_NewInstanceMethod_TCL_DECLARED +#define Tcl_NewInstanceMethod_TCL_DECLARED /* 11 */ -TCLOOAPI Tcl_Method Tcl_NewInstanceMethod (Tcl_Interp * interp, +EXTERN Tcl_Method Tcl_NewInstanceMethod (Tcl_Interp * interp, Tcl_Object object, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); +#endif +#ifndef Tcl_NewMethod_TCL_DECLARED +#define Tcl_NewMethod_TCL_DECLARED /* 12 */ -TCLOOAPI Tcl_Method Tcl_NewMethod (Tcl_Interp * interp, Tcl_Class cls, +EXTERN Tcl_Method Tcl_NewMethod (Tcl_Interp * interp, Tcl_Class cls, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); +#endif +#ifndef Tcl_NewObjectInstance_TCL_DECLARED +#define Tcl_NewObjectInstance_TCL_DECLARED /* 13 */ -TCLOOAPI Tcl_Object Tcl_NewObjectInstance (Tcl_Interp * interp, +EXTERN Tcl_Object Tcl_NewObjectInstance (Tcl_Interp * interp, Tcl_Class cls, const char * nameStr, const char * nsNameStr, int objc, Tcl_Obj *const * objv, int skip); +#endif +#ifndef Tcl_ObjectDeleted_TCL_DECLARED +#define Tcl_ObjectDeleted_TCL_DECLARED /* 14 */ -TCLOOAPI int Tcl_ObjectDeleted (Tcl_Object object); +EXTERN int Tcl_ObjectDeleted (Tcl_Object object); +#endif +#ifndef Tcl_ObjectContextIsFiltering_TCL_DECLARED +#define Tcl_ObjectContextIsFiltering_TCL_DECLARED /* 15 */ -TCLOOAPI int Tcl_ObjectContextIsFiltering ( +EXTERN int Tcl_ObjectContextIsFiltering ( Tcl_ObjectContext context); +#endif +#ifndef Tcl_ObjectContextMethod_TCL_DECLARED +#define Tcl_ObjectContextMethod_TCL_DECLARED /* 16 */ -TCLOOAPI Tcl_Method Tcl_ObjectContextMethod (Tcl_ObjectContext context); +EXTERN Tcl_Method Tcl_ObjectContextMethod (Tcl_ObjectContext context); +#endif +#ifndef Tcl_ObjectContextObject_TCL_DECLARED +#define Tcl_ObjectContextObject_TCL_DECLARED /* 17 */ -TCLOOAPI Tcl_Object Tcl_ObjectContextObject (Tcl_ObjectContext context); +EXTERN Tcl_Object Tcl_ObjectContextObject (Tcl_ObjectContext context); +#endif +#ifndef Tcl_ObjectContextSkippedArgs_TCL_DECLARED +#define Tcl_ObjectContextSkippedArgs_TCL_DECLARED /* 18 */ -TCLOOAPI int Tcl_ObjectContextSkippedArgs ( +EXTERN int Tcl_ObjectContextSkippedArgs ( Tcl_ObjectContext context); +#endif +#ifndef Tcl_ClassGetMetadata_TCL_DECLARED +#define Tcl_ClassGetMetadata_TCL_DECLARED /* 19 */ -TCLOOAPI ClientData Tcl_ClassGetMetadata (Tcl_Class clazz, +EXTERN ClientData Tcl_ClassGetMetadata (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr); +#endif +#ifndef Tcl_ClassSetMetadata_TCL_DECLARED +#define Tcl_ClassSetMetadata_TCL_DECLARED /* 20 */ -TCLOOAPI void Tcl_ClassSetMetadata (Tcl_Class clazz, +EXTERN void Tcl_ClassSetMetadata (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); +#endif +#ifndef Tcl_ObjectGetMetadata_TCL_DECLARED +#define Tcl_ObjectGetMetadata_TCL_DECLARED /* 21 */ -TCLOOAPI ClientData Tcl_ObjectGetMetadata (Tcl_Object object, +EXTERN ClientData Tcl_ObjectGetMetadata (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr); +#endif +#ifndef Tcl_ObjectSetMetadata_TCL_DECLARED +#define Tcl_ObjectSetMetadata_TCL_DECLARED /* 22 */ -TCLOOAPI void Tcl_ObjectSetMetadata (Tcl_Object object, +EXTERN void Tcl_ObjectSetMetadata (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); +#endif +#ifndef Tcl_ObjectContextInvokeNext_TCL_DECLARED +#define Tcl_ObjectContextInvokeNext_TCL_DECLARED /* 23 */ -TCLOOAPI int Tcl_ObjectContextInvokeNext (Tcl_Interp * interp, +EXTERN int Tcl_ObjectContextInvokeNext (Tcl_Interp * interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const * objv, int skip); +#endif +#ifndef Tcl_ObjectGetMethodNameMapper_TCL_DECLARED +#define Tcl_ObjectGetMethodNameMapper_TCL_DECLARED /* 24 */ -TCLOOAPI Tcl_ObjectMapMethodNameProc Tcl_ObjectGetMethodNameMapper ( +EXTERN Tcl_ObjectMapMethodNameProc Tcl_ObjectGetMethodNameMapper ( Tcl_Object object); +#endif +#ifndef Tcl_ObjectSetMethodNameMapper_TCL_DECLARED +#define Tcl_ObjectSetMethodNameMapper_TCL_DECLARED /* 25 */ -TCLOOAPI void Tcl_ObjectSetMethodNameMapper (Tcl_Object object, +EXTERN void Tcl_ObjectSetMethodNameMapper (Tcl_Object object, Tcl_ObjectMapMethodNameProc mapMethodNameProc); +#endif +#ifndef Tcl_ClassSetConstructor_TCL_DECLARED +#define Tcl_ClassSetConstructor_TCL_DECLARED /* 26 */ -TCLOOAPI void Tcl_ClassSetConstructor (Tcl_Interp * interp, +EXTERN void Tcl_ClassSetConstructor (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); +#endif +#ifndef Tcl_ClassSetDestructor_TCL_DECLARED +#define Tcl_ClassSetDestructor_TCL_DECLARED /* 27 */ -TCLOOAPI void Tcl_ClassSetDestructor (Tcl_Interp * interp, +EXTERN void Tcl_ClassSetDestructor (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); +#endif -#endif /* !defined(USE_TCLOO_STUBS) */ +typedef struct TclOOStubHooks { + CONST struct TclOOIntStubs *tclOOIntStubs; +} TclOOStubHooks; typedef struct TclOOStubs { int magic; - int epoch; - int revision; CONST struct TclOOStubHooks *hooks; Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp * interp, Tcl_Object sourceObject, const char * targetName, const char * targetNamespaceName); /* 0 */ @@ -150,9 +227,11 @@ typedef struct TclOOStubs { void (*tcl_ClassSetDestructor) (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); /* 27 */ } TclOOStubs; +#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) extern CONST TclOOStubs *tclOOStubsPtr; +#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */ -#if defined(USE_TCLOO_STUBS) +#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) /* * Inline function declarations: @@ -271,6 +350,6 @@ extern CONST TclOOStubs *tclOOStubsPtr; (tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */ #endif -#endif /* defined(USE_TCLOO_STUBS) */ +#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */ /* !END!: Do not edit above this line. */ diff --git a/generic/tclOOIntDecls.h b/generic/tclOOIntDecls.h index f0a94dc..4ee8b8d 100644 --- a/generic/tclOOIntDecls.h +++ b/generic/tclOOIntDecls.h @@ -1,63 +1,87 @@ /* - * $Id: tclOOIntDecls.h,v 1.2 2008/05/31 23:35:27 das Exp $ + * $Id: tclOOIntDecls.h,v 1.3 2008/06/01 00:33:05 dkf Exp $ * * This file is (mostly) automatically generated from tclOO.decls. */ /* !BEGIN!: Do not edit below this line. */ -#define TCLOOINT_STUBS_EPOCH 0 -#define TCLOOINT_STUBS_REVISION 44 - -#if !defined(USE_TCLOO_STUBS) - /* * Exported function declarations: */ +#ifndef TclOOGetDefineCmdContext_TCL_DECLARED +#define TclOOGetDefineCmdContext_TCL_DECLARED /* 0 */ -TCLOOAPI Tcl_Object TclOOGetDefineCmdContext (Tcl_Interp * interp); +EXTERN Tcl_Object TclOOGetDefineCmdContext (Tcl_Interp * interp); +#endif +#ifndef TclOOMakeProcInstanceMethod_TCL_DECLARED +#define TclOOMakeProcInstanceMethod_TCL_DECLARED /* 1 */ -TCLOOAPI Tcl_Method TclOOMakeProcInstanceMethod (Tcl_Interp * interp, +EXTERN Tcl_Method TclOOMakeProcInstanceMethod (Tcl_Interp * interp, Object * oPtr, int flags, Tcl_Obj * nameObj, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, const Tcl_MethodType * typePtr, ClientData clientData, Proc ** procPtrPtr); +#endif +#ifndef TclOOMakeProcMethod_TCL_DECLARED +#define TclOOMakeProcMethod_TCL_DECLARED /* 2 */ -TCLOOAPI Tcl_Method TclOOMakeProcMethod (Tcl_Interp * interp, +EXTERN Tcl_Method TclOOMakeProcMethod (Tcl_Interp * interp, Class * clsPtr, int flags, Tcl_Obj * nameObj, const char * namePtr, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, const Tcl_MethodType * typePtr, ClientData clientData, Proc ** procPtrPtr); +#endif +#ifndef TclOONewProcInstanceMethod_TCL_DECLARED +#define TclOONewProcInstanceMethod_TCL_DECLARED /* 3 */ -TCLOOAPI Method * TclOONewProcInstanceMethod (Tcl_Interp * interp, +EXTERN Method * TclOONewProcInstanceMethod (Tcl_Interp * interp, Object * oPtr, int flags, Tcl_Obj * nameObj, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, ProcedureMethod ** pmPtrPtr); +#endif +#ifndef TclOONewProcMethod_TCL_DECLARED +#define TclOONewProcMethod_TCL_DECLARED /* 4 */ -TCLOOAPI Method * TclOONewProcMethod (Tcl_Interp * interp, +EXTERN Method * TclOONewProcMethod (Tcl_Interp * interp, Class * clsPtr, int flags, Tcl_Obj * nameObj, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, ProcedureMethod ** pmPtrPtr); +#endif +#ifndef TclOOObjectCmdCore_TCL_DECLARED +#define TclOOObjectCmdCore_TCL_DECLARED /* 5 */ -TCLOOAPI int TclOOObjectCmdCore (Object * oPtr, +EXTERN int TclOOObjectCmdCore (Object * oPtr, Tcl_Interp * interp, int objc, Tcl_Obj *const * objv, int publicOnly, Class * startCls); +#endif +#ifndef TclOOIsReachable_TCL_DECLARED +#define TclOOIsReachable_TCL_DECLARED /* 6 */ -TCLOOAPI int TclOOIsReachable (Class * targetPtr, +EXTERN int TclOOIsReachable (Class * targetPtr, Class * startPtr); +#endif +#ifndef TclOONewForwardMethod_TCL_DECLARED +#define TclOONewForwardMethod_TCL_DECLARED /* 7 */ -TCLOOAPI Method * TclOONewForwardMethod (Tcl_Interp * interp, +EXTERN Method * TclOONewForwardMethod (Tcl_Interp * interp, Class * clsPtr, int isPublic, Tcl_Obj * nameObj, Tcl_Obj * prefixObj); +#endif +#ifndef TclOONewForwardInstanceMethod_TCL_DECLARED +#define TclOONewForwardInstanceMethod_TCL_DECLARED /* 8 */ -TCLOOAPI Method * TclOONewForwardInstanceMethod (Tcl_Interp * interp, +EXTERN Method * TclOONewForwardInstanceMethod (Tcl_Interp * interp, Object * oPtr, int isPublic, Tcl_Obj * nameObj, Tcl_Obj * prefixObj); +#endif +#ifndef TclOONewProcInstanceMethodEx_TCL_DECLARED +#define TclOONewProcInstanceMethodEx_TCL_DECLARED /* 9 */ -TCLOOAPI Tcl_Method TclOONewProcInstanceMethodEx (Tcl_Interp * interp, +EXTERN Tcl_Method TclOONewProcInstanceMethodEx (Tcl_Interp * interp, Tcl_Object oPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, @@ -65,8 +89,11 @@ TCLOOAPI Tcl_Method TclOONewProcInstanceMethodEx (Tcl_Interp * interp, Tcl_Obj * nameObj, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, int flags, void ** internalTokenPtr); +#endif +#ifndef TclOONewProcMethodEx_TCL_DECLARED +#define TclOONewProcMethodEx_TCL_DECLARED /* 10 */ -TCLOOAPI Tcl_Method TclOONewProcMethodEx (Tcl_Interp * interp, +EXTERN Tcl_Method TclOONewProcMethodEx (Tcl_Interp * interp, Tcl_Class clsPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, @@ -74,32 +101,44 @@ TCLOOAPI Tcl_Method TclOONewProcMethodEx (Tcl_Interp * interp, Tcl_Obj * nameObj, Tcl_Obj * argsObj, Tcl_Obj * bodyObj, int flags, void ** internalTokenPtr); +#endif +#ifndef TclOOInvokeObject_TCL_DECLARED +#define TclOOInvokeObject_TCL_DECLARED /* 11 */ -TCLOOAPI int TclOOInvokeObject (Tcl_Interp * interp, +EXTERN int TclOOInvokeObject (Tcl_Interp * interp, Tcl_Object object, Tcl_Class startCls, int publicPrivate, int objc, Tcl_Obj *const * objv); +#endif +#ifndef TclOOObjectSetFilters_TCL_DECLARED +#define TclOOObjectSetFilters_TCL_DECLARED /* 12 */ -TCLOOAPI void TclOOObjectSetFilters (Object * oPtr, int numFilters, +EXTERN void TclOOObjectSetFilters (Object * oPtr, int numFilters, Tcl_Obj *const * filters); +#endif +#ifndef TclOOClassSetFilters_TCL_DECLARED +#define TclOOClassSetFilters_TCL_DECLARED /* 13 */ -TCLOOAPI void TclOOClassSetFilters (Tcl_Interp * interp, +EXTERN void TclOOClassSetFilters (Tcl_Interp * interp, Class * classPtr, int numFilters, Tcl_Obj *const * filters); +#endif +#ifndef TclOOObjectSetMixins_TCL_DECLARED +#define TclOOObjectSetMixins_TCL_DECLARED /* 14 */ -TCLOOAPI void TclOOObjectSetMixins (Object * oPtr, int numMixins, +EXTERN void TclOOObjectSetMixins (Object * oPtr, int numMixins, Class *const * mixins); +#endif +#ifndef TclOOClassSetMixins_TCL_DECLARED +#define TclOOClassSetMixins_TCL_DECLARED /* 15 */ -TCLOOAPI void TclOOClassSetMixins (Tcl_Interp * interp, +EXTERN void TclOOClassSetMixins (Tcl_Interp * interp, Class * classPtr, int numMixins, Class *const * mixins); - -#endif /* !defined(USE_TCLOO_STUBS) */ +#endif typedef struct TclOOIntStubs { int magic; - int epoch; - int revision; CONST struct TclOOIntStubHooks *hooks; Tcl_Object (*tclOOGetDefineCmdContext) (Tcl_Interp * interp); /* 0 */ @@ -120,9 +159,11 @@ typedef struct TclOOIntStubs { void (*tclOOClassSetMixins) (Tcl_Interp * interp, Class * classPtr, int numMixins, Class *const * mixins); /* 15 */ } TclOOIntStubs; +#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) extern CONST TclOOIntStubs *tclOOIntStubsPtr; +#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */ -#if defined(USE_TCLOO_STUBS) +#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) /* * Inline function declarations: @@ -193,7 +234,7 @@ extern CONST TclOOIntStubs *tclOOIntStubsPtr; (tclOOIntStubsPtr->tclOOClassSetMixins) /* 15 */ #endif -#endif /* defined(USE_TCLOO_STUBS) */ +#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */ /* !END!: Do not edit above this line. */ diff --git a/generic/tclOOStubInit.c b/generic/tclOOStubInit.c index 7c7a3cc..522fa6b 100644 --- a/generic/tclOOStubInit.c +++ b/generic/tclOOStubInit.c @@ -1,5 +1,5 @@ /* - * $Id: tclOOStubInit.c,v 1.2 2008/05/31 23:35:27 das Exp $ + * $Id: tclOOStubInit.c,v 1.3 2008/06/01 00:33:05 dkf Exp $ * * This file is (mostly) automatically generated from tclOO.decls. * It is compiled and linked in with the tclOO package proper. @@ -13,11 +13,34 @@ /* !BEGIN!: Do not edit below this line. */ +static const TclOOIntStubs tclOOIntStubs = { + TCL_STUB_MAGIC, + NULL, + TclOOGetDefineCmdContext, /* 0 */ + TclOOMakeProcInstanceMethod, /* 1 */ + TclOOMakeProcMethod, /* 2 */ + TclOONewProcInstanceMethod, /* 3 */ + TclOONewProcMethod, /* 4 */ + TclOOObjectCmdCore, /* 5 */ + TclOOIsReachable, /* 6 */ + TclOONewForwardMethod, /* 7 */ + TclOONewForwardInstanceMethod, /* 8 */ + TclOONewProcInstanceMethodEx, /* 9 */ + TclOONewProcMethodEx, /* 10 */ + TclOOInvokeObject, /* 11 */ + TclOOObjectSetFilters, /* 12 */ + TclOOClassSetFilters, /* 13 */ + TclOOObjectSetMixins, /* 14 */ + TclOOClassSetMixins, /* 15 */ +}; + +static const TclOOStubHooks tclOOStubHooks = { + &tclOOIntStubs +}; + static const TclOOStubs tclOOStubs = { TCL_STUB_MAGIC, - TCLOO_STUBS_EPOCH, - TCLOO_STUBS_REVISION, - 0, + &tclOOStubHooks, Tcl_CopyObjectInstance, /* 0 */ Tcl_GetClassAsObject, /* 1 */ Tcl_GetObjectAsClass, /* 2 */ @@ -48,29 +71,6 @@ static const TclOOStubs tclOOStubs = { Tcl_ClassSetDestructor, /* 27 */ }; -static const TclOOIntStubs tclOOIntStubs = { - TCL_STUB_MAGIC, - TCLOOINT_STUBS_EPOCH, - TCLOOINT_STUBS_REVISION, - 0, - TclOOGetDefineCmdContext, /* 0 */ - TclOOMakeProcInstanceMethod, /* 1 */ - TclOOMakeProcMethod, /* 2 */ - TclOONewProcInstanceMethod, /* 3 */ - TclOONewProcMethod, /* 4 */ - TclOOObjectCmdCore, /* 5 */ - TclOOIsReachable, /* 6 */ - TclOONewForwardMethod, /* 7 */ - TclOONewForwardInstanceMethod, /* 8 */ - TclOONewProcInstanceMethodEx, /* 9 */ - TclOONewProcMethodEx, /* 10 */ - TclOOInvokeObject, /* 11 */ - TclOOObjectSetFilters, /* 12 */ - TclOOClassSetFilters, /* 13 */ - TclOOObjectSetMixins, /* 14 */ - TclOOClassSetMixins, /* 15 */ -}; - /* !END!: Do not edit above this line. */ static const struct TclOOStubAPI tclOOStubAPI = { diff --git a/generic/tclOOStubLib.c b/generic/tclOOStubLib.c index fe3b6be..280854b 100644 --- a/generic/tclOOStubLib.c +++ b/generic/tclOOStubLib.c @@ -1,5 +1,5 @@ /* - * $Id: tclOOStubLib.c,v 1.2 2008/05/31 23:35:28 das Exp $ + * $Id: tclOOStubLib.c,v 1.3 2008/06/01 00:33:05 dkf Exp $ * ORIGINAL SOURCE: tk/generic/tkStubLib.c, version 1.9 2004/03/17 */ @@ -45,7 +45,7 @@ const TclOOIntStubs *tclOOIntStubsPtr = NULL; MODULE_SCOPE const char * TclOOInitializeStubs( - Tcl_Interp *interp, const char *version, int epoch, int revision) + Tcl_Interp *interp, const char *version) { int exact = 0; const char *packageName = "TclOO"; @@ -72,14 +72,6 @@ TclOOInitializeStubs( errMsg = "missing stub table pointer"; goto error; } - if (stubsPtr->epoch != epoch || intStubsPtr->epoch != epoch) { - errMsg = "epoch number mismatch"; - goto error; - } - if (stubsPtr->revisionrevision