| ︙ | | | ︙ | |
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
|
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Object *oPtr;
Tcl_HashEntry *hPtr;
Proc *procPtr;
Tcl_Obj *resultObjs[2];
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "objName methodName");
return TCL_ERROR;
}
oPtr = (Object *) Tcl_GetObjectFromObj(interp, objv[1]);
|
<
|
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Object *oPtr;
Tcl_HashEntry *hPtr;
Proc *procPtr;
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "objName methodName");
return TCL_ERROR;
}
oPtr = (Object *) Tcl_GetObjectFromObj(interp, objv[1]);
|
| ︙ | | | ︙ | |
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
goto wrongType;
}
/*
* We now have the method to describe the definition of.
*/
resultObjs[0] = DescribeMethodArgs(procPtr);
resultObjs[1] = TclOOGetMethodBody((Method *) Tcl_GetHashValue(hPtr));
Tcl_SetObjResult(interp, Tcl_NewListObj(2, resultObjs));
return TCL_OK;
/*
* Errors...
*/
unknownMethod:
|
>
|
|
|
|
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
goto wrongType;
}
/*
* We now have the method to describe the definition of.
*/
Tcl_SetObjResult(interp, Tcl_NewListObj(2, (Tcl_Obj *[]) {
DescribeMethodArgs(procPtr),
TclOOGetMethodBody((Method *) Tcl_GetHashValue(hPtr))
}));
return TCL_OK;
/*
* Errors...
*/
unknownMethod:
|
| ︙ | | | ︙ | |
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
|
InfoClassConstrCmd(
TCL_UNUSED(void *),
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Proc *procPtr;
Tcl_Obj *resultObjs[2];
Class *clsPtr;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "className");
return TCL_ERROR;
}
clsPtr = TclOOGetClassFromObj(interp, objv[1]);
|
<
|
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
|
InfoClassConstrCmd(
TCL_UNUSED(void *),
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Proc *procPtr;
Class *clsPtr;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "className");
return TCL_ERROR;
}
clsPtr = TclOOGetClassFromObj(interp, objv[1]);
|
| ︙ | | | ︙ | |
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
|
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"definition not available for this kind of method",
TCL_AUTO_LENGTH));
OO_ERROR(interp, METHOD_TYPE);
return TCL_ERROR;
}
resultObjs[0] = DescribeMethodArgs(procPtr);
resultObjs[1] = TclOOGetMethodBody(clsPtr->constructorPtr);
Tcl_SetObjResult(interp, Tcl_NewListObj(2, resultObjs));
return TCL_OK;
}
/*
* ----------------------------------------------------------------------
*
* InfoClassDefnCmd --
|
>
|
|
|
|
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
|
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"definition not available for this kind of method",
TCL_AUTO_LENGTH));
OO_ERROR(interp, METHOD_TYPE);
return TCL_ERROR;
}
Tcl_SetObjResult(interp, Tcl_NewListObj(2, (Tcl_Obj *[]) {
DescribeMethodArgs(procPtr),
TclOOGetMethodBody(clsPtr->constructorPtr)
}));
return TCL_OK;
}
/*
* ----------------------------------------------------------------------
*
* InfoClassDefnCmd --
|
| ︙ | | | ︙ | |
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
|
TCL_UNUSED(void *),
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Tcl_HashEntry *hPtr;
Proc *procPtr;
Tcl_Obj *resultObjs[2];
Class *clsPtr;
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "className methodName");
return TCL_ERROR;
}
clsPtr = TclOOGetClassFromObj(interp, objv[1]);
|
<
|
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
|
TCL_UNUSED(void *),
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
Tcl_HashEntry *hPtr;
Proc *procPtr;
Class *clsPtr;
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "className methodName");
return TCL_ERROR;
}
clsPtr = TclOOGetClassFromObj(interp, objv[1]);
|
| ︙ | | | ︙ | |
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
|
"definition not available for this kind of method",
TCL_AUTO_LENGTH));
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "METHOD",
TclGetString(objv[2]), (char *)NULL);
return TCL_ERROR;
}
resultObjs[0] = DescribeMethodArgs(procPtr);
resultObjs[1] = TclOOGetMethodBody((Method *) Tcl_GetHashValue(hPtr));
Tcl_SetObjResult(interp, Tcl_NewListObj(2, resultObjs));
return TCL_OK;
}
/*
* ----------------------------------------------------------------------
*
* InfoClassDefnNsCmd --
|
>
|
|
|
|
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
|
"definition not available for this kind of method",
TCL_AUTO_LENGTH));
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "METHOD",
TclGetString(objv[2]), (char *)NULL);
return TCL_ERROR;
}
Tcl_SetObjResult(interp, Tcl_NewListObj(2, (Tcl_Obj *[]) {
DescribeMethodArgs(procPtr),
TclOOGetMethodBody((Method *) Tcl_GetHashValue(hPtr))
}));
return TCL_OK;
}
/*
* ----------------------------------------------------------------------
*
* InfoClassDefnNsCmd --
|
| ︙ | | | ︙ | |