summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2008-06-01 00:33:04 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2008-06-01 00:33:04 (GMT)
commit1c1a6d7dbef7006050c0ff8351a29d7daf390efc (patch)
tree27f9cf935eca44a7395fab059a6c5cd848df37d4
parenta568d47b81aa993e06a0ec33188cee794192056c (diff)
downloadtcl-1c1a6d7dbef7006050c0ff8351a29d7daf390efc.zip
tcl-1c1a6d7dbef7006050c0ff8351a29d7daf390efc.tar.gz
tcl-1c1a6d7dbef7006050c0ff8351a29d7daf390efc.tar.bz2
More patches to make stub generation work.
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclOODecls.h167
-rw-r--r--generic/tclOOIntDecls.h97
-rw-r--r--generic/tclOOStubInit.c54
-rw-r--r--generic/tclOOStubLib.c12
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 <das@users.sourceforge.net>
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->revision<revision || intStubsPtr->revision<revision) {
- errMsg = "require later revision";
- goto error;
- }
tclOOStubsPtr = stubsPtr;
tclOOIntStubsPtr = intStubsPtr;