tclProc.c File Reference#include "tclInt.h"
#include "tclCompile.h"
Go to the source code of this file.
|
Defines |
#define | JOE_EXTENSION 0 |
Functions |
int | Tcl_ProcObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) |
int | TclCreateProc (Tcl_Interp *interp, Namespace *nsPtr, CONST char *procName, Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr) |
int | TclGetFrame (Tcl_Interp *interp, CONST char *name, CallFrame **framePtrPtr) |
int | TclObjGetFrame (Tcl_Interp *interp, Tcl_Obj *objPtr, CallFrame **framePtrPtr) |
int | Tcl_UplevelObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) |
Proc * | TclFindProc (Interp *iPtr, CONST char *procName) |
Proc * | TclIsProc (Command *cmdPtr) |
void | TclInitCompiledLocals (Tcl_Interp *interp, CallFrame *framePtr, Namespace *nsPtr) |
void | TclFreeLocalCache (Tcl_Interp *interp, LocalCache *localCachePtr) |
int | TclObjInterpProc (ClientData clientData, register Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) |
int | TclObjInterpProcCore (register Tcl_Interp *interp, Tcl_Obj *procNameObj, int skip, ProcErrorProc errorProc) |
int | TclProcCompileProc (Tcl_Interp *interp, Proc *procPtr, Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description, CONST char *procName) |
void | TclProcDeleteProc (ClientData clientData) |
void | TclProcCleanupProc (register Proc *procPtr) |
int | TclUpdateReturnInfo (Interp *iPtr) |
TclObjCmdProcType | TclGetObjInterpProc (void) |
Tcl_Obj * | TclNewProcBodyObj (Proc *procPtr) |
int | Tcl_ApplyObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) |
int | Tcl_DisassembleObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) |
Variables |
Tcl_ObjType | tclProcBodyType |
Define Documentation
Function Documentation
int Tcl_ApplyObjCmd |
( |
ClientData |
dummy, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *CONST |
objv[] | |
|
) |
| | |
Definition at line 2586 of file tclProc.c.
References Command::clientData, ExtraFrameInfoField::clientData, Proc::cmdPtr, Interp::ensembleRewrite, ExtraFrameInfo::fields, Tcl_Obj::internalRep, Proc::iPtr, ExtraFrameInfo::length, ExtraFrameInfoField::name, Command::nsPtr, Interp::numInsertedObjs, Interp::numRemovedObjs, ExtraFrameInfoField::proc, Interp::sourceObjs, TCL_ERROR, Tcl_EvalObjv(), TCL_OK, Tcl_WrongNumArgs(), TclGetNamespaceFromObj(), TclListObjGetElements, TclObjInterpProcCore(), Tcl_Obj::twoPtrValue, and Tcl_Obj::typePtr.
int Tcl_DisassembleObjCmd |
( |
ClientData |
dummy, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *CONST |
objv[] | |
|
) |
| | |
Definition at line 2747 of file tclProc.c.
References Proc::bodyPtr, Proc::cmdPtr, Tcl_Obj::internalRep, Proc::iPtr, Command::nsPtr, Tcl_Obj::otherValuePtr, Tcl_AppendResult(), TCL_BYTECODE_PRECOMPILED, TCL_ERROR, Tcl_GetIndexFromObj(), TCL_OK, Tcl_SetObjResult(), Tcl_WrongNumArgs(), tclByteCodeType, TclDisassembleByteCodeObj(), TclFindProc(), TclGetNamespaceFromObj(), TclGetString, TclPopStackFrame(), TclSetByteCodeFromAny(), and Tcl_Obj::twoPtrValue.
int Tcl_ProcObjCmd |
( |
ClientData |
dummy, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *CONST |
objv[] | |
|
) |
| | |
Definition at line 115 of file tclProc.c.
References ckalloc, CmdFrame::cmd, Interp::cmdFramePtr, CONST, CmdFrame::data, CmdFrame::eval, CmdFrame::framePtr, Namespace::fullName, Interp::globalNsPtr, iPtr, CmdFrame::level, CmdFrame::line, Interp::linePBodyPtr, CmdFrame::nextPtr, CmdFrame::nline, Tcl_AddErrorInfo(), Tcl_AppendResult(), Tcl_CreateHashEntry, Tcl_CreateObjCommand(), Tcl_DecrRefCount, Tcl_DStringAppend(), Tcl_DStringFree(), Tcl_DStringInit(), Tcl_DStringValue, TCL_ERROR, Tcl_IncrRefCount, TCL_LOCATION_BC, TCL_LOCATION_SOURCE, TCL_OK, Tcl_SetHashValue, Tcl_WrongNumArgs(), TclCompileNoOp(), TclCreateProc(), TclGetNamespaceForQualName(), TclGetSrcInfoForPc(), TclGetString, TclObjInterpProc(), tclProcBodyType, TclProcDeleteProc(), TclStackAlloc(), TclStackFree(), CmdFrame::type, and UCHAR.
int Tcl_UplevelObjCmd |
( |
ClientData |
dummy, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *CONST |
objv[] | |
|
) |
| | |
Definition at line 362 of file tclProc.c.
References Proc::bodyPtr, ckalloc, ckfree, CONST, CompiledLocal::defValuePtr, Proc::firstLocalPtr, CompiledLocal::flags, CompiledLocal::frameIndex, Tcl_Obj::internalRep, Proc::iPtr, iPtr, Proc::lastLocalPtr, CompiledLocal::name, CompiledLocal::nameLength, CompiledLocal::nextPtr, Proc::numArgs, Proc::numCompiledLocals, Tcl_Obj::otherValuePtr, Proc::refCount, CompiledLocal::resolveInfo, Tcl_AppendResult(), Tcl_DecrRefCount, TCL_ERROR, Tcl_IncrRefCount, Tcl_IsShared, Tcl_NewStringObj(), Tcl_ObjPrintf(), TCL_OK, Tcl_SetObjResult(), Tcl_SplitList(), TclGetStringFromObj, tclProcBodyType, Tcl_Obj::typePtr, VAR_ARGUMENT, and VAR_IS_ARGS.
Referenced by Tcl_ProcObjCmd().
Proc* TclFindProc |
( |
Interp * |
iPtr, |
|
|
CONST char * |
procName | |
|
) |
| | |
Definition at line 1118 of file tclProc.c.
References Proc::bodyPtr, CallFrame::compiledLocals, Tcl_Obj::internalRep, CallFrame::localCachePtr, ByteCode::localCachePtr, CallFrame::numCompiledLocals, Tcl_Obj::otherValuePtr, CallFrame::procPtr, LocalCache::refCount, Tcl_Panic(), tclByteCodeType, and Tcl_Obj::typePtr.
Definition at line 752 of file tclProc.c.
References CallFrame::callerVarPtr, CONST, INT2PTR, Tcl_Obj::internalRep, iPtr, CallFrame::level, PTR2INT, Tcl_AppendResult(), Tcl_GetInt(), TCL_OK, Tcl_ResetResult(), TclFreeIntRep, TclGetIntFromObj, TclGetString, tclIntType, tclWideIntType, Tcl_Obj::twoPtrValue, Tcl_Obj::typePtr, UCHAR, and Interp::varFramePtr.
Referenced by Tcl_UplevelObjCmd(), Tcl_UpvarObjCmd(), TclCompileUpvarCmd(), and TclExecuteByteCode().
int TclObjInterpProc |
( |
ClientData |
clientData, |
|
|
register Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *CONST |
objv[] | |
|
) |
| | |
Definition at line 1640 of file tclProc.c.
References Proc::bodyPtr, Interp::cmdFramePtr, CallFrame::compiledLocals, FRAME_IS_LAMBDA, Interp::framePtr, Tcl_Obj::internalRep, CallFrame::isProcCallFrame, Interp::numLevels, CallFrame::objc, CallFrame::objv, Tcl_Obj::otherValuePtr, CallFrame::procPtr, ByteCode::refCount, Proc::refCount, Tcl_AppendResult(), TCL_BREAK, TCL_CONTINUE, TCL_DTRACE_PROC_ARGS, TCL_DTRACE_PROC_ARGS_ENABLED, TCL_DTRACE_PROC_ENTRY, TCL_DTRACE_PROC_ENTRY_ENABLED, TCL_DTRACE_PROC_INFO, TCL_DTRACE_PROC_INFO_ENABLED, TCL_DTRACE_PROC_RESULT, TCL_DTRACE_PROC_RESULT_ENABLED, TCL_DTRACE_PROC_RETURN, TCL_DTRACE_PROC_RETURN_ENABLED, TCL_ERROR, Tcl_GetObjResult(), TCL_OK, Tcl_PopCallFrame(), Tcl_ResetResult(), TCL_RETURN, TclCleanupByteCode(), TclDecrRefCount, TclDTraceInfo, TclExecuteByteCode(), TclGetString, TclInfoFrame(), TclInterpReady(), TclPrintObject(), TclProcCleanupProc(), TclStackFree(), TclUpdateReturnInfo(), and Interp::varFramePtr.
Referenced by Tcl_ApplyObjCmd(), and TclObjInterpProc().
void TclProcCleanupProc |
( |
register Proc * |
procPtr |
) |
|
Definition at line 2119 of file tclProc.c.
References ckfree, CmdFrame::data, CompiledLocal::defValuePtr, Tcl_ResolvedVarInfo::deleteProc, CmdFrame::eval, CmdFrame::line, Interp::linePBodyPtr, CompiledLocal::nextPtr, CompiledLocal::resolveInfo, Tcl_DecrRefCount, Tcl_DeleteHashEntry(), Tcl_FindHashEntry, Tcl_GetHashValue, TCL_LOCATION_SOURCE, and CmdFrame::type.
void TclProcDeleteProc |
( |
ClientData |
clientData |
) |
|
int TclUpdateReturnInfo |
( |
Interp * |
iPtr |
) |
|
Definition at line 2201 of file tclProc.c.
References ERR_LEGACY_COPY, Interp::flags, Interp::returnCode, Interp::returnLevel, TCL_ERROR, Tcl_Panic(), and TCL_RETURN.
Referenced by Tcl_EvalObjv(), Tcl_FSEvalFileEx(), TclEvalEx(), TclEvalObjEx(), and TclObjInterpProcCore().
Variable Documentation
Initial value: {
"procbody",
ProcBodyFree,
ProcBodyDup,
NULL,
NULL
}
Definition at line 54 of file tclProc.c.
Generated on Wed Mar 12 12:18:33 2008 by
1.5.1
|