diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2010-03-05 15:32:15 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2010-03-05 15:32:15 (GMT) |
commit | 9ec2f6a0332cda78247229df47c6a6e5c0469c94 (patch) | |
tree | 0afd42507571f5dd5c5bb33e27ecef34ae35c9d8 /generic/tclOO.h | |
parent | b501910778714de837dc4367698256e996737e9b (diff) | |
download | tcl-9ec2f6a0332cda78247229df47c6a6e5c0469c94.zip tcl-9ec2f6a0332cda78247229df47c6a6e5c0469c94.tar.gz tcl-9ec2f6a0332cda78247229df47c6a6e5c0469c94.tar.bz2 |
[Patch 2961556]: Change TclOO to use the same style of function typedefs as
Tcl, as this is about the last chance to get this right.
Diffstat (limited to 'generic/tclOO.h')
-rw-r--r-- | generic/tclOO.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/generic/tclOO.h b/generic/tclOO.h index a2a6aa1..d97ec47 100644 --- a/generic/tclOO.h +++ b/generic/tclOO.h @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclOO.h,v 1.9 2009/11/27 07:27:52 dkf Exp $ + * RCS: @(#) $Id: tclOO.h,v 1.10 2010/03/05 15:32:16 dkf Exp $ */ #ifndef TCLOO_H_INCLUDED @@ -51,13 +51,13 @@ typedef struct Tcl_ObjectContext_ *Tcl_ObjectContext; * and to allow the attachment of arbitrary data to objects and classes. */ -typedef int (*Tcl_MethodCallProc)(ClientData clientData, Tcl_Interp *interp, +typedef int (Tcl_MethodCallProc)(ClientData clientData, Tcl_Interp *interp, Tcl_ObjectContext objectContext, int objc, Tcl_Obj *const *objv); -typedef void (*Tcl_MethodDeleteProc)(ClientData clientData); -typedef int (*Tcl_CloneProc)(Tcl_Interp *interp, ClientData oldClientData, +typedef void (Tcl_MethodDeleteProc)(ClientData clientData); +typedef int (Tcl_CloneProc)(Tcl_Interp *interp, ClientData oldClientData, ClientData *newClientData); -typedef void (*Tcl_ObjectMetadataDeleteProc)(ClientData clientData); -typedef int (*Tcl_ObjectMapMethodNameProc)(Tcl_Interp *interp, +typedef void (Tcl_ObjectMetadataDeleteProc)(ClientData clientData); +typedef int (Tcl_ObjectMapMethodNameProc)(Tcl_Interp *interp, Tcl_Object object, Tcl_Class *startClsPtr, Tcl_Obj *methodNameObj); /* @@ -72,12 +72,13 @@ typedef struct { * declarations. */ const char *name; /* Name of this type of method, mostly for * debugging purposes. */ - Tcl_MethodCallProc callProc;/* How to invoke this method. */ - Tcl_MethodDeleteProc deleteProc; + Tcl_MethodCallProc *callProc; + /* How to invoke this method. */ + Tcl_MethodDeleteProc *deleteProc; /* How to delete this method's type-specific * data, or NULL if the type-specific data * does not need deleting. */ - Tcl_CloneProc cloneProc; /* How to copy this method's type-specific + Tcl_CloneProc *cloneProc; /* How to copy this method's type-specific * data, or NULL if the type-specific data can * be copied directly. */ } Tcl_MethodType; @@ -101,10 +102,10 @@ typedef struct { * to TCL_OO_METADATA_VERSION_CURRENT in * declarations. */ const char *name; - Tcl_ObjectMetadataDeleteProc deleteProc; + Tcl_ObjectMetadataDeleteProc *deleteProc; /* How to delete the metadata. This must not * be NULL. */ - Tcl_CloneProc cloneProc; /* How to copy the metadata, or NULL if the + Tcl_CloneProc *cloneProc; /* How to copy the metadata, or NULL if the * type-specific data can be copied * directly. */ } Tcl_ObjectMetadataType; |