tclTrace.c File Reference#include "tclInt.h"
Go to the source code of this file.
|
Data Structures |
struct | TraceVarInfo |
struct | CombinedTraceVarInfo |
struct | TraceCommandInfo |
struct | StringTraceData |
Defines |
#define | TCL_TRACE_ENTER_DURING_EXEC 4 |
#define | TCL_TRACE_LEAVE_DURING_EXEC 8 |
#define | TCL_TRACE_ANY_EXEC 15 |
#define | TCL_TRACE_EXEC_IN_PROGRESS 0x10 |
#define | TCL_TRACE_EXEC_DIRECT 0x20 |
Typedefs |
typedef int( | Tcl_TraceTypeObjCmd )(Tcl_Interp *interp, int optionIndex, int objc, Tcl_Obj *const objv[]) |
Functions |
int | Tcl_TraceObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) |
ClientData | Tcl_CommandTraceInfo (Tcl_Interp *interp, const char *cmdName, int flags, Tcl_CommandTraceProc *proc, ClientData prevClientData) |
int | Tcl_TraceCommand (Tcl_Interp *interp, const char *cmdName, int flags, Tcl_CommandTraceProc *proc, ClientData clientData) |
void | Tcl_UntraceCommand (Tcl_Interp *interp, const char *cmdName, int flags, Tcl_CommandTraceProc *proc, ClientData clientData) |
int | TclCheckExecutionTraces (Tcl_Interp *interp, const char *command, int numChars, Command *cmdPtr, int code, int traceFlags, int objc, Tcl_Obj *const objv[]) |
int | TclCheckInterpTraces (Tcl_Interp *interp, const char *command, int numChars, Command *cmdPtr, int code, int traceFlags, int objc, Tcl_Obj *const objv[]) |
Tcl_Trace | Tcl_CreateObjTrace (Tcl_Interp *interp, int level, int flags, Tcl_CmdObjTraceProc *proc, ClientData clientData, Tcl_CmdObjTraceDeleteProc *delProc) |
Tcl_Trace | Tcl_CreateTrace (Tcl_Interp *interp, int level, Tcl_CmdTraceProc *proc, ClientData clientData) |
void | Tcl_DeleteTrace (Tcl_Interp *interp, Tcl_Trace trace) |
Var * | TclVarTraceExists (Tcl_Interp *interp, const char *varName) |
int | TclObjCallVarTraces (Interp *iPtr, register Var *arrayPtr, Var *varPtr, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, int flags, int leaveErrMsg, int index) |
int | TclCallVarTraces (Interp *iPtr, register Var *arrayPtr, Var *varPtr, const char *part1, const char *part2, int flags, int leaveErrMsg) |
void | Tcl_UntraceVar (Tcl_Interp *interp, const char *varName, int flags, Tcl_VarTraceProc *proc, ClientData clientData) |
void | Tcl_UntraceVar2 (Tcl_Interp *interp, const char *part1, const char *part2, int flags, Tcl_VarTraceProc *proc, ClientData clientData) |
ClientData | Tcl_VarTraceInfo (Tcl_Interp *interp, const char *varName, int flags, Tcl_VarTraceProc *proc, ClientData prevClientData) |
ClientData | Tcl_VarTraceInfo2 (Tcl_Interp *interp, const char *part1, const char *part2, int flags, Tcl_VarTraceProc *proc, ClientData prevClientData) |
int | Tcl_TraceVar (Tcl_Interp *interp, const char *varName, int flags, Tcl_VarTraceProc *proc, ClientData clientData) |
int | Tcl_TraceVar2 (Tcl_Interp *interp, const char *part1, const char *part2, int flags, Tcl_VarTraceProc *proc, ClientData clientData) |
Define Documentation
#define TCL_TRACE_ANY_EXEC 15 |
#define TCL_TRACE_ENTER_DURING_EXEC 4 |
#define TCL_TRACE_EXEC_DIRECT 0x20 |
#define TCL_TRACE_EXEC_IN_PROGRESS 0x10 |
#define TCL_TRACE_LEAVE_DURING_EXEC 8 |
Typedef Documentation
Function Documentation
ClientData Tcl_CommandTraceInfo |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
cmdName, |
|
|
int |
flags, |
|
|
Tcl_CommandTraceProc * |
proc, |
|
|
ClientData |
prevClientData | |
|
) |
| | |
Tcl_Trace Tcl_CreateObjTrace |
( |
Tcl_Interp * |
interp, |
|
|
int |
level, |
|
|
int |
flags, |
|
|
Tcl_CmdObjTraceProc * |
proc, |
|
|
ClientData |
clientData, |
|
|
Tcl_CmdObjTraceDeleteProc * |
delProc | |
|
) |
| | |
Definition at line 2097 of file tclTrace.c.
References ckalloc, Trace::clientData, Interp::compileEpoch, Trace::delProc, DONT_COMPILE_CMDS_INLINE, Trace::flags, Interp::flags, Trace::level, Trace::nextPtr, Trace::proc, TCL_ALLOW_INLINE_COMPILATION, Interp::tracePtr, and Interp::tracesForbiddingInline.
Referenced by Tcl_CreateTrace().
Tcl_Trace Tcl_CreateTrace |
( |
Tcl_Interp * |
interp, |
|
|
int |
level, |
|
|
Tcl_CmdTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
Definition at line 2300 of file tclTrace.c.
References Interp::activeInterpTracePtr, Trace::clientData, Interp::compileEpoch, Trace::delProc, DONT_COMPILE_CMDS_INLINE, Interp::flags, Trace::flags, ActiveInterpTrace::nextPtr, Trace::nextPtr, ActiveInterpTrace::nextTracePtr, ActiveInterpTrace::reverseScan, TCL_ALLOW_INLINE_COMPILATION, TCL_DYNAMIC, Tcl_EventuallyFree(), Interp::tracePtr, and Interp::tracesForbiddingInline.
int Tcl_TraceCommand |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
cmdName, |
|
|
int |
flags, |
|
|
Tcl_CommandTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
Definition at line 1094 of file tclTrace.c.
References ckalloc, CommandTrace::clientData, CMD_HAS_EXEC_TRACES, Command::flags, CommandTrace::flags, CommandTrace::nextPtr, CommandTrace::refCount, TCL_ERROR, Tcl_FindCommand(), TCL_LEAVE_ERR_MSG, TCL_OK, TCL_TRACE_ANY_EXEC, TCL_TRACE_DELETE, TCL_TRACE_RENAME, CommandTrace::traceProc, and Command::tracePtr.
int Tcl_TraceObjCmd |
( |
ClientData |
dummy, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *const |
objv[] | |
|
) |
| | |
Definition at line 174 of file tclTrace.c.
References TraceVarInfo::command, TraceVarInfo::flags, Tcl_AppendResult(), Tcl_DecrRefCount, TCL_ERROR, Tcl_GetIndexFromObj(), Tcl_GetString(), Tcl_GetStringFromObj(), Tcl_IncrRefCount, Tcl_ListObjAppendElement(), Tcl_NewListObj(), Tcl_NewObj(), Tcl_NewStringObj(), TCL_OK, Tcl_SetObjResult(), TCL_TRACE_ARRAY, TCL_TRACE_READS, TCL_TRACE_UNSETS, TCL_TRACE_WRITES, Tcl_VarTraceInfo(), Tcl_WrongNumArgs(), and TclNewLiteralStringObj.
int Tcl_TraceVar |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
varName, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
int Tcl_TraceVar2 |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
part1, |
|
|
const char * |
part2, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
void Tcl_UntraceCommand |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
cmdName, |
|
|
int |
flags, |
|
|
Tcl_CommandTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
Definition at line 1150 of file tclTrace.c.
References Interp::activeCmdTracePtr, ckfree, CommandTrace::clientData, CMD_HAS_EXEC_TRACES, Command::flags, CommandTrace::flags, iPtr, ActiveCommandTrace::nextPtr, CommandTrace::nextPtr, ActiveCommandTrace::nextTracePtr, CommandTrace::refCount, ActiveCommandTrace::reverseScan, Tcl_FindCommand(), TCL_LEAVE_ERR_MSG, TCL_TRACE_ANY_EXEC, TCL_TRACE_DELETE, TCL_TRACE_RENAME, CommandTrace::traceProc, and Command::tracePtr.
void Tcl_UntraceVar |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
varName, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
void Tcl_UntraceVar2 |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
part1, |
|
|
const char * |
part2, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
clientData | |
|
) |
| | |
ClientData Tcl_VarTraceInfo |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
varName, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
prevClientData | |
|
) |
| | |
ClientData Tcl_VarTraceInfo2 |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
part1, |
|
|
const char * |
part2, |
|
|
int |
flags, |
|
|
Tcl_VarTraceProc * |
proc, |
|
|
ClientData |
prevClientData | |
|
) |
| | |
int TclCallVarTraces |
( |
Interp * |
iPtr, |
|
|
register Var * |
arrayPtr, |
|
|
Var * |
varPtr, |
|
|
const char * |
part1, |
|
|
const char * |
part2, |
|
|
int |
flags, |
|
|
int |
leaveErrMsg | |
|
) |
| | |
Definition at line 2488 of file tclTrace.c.
References Interp::activeVarTracePtr, VarTrace::flags, VarTrace::nextPtr, ActiveVarTrace::nextPtr, ActiveVarTrace::nextTracePtr, Tcl_DStringAppend(), Tcl_DStringInit(), Tcl_DStringValue, TCL_ERROR, Tcl_FindHashEntry, Tcl_GetHashValue, TCL_INTERP_DESTROYED, Tcl_InterpDeleted(), TCL_OK, Tcl_Preserve(), Tcl_Release(), Tcl_SaveInterpState(), TCL_TRACE_UNSETS, TclIsVarInHash, TclIsVarTraceActive, TclSetVarTraceActive, VAR_ALL_TRACES, VarHashRefCount, and ActiveVarTrace::varPtr.
int TclCheckExecutionTraces |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
command, |
|
|
int |
numChars, |
|
|
Command * |
cmdPtr, |
|
|
int |
code, |
|
|
int |
traceFlags, |
|
|
int |
objc, |
|
|
Tcl_Obj *const |
objv[] | |
|
) |
| | |
Definition at line 1394 of file tclTrace.c.
References Interp::activeCmdTracePtr, ckfree, CommandTrace::clientData, ActiveCommandTrace::cmdPtr, TraceCommandInfo::curCode, TraceCommandInfo::curFlags, TraceCommandInfo::flags, iPtr, CallFrame::level, CommandTrace::nextPtr, ActiveCommandTrace::nextPtr, ActiveCommandTrace::nextTracePtr, TraceCommandInfo::refCount, ActiveCommandTrace::reverseScan, TCL_OK, Tcl_RestoreInterpState(), Tcl_SaveInterpState(), TCL_TRACE_EXEC_DIRECT, TCL_TRACE_LEAVE_EXEC, CommandTrace::traceProc, Command::tracePtr, and Interp::varFramePtr.
int TclCheckInterpTraces |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
command, |
|
|
int |
numChars, |
|
|
Command * |
cmdPtr, |
|
|
int |
code, |
|
|
int |
traceFlags, |
|
|
int |
objc, |
|
|
Tcl_Obj *const |
objv[] | |
|
) |
| | |
Definition at line 1497 of file tclTrace.c.
References Interp::activeInterpTracePtr, TraceCommandInfo::curCode, TraceCommandInfo::curFlags, Trace::flags, Interp::flags, INTERP_TRACE_IN_PROGRESS, iPtr, Trace::level, Trace::nextPtr, ActiveInterpTrace::nextPtr, ActiveInterpTrace::nextTracePtr, Interp::numLevels, ActiveInterpTrace::reverseScan, Tcl_DiscardInterpState(), TCL_OK, Tcl_Preserve(), Tcl_Release(), Tcl_RestoreInterpState(), Tcl_SaveInterpState(), TCL_TRACE_ENTER_EXEC, TCL_TRACE_EXEC_IN_PROGRESS, TCL_TRACE_LEAVE_EXEC, and Interp::tracePtr.
int TclObjCallVarTraces |
( |
Interp * |
iPtr, |
|
|
register Var * |
arrayPtr, |
|
|
Var * |
varPtr, |
|
|
Tcl_Obj * |
part1Ptr, |
|
|
Tcl_Obj * |
part2Ptr, |
|
|
int |
flags, |
|
|
int |
leaveErrMsg, |
|
|
int |
index | |
|
) |
| | |
Var* TclVarTraceExists |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
varName | |
|
) |
| | |
Generated on Wed Mar 12 12:18:34 2008 by
1.5.1
|