Index: generic/tclAPI.h =================================================================== diff -u -r9f1d59741223795c836a0e8230a891781ecfc09e -rbfa35f91317151147869ce0f97f6c89f1ffc7fbe --- generic/tclAPI.h (.../tclAPI.h) (revision 9f1d59741223795c836a0e8230a891781ecfc09e) +++ generic/tclAPI.h (.../tclAPI.h) (revision bfa35f91317151147869ce0f97f6c89f1ffc7fbe) @@ -73,6 +73,7 @@ static int XOTclClassInfoInstmixinofMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclClassInfoInstnonposargsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclClassInfoInstparametercmdMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); +static int XOTclClassInfoInstparamsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclClassInfoInstpostMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclClassInfoInstpreMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclClassInfoInstprocsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); @@ -98,6 +99,7 @@ static int XOTclObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclObjInfoNonposargsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclObjInfoParametercmdMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); +static int XOTclObjInfoParamsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclObjInfoParentMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclObjInfoPostMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); static int XOTclObjInfoPreMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []); @@ -176,6 +178,7 @@ static int XOTclClassInfoInstmixinofMethod(Tcl_Interp *interp, XOTclClass *class, int withClosure, char *patternString, XOTclObject *patternObj); static int XOTclClassInfoInstnonposargsMethod(Tcl_Interp *interp, XOTclClass *class, char *methodName); static int XOTclClassInfoInstparametercmdMethod(Tcl_Interp *interp, XOTclClass *class, char *pattern); +static int XOTclClassInfoInstparamsMethod(Tcl_Interp *interp, XOTclClass *class, char *methodName, int withVarnames); static int XOTclClassInfoInstpostMethod(Tcl_Interp *interp, XOTclClass *class, char *methodName); static int XOTclClassInfoInstpreMethod(Tcl_Interp *interp, XOTclClass *class, char *methodName); static int XOTclClassInfoInstprocsMethod(Tcl_Interp *interp, XOTclClass *class, char *pattern); @@ -201,6 +204,7 @@ static int XOTclObjInfoMixinguardMethod(Tcl_Interp *interp, XOTclObject *object, char *mixin); static int XOTclObjInfoNonposargsMethod(Tcl_Interp *interp, XOTclObject *object, char *methodName); static int XOTclObjInfoParametercmdMethod(Tcl_Interp *interp, XOTclObject *object, char *pattern); +static int XOTclObjInfoParamsMethod(Tcl_Interp *interp, XOTclObject *object, char *methodName, int withVarnames); static int XOTclObjInfoParentMethod(Tcl_Interp *interp, XOTclObject *object); static int XOTclObjInfoPostMethod(Tcl_Interp *interp, XOTclObject *object, char *methodName); static int XOTclObjInfoPreMethod(Tcl_Interp *interp, XOTclObject *object, char *methodName); @@ -280,6 +284,7 @@ XOTclClassInfoInstmixinofMethodIdx, XOTclClassInfoInstnonposargsMethodIdx, XOTclClassInfoInstparametercmdMethodIdx, + XOTclClassInfoInstparamsMethodIdx, XOTclClassInfoInstpostMethodIdx, XOTclClassInfoInstpreMethodIdx, XOTclClassInfoInstprocsMethodIdx, @@ -305,6 +310,7 @@ XOTclObjInfoMixinguardMethodIdx, XOTclObjInfoNonposargsMethodIdx, XOTclObjInfoParametercmdMethodIdx, + XOTclObjInfoParamsMethodIdx, XOTclObjInfoParentMethodIdx, XOTclObjInfoPostMethodIdx, XOTclObjInfoPreMethodIdx, @@ -1010,6 +1016,26 @@ } static int +XOTclClassInfoInstparamsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + parseContext pc; + + if (ArgumentParse(interp, objc, objv, NULL, objv[0], + method_definitions[XOTclClassInfoInstparamsMethodIdx].paramDefs, + method_definitions[XOTclClassInfoInstparamsMethodIdx].nrParameters, + &pc) != TCL_OK) { + return TCL_ERROR; + } else { + XOTclClass *class = (XOTclClass *)pc.clientData[0]; + char *methodName = (char *)pc.clientData[1]; + int withVarnames = (int )pc.clientData[2]; + + parseContextRelease(&pc); + return XOTclClassInfoInstparamsMethod(interp, class, methodName, withVarnames); + + } +} + +static int XOTclClassInfoInstpostMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { parseContext pc; @@ -1535,6 +1561,26 @@ } static int +XOTclObjInfoParamsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + parseContext pc; + + if (ArgumentParse(interp, objc, objv, NULL, objv[0], + method_definitions[XOTclObjInfoParamsMethodIdx].paramDefs, + method_definitions[XOTclObjInfoParamsMethodIdx].nrParameters, + &pc) != TCL_OK) { + return TCL_ERROR; + } else { + XOTclObject *object = (XOTclObject *)pc.clientData[0]; + char *methodName = (char *)pc.clientData[1]; + int withVarnames = (int )pc.clientData[2]; + + parseContextRelease(&pc); + return XOTclObjInfoParamsMethod(interp, object, methodName, withVarnames); + + } +} + +static int XOTclObjInfoParentMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { parseContext pc; @@ -2508,6 +2554,11 @@ {"class", 1, 0, convertToClass}, {"pattern", 0, 0, convertToString}} }, +{"::xotcl::cmd::ClassInfo::instparams", XOTclClassInfoInstparamsMethodStub, 3, { + {"class", 1, 0, convertToClass}, + {"methodName", 1, 0, convertToString}, + {"-varNames", 0, 0, convertToString}} +}, {"::xotcl::cmd::ClassInfo::instpost", XOTclClassInfoInstpostMethodStub, 2, { {"class", 1, 0, convertToClass}, {"methodName", 1, 0, convertToString}} @@ -2616,6 +2667,11 @@ {"object", 1, 0, convertToObject}, {"pattern", 0, 0, convertToString}} }, +{"::xotcl::cmd::ObjectInfo::params", XOTclObjInfoParamsMethodStub, 3, { + {"object", 1, 0, convertToObject}, + {"methodName", 1, 0, convertToString}, + {"-varNames", 0, 0, convertToString}} +}, {"::xotcl::cmd::ObjectInfo::parent", XOTclObjInfoParentMethodStub, 1, { {"object", 1, 0, convertToObject}} },