summaryrefslogtreecommitdiffstats
path: root/generic/tclOO.h
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2010-03-05 15:32:15 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2010-03-05 15:32:15 (GMT)
commit9ec2f6a0332cda78247229df47c6a6e5c0469c94 (patch)
tree0afd42507571f5dd5c5bb33e27ecef34ae35c9d8 /generic/tclOO.h
parentb501910778714de837dc4367698256e996737e9b (diff)
downloadtcl-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.h23
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;