|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttcl.lang.CallFrame
public class CallFrame
This class implements a frame in the call stack. This class can be overridden to define new variable scoping rules for the Tcl interpreter.
Field Summary | |
---|---|
CallFrame |
caller
Value of interp.frame when this procedure was invoked (i.e. |
CallFrame |
callerVar
Value of interp.varFrame when this procedure was invoked (i.e. |
Var[] |
compiledLocals
Array of local variables in a compiled proc frame. |
String[] |
compiledLocalsNames
|
boolean |
isProcCallFrame
If true, the frame was pushed to execute a Tcl procedure and may have local vars. |
int |
level
Level of recursion. |
Namespace |
ns
The Namespace this CallFrame is executing in. |
TclObject[] |
objv
Stores the arguments of the procedure associated with this CallFrame. |
HashMap |
varTable
Stores the variables of this CallFrame. |
Constructor Summary | |
---|---|
CallFrame(Interp i)
Creates a CallFrame for the global variables. |
Method Summary | |
---|---|
void |
dispose()
This method is called when this CallFrame is no longer needed. |
static int |
getFrame(Interp interp,
String string,
CallFrame[] frameArr)
Tcl_GetFrame -> getFrame Given a description of a procedure frame, such as the first argument to an "uplevel" or "upvar" command, locate the call frame for the appropriate level of procedure. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public Namespace ns
public boolean isProcCallFrame
public TclObject[] objv
public CallFrame caller
public CallFrame callerVar
public int level
public HashMap varTable
public Var[] compiledLocals
public String[] compiledLocalsNames
Constructor Detail |
---|
public CallFrame(Interp i)
i
- current interpreter.Method Detail |
---|
public static int getFrame(Interp interp, String string, CallFrame[] frameArr) throws TclException
string
- a string that specifies the level.
TclException
- if s is a valid level specifier but refers to a bad level
that doesn't exist.public void dispose()
For this procedure to work correctly, it must not be possible for any of the variable in the table to be accessed from Tcl commands (e.g. from trace procedures).
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |