From 5ee669f689871a7582541e27df3e9368a3ab5a55 Mon Sep 17 00:00:00 2001 From: dkf Date: Sun, 1 Jun 2008 00:02:04 +0000 Subject: Fix generation of stubs for the OO API. --- ChangeLog | 5 +++ generic/tclOO.decls | 93 ++++++++++++++++++++++++++--------------------------- unix/Makefile.in | 6 ++-- 3 files changed, 54 insertions(+), 50 deletions(-) diff --git a/ChangeLog b/ChangeLog index 011864d..4decb4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-01 Donal K. Fellows + + * generic/tclOO.decls, unix/Makefile.in (genstubs): Make generation of + stub tables correct. + 2008-06-01 Daniel Steffen * generic/tclOOStubLib.c: ensure use of tcl stubs; include in diff --git a/generic/tclOO.decls b/generic/tclOO.decls index 0fdbe47..bb30e20 100644 --- a/generic/tclOO.decls +++ b/generic/tclOO.decls @@ -1,190 +1,189 @@ # -*- tcl -*- -# $Id: tclOO.decls,v 1.1 2008/05/31 11:42:17 dkf Exp $ +# $Id: tclOO.decls,v 1.2 2008/06/01 00:02:05 dkf Exp $ # public API library tclOO interface tclOO -epoch 0 -scspec TCLOOAPI +hooks tclOOInt -declare 0 current { +declare 0 generic { Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName) } -declare 1 current { +declare 1 generic { Tcl_Object Tcl_GetClassAsObject(Tcl_Class clazz) } -declare 2 current { +declare 2 generic { Tcl_Class Tcl_GetObjectAsClass(Tcl_Object object) } -declare 3 current { +declare 3 generic { Tcl_Command Tcl_GetObjectCommand(Tcl_Object object) } -declare 4 current { +declare 4 generic { Tcl_Object Tcl_GetObjectFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr) } -declare 5 current { +declare 5 generic { Tcl_Namespace *Tcl_GetObjectNamespace(Tcl_Object object) } -declare 6 current { +declare 6 generic { Tcl_Class Tcl_MethodDeclarerClass(Tcl_Method method) } -declare 7 current { +declare 7 generic { Tcl_Object Tcl_MethodDeclarerObject(Tcl_Method method) } -declare 8 current { +declare 8 generic { int Tcl_MethodIsPublic(Tcl_Method method) } -declare 9 current { +declare 9 generic { int Tcl_MethodIsType(Tcl_Method method, const Tcl_MethodType *typePtr, ClientData *clientDataPtr) } -declare 10 current { +declare 10 generic { Tcl_Obj *Tcl_MethodName(Tcl_Method method) } -declare 11 current { +declare 11 generic { Tcl_Method Tcl_NewInstanceMethod(Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData) } -declare 12 current { +declare 12 generic { Tcl_Method Tcl_NewMethod(Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData) } -declare 13 current { +declare 13 generic { Tcl_Object Tcl_NewObjectInstance(Tcl_Interp *interp, Tcl_Class cls, const char *nameStr, const char *nsNameStr, int objc, Tcl_Obj *const *objv, int skip) } -declare 14 current { +declare 14 generic { int Tcl_ObjectDeleted(Tcl_Object object) } -declare 15 current { +declare 15 generic { int Tcl_ObjectContextIsFiltering(Tcl_ObjectContext context) } -declare 16 current { +declare 16 generic { Tcl_Method Tcl_ObjectContextMethod(Tcl_ObjectContext context) } -declare 17 current { +declare 17 generic { Tcl_Object Tcl_ObjectContextObject(Tcl_ObjectContext context) } -declare 18 current { +declare 18 generic { int Tcl_ObjectContextSkippedArgs(Tcl_ObjectContext context) } -declare 19 current { +declare 19 generic { ClientData Tcl_ClassGetMetadata(Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr) } -declare 20 current { +declare 20 generic { void Tcl_ClassSetMetadata(Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, ClientData metadata) } -declare 21 current { +declare 21 generic { ClientData Tcl_ObjectGetMetadata(Tcl_Object object, const Tcl_ObjectMetadataType *typePtr) } -declare 22 current { +declare 22 generic { void Tcl_ObjectSetMetadata(Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, ClientData metadata) } -declare 23 current { +declare 23 generic { int Tcl_ObjectContextInvokeNext(Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip) } -declare 24 current { +declare 24 generic { Tcl_ObjectMapMethodNameProc Tcl_ObjectGetMethodNameMapper( Tcl_Object object) } -declare 25 current { +declare 25 generic { void Tcl_ObjectSetMethodNameMapper(Tcl_Object object, Tcl_ObjectMapMethodNameProc mapMethodNameProc) } -declare 26 current { +declare 26 generic { void Tcl_ClassSetConstructor(Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method) } -declare 27 current { +declare 27 generic { void Tcl_ClassSetDestructor(Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method) } # private API, exposed to support advanced OO systems that plug in on top interface tclOOInt -declare 0 current { +declare 0 generic { Tcl_Object TclOOGetDefineCmdContext(Tcl_Interp *interp) } -declare 1 current { +declare 1 generic { 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) } -declare 2 current { +declare 2 generic { 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) } -declare 3 current { +declare 3 generic { Method *TclOONewProcInstanceMethod(Tcl_Interp *interp, Object *oPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ProcedureMethod **pmPtrPtr) } -declare 4 current { +declare 4 generic { Method *TclOONewProcMethod(Tcl_Interp *interp, Class *clsPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ProcedureMethod **pmPtrPtr) } -declare 5 current { +declare 5 generic { int TclOOObjectCmdCore(Object *oPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv, int publicOnly, Class *startCls) } -declare 6 current { +declare 6 generic { int TclOOIsReachable(Class *targetPtr, Class *startPtr) } -declare 7 current { +declare 7 generic { Method *TclOONewForwardMethod(Tcl_Interp *interp, Class *clsPtr, int isPublic, Tcl_Obj *nameObj, Tcl_Obj *prefixObj) } -declare 8 current { +declare 8 generic { Method *TclOONewForwardInstanceMethod(Tcl_Interp *interp, Object *oPtr, int isPublic, Tcl_Obj *nameObj, Tcl_Obj *prefixObj) } -declare 9 current { +declare 9 generic { Tcl_Method TclOONewProcInstanceMethodEx(Tcl_Interp *interp, Tcl_Object oPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, ProcErrorProc errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, void **internalTokenPtr) } -declare 10 current { +declare 10 generic { Tcl_Method TclOONewProcMethodEx(Tcl_Interp *interp, Tcl_Class clsPtr, TclOO_PreCallProc preCallPtr, TclOO_PostCallProc postCallPtr, ProcErrorProc errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, void **internalTokenPtr) } -declare 11 current { +declare 11 generic { int TclOOInvokeObject(Tcl_Interp *interp, Tcl_Object object, Tcl_Class startCls, int publicPrivate, int objc, Tcl_Obj *const *objv) } -declare 12 current { +declare 12 generic { void TclOOObjectSetFilters(Object *oPtr, int numFilters, Tcl_Obj *const *filters) } -declare 13 current { +declare 13 generic { void TclOOClassSetFilters(Tcl_Interp *interp, Class *classPtr, int numFilters, Tcl_Obj *const *filters) } -declare 14 current { +declare 14 generic { void TclOOObjectSetMixins(Object *oPtr, int numMixins, Class *const *mixins) } -declare 15 current { +declare 15 generic { void TclOOClassSetMixins(Tcl_Interp *interp, Class *classPtr, int numMixins, Class *const *mixins) } diff --git a/unix/Makefile.in b/unix/Makefile.in index 1db3616..d7d6f82 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -4,7 +4,7 @@ # "./configure", which is a configuration script generated by the "autoconf" # program (constructs like "@foo@" will get replaced in the actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.235 2008/05/31 23:35:28 das Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.236 2008/06/01 00:02:05 dkf Exp $ VERSION = @TCL_VERSION@ MAJOR_VERSION = @TCL_MAJOR_VERSION@ @@ -1575,8 +1575,8 @@ genstubs: $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ $(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls \ $(GENERIC_DIR)/tclTomMath.decls -# disabled awaiting genStubs.tcl support: -#$(GENERIC_DIR)/tclOO.decls + $(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ + $(GENERIC_DIR)/tclOO.decls # # Target to check that all exported functions have an entry in the stubs -- cgit v0.12