summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2008-06-01 00:02:04 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2008-06-01 00:02:04 (GMT)
commit5ee669f689871a7582541e27df3e9368a3ab5a55 (patch)
tree626a88cef394cee59047153fef681553cdd19485
parentc15ddd7ee91e72940a679b63fe643f1a21b4b006 (diff)
downloadtcl-5ee669f689871a7582541e27df3e9368a3ab5a55.zip
tcl-5ee669f689871a7582541e27df3e9368a3ab5a55.tar.gz
tcl-5ee669f689871a7582541e27df3e9368a3ab5a55.tar.bz2
Fix generation of stubs for the OO API.
-rw-r--r--ChangeLog5
-rw-r--r--generic/tclOO.decls93
-rw-r--r--unix/Makefile.in6
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 <dkf@users.sf.net>
+
+ * generic/tclOO.decls, unix/Makefile.in (genstubs): Make generation of
+ stub tables correct.
+
2008-06-01 Daniel Steffen <das@users.sourceforge.net>
* 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