tcl.lang
Class Interp

java.lang.Object
  extended by tcl.lang.Interp

public class Interp
extends java.lang.Object

The Tcl interpreter class.


Field Summary
protected  int cmdCount
           
protected  tcl.lang.DebugInfo dbg
           
protected  boolean deleted
           
protected  boolean errAlreadyLogged
           
protected  boolean errCodeSet
           
protected  boolean errInProgress
           
protected  int returnCode
           
 
Constructor Summary
Interp()
           
 
Method Summary
 void addErrorInfo(java.lang.String message)
           
 void addInterpResolver(java.lang.String name, Resolver resolver)
          ---------------------------------------------------------------------- Tcl_AddInterpResolvers -> addInterpResolver Adds a set of command/variable resolution procedures to an interpreter.
 void backgroundError()
           
static boolean commandComplete(java.lang.String string)
           
 void createCommand(java.lang.String cmdName, Command cmdImpl)
           
protected  void createCommands()
           
 void deleteAssocData(java.lang.String name)
           
 int deleteCommand(java.lang.String cmdName)
           
 int deleteCommandFromToken(WrappedCommand cmd)
           
 void dispose()
           
 void eval(java.lang.String script)
           
 void eval(java.lang.String string, int flags)
           
 void eval(TclObject tobj, int flags)
           
 void evalFile(java.lang.String s)
           
 void evalResource(java.lang.String resName)
           
 void eventuallyDispose()
           
protected  void finalize()
           
 AssocData getAssocData(java.lang.String name)
           
 java.lang.ClassLoader getClassLoader()
           
 Command getCommand(java.lang.String cmdName)
           
 java.lang.String getCommandFullName(WrappedCommand cmd)
           
 java.lang.String getCommandName(WrappedCommand cmd)
           
 int getErrorLine()
           
 Resolver getInterpResolver(java.lang.String name)
          ---------------------------------------------------------------------- Tcl_GetInterpResolvers -> getInterpResolver Looks for a set of command/variable resolution procedures with the given name in an interpreter.
 Notifier getNotifier()
           
 TclObject getResult()
           
 TclObject getVar(java.lang.String name, int flags)
           
 TclObject getVar(java.lang.String name1, java.lang.String name2, int flags)
           
protected  tcl.lang.DebugInfo initDebugInfo()
          Initialize the debugging information.
protected  CallFrame newCallFrame()
           
protected  CallFrame newCallFrame(Procedure proc, TclObject[] objv)
           
 void pkgProvide(java.lang.String name, java.lang.String version)
           
 java.lang.String pkgRequire(java.lang.String pkgname, java.lang.String version, boolean exact)
           
 void processUnexpectedResult(int returnCode)
           
 void recordAndEval(TclObject script, int flags)
           
 boolean removeInterpResolver(java.lang.String name)
          ---------------------------------------------------------------------- Tcl_RemoveInterpResolvers -> removeInterpResolver Removes a set of command/variable resolution procedures previously added by addInterpResolver.
protected  void renameCommand(java.lang.String oldName, java.lang.String newName)
           
 void resetResult()
           
 void setAssocData(java.lang.String name, AssocData data)
           
 void setErrorCode(TclObject code)
           
 void setInterrupted()
           
 void setResult(boolean r)
           
 void setResult(double r)
           
 void setResult(int r)
           
 void setResult(java.lang.String r)
           
 void setResult(TclObject newResult)
           
 TclObject setVar(java.lang.String name1, java.lang.String name2, boolean bValue, int flags)
           
 TclObject setVar(java.lang.String name1, java.lang.String name2, double dValue, int flags)
           
 TclObject setVar(java.lang.String name1, java.lang.String name2, int intValue, int flags)
           
 TclObject setVar(java.lang.String name1, java.lang.String name2, java.lang.String strValue, int flags)
           
 TclObject setVar(java.lang.String name1, java.lang.String name2, TclObject value, int flags)
           
 TclObject setVar(java.lang.String name, TclObject value, int flags)
           
 java.lang.String toString()
           
 void traceVar(java.lang.String part1, java.lang.String part2, VarTrace trace, int flags)
           
 void traceVar(java.lang.String name, VarTrace trace, int flags)
           
 void unsetVar(java.lang.String name, int flags)
           
 void unsetVar(java.lang.String name1, java.lang.String name2, int flags)
           
 void untraceVar(java.lang.String part1, java.lang.String part2, VarTrace trace, int flags)
           
 void untraceVar(java.lang.String name, VarTrace trace, int flags)
           
 int updateReturnInfo()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cmdCount

protected int cmdCount

returnCode

protected int returnCode

deleted

protected boolean deleted

errInProgress

protected boolean errInProgress

errAlreadyLogged

protected boolean errAlreadyLogged

errCodeSet

protected boolean errCodeSet

dbg

protected tcl.lang.DebugInfo dbg
Constructor Detail

Interp

public Interp()
Method Detail

dispose

public void dispose()

eventuallyDispose

public void eventuallyDispose()

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

createCommands

protected void createCommands()

setAssocData

public void setAssocData(java.lang.String name,
                         AssocData data)

deleteAssocData

public void deleteAssocData(java.lang.String name)

getAssocData

public AssocData getAssocData(java.lang.String name)

backgroundError

public void backgroundError()

setVar

public final TclObject setVar(java.lang.String name,
                              TclObject value,
                              int flags)
                       throws TclException
Throws:
TclException

setVar

public final TclObject setVar(java.lang.String name1,
                              java.lang.String name2,
                              TclObject value,
                              int flags)
                       throws TclException
Throws:
TclException

setVar

public final TclObject setVar(java.lang.String name1,
                              java.lang.String name2,
                              java.lang.String strValue,
                              int flags)
                       throws TclException
Throws:
TclException

setVar

public final TclObject setVar(java.lang.String name1,
                              java.lang.String name2,
                              int intValue,
                              int flags)
                       throws TclException
Throws:
TclException

setVar

public final TclObject setVar(java.lang.String name1,
                              java.lang.String name2,
                              double dValue,
                              int flags)
                       throws TclException
Throws:
TclException

setVar

public final TclObject setVar(java.lang.String name1,
                              java.lang.String name2,
                              boolean bValue,
                              int flags)
                       throws TclException
Throws:
TclException

getVar

public final TclObject getVar(java.lang.String name,
                              int flags)
                       throws TclException
Throws:
TclException

getVar

public final TclObject getVar(java.lang.String name1,
                              java.lang.String name2,
                              int flags)
                       throws TclException
Throws:
TclException

unsetVar

public final void unsetVar(java.lang.String name,
                           int flags)
                    throws TclException
Throws:
TclException

unsetVar

public final void unsetVar(java.lang.String name1,
                           java.lang.String name2,
                           int flags)
                    throws TclException
Throws:
TclException

traceVar

public void traceVar(java.lang.String name,
                     VarTrace trace,
                     int flags)
              throws TclException
Throws:
TclException

traceVar

public void traceVar(java.lang.String part1,
                     java.lang.String part2,
                     VarTrace trace,
                     int flags)
              throws TclException
Throws:
TclException

untraceVar

public void untraceVar(java.lang.String name,
                       VarTrace trace,
                       int flags)

untraceVar

public void untraceVar(java.lang.String part1,
                       java.lang.String part2,
                       VarTrace trace,
                       int flags)

createCommand

public void createCommand(java.lang.String cmdName,
                          Command cmdImpl)

getCommandFullName

public java.lang.String getCommandFullName(WrappedCommand cmd)

getCommandName

public java.lang.String getCommandName(WrappedCommand cmd)

deleteCommand

public int deleteCommand(java.lang.String cmdName)

deleteCommandFromToken

public int deleteCommandFromToken(WrappedCommand cmd)

renameCommand

protected void renameCommand(java.lang.String oldName,
                             java.lang.String newName)
                      throws TclException
Throws:
TclException

getCommand

public Command getCommand(java.lang.String cmdName)

commandComplete

public static boolean commandComplete(java.lang.String string)

getResult

public final TclObject getResult()

setResult

public final void setResult(TclObject newResult)

setResult

public final void setResult(java.lang.String r)

setResult

public final void setResult(int r)

setResult

public final void setResult(double r)

setResult

public final void setResult(boolean r)

resetResult

public final void resetResult()

eval

public void eval(java.lang.String script)
          throws TclException
Throws:
TclException

eval

public void eval(java.lang.String string,
                 int flags)
          throws TclException
Throws:
TclException

eval

public void eval(TclObject tobj,
                 int flags)
          throws TclException
Throws:
TclException

recordAndEval

public void recordAndEval(TclObject script,
                          int flags)
                   throws TclException
Throws:
TclException

evalFile

public void evalFile(java.lang.String s)
              throws TclException
Throws:
TclException

evalResource

public void evalResource(java.lang.String resName)
                  throws TclException
Throws:
TclException

setErrorCode

public void setErrorCode(TclObject code)

addErrorInfo

public void addErrorInfo(java.lang.String message)

processUnexpectedResult

public void processUnexpectedResult(int returnCode)
                             throws TclException
Throws:
TclException

updateReturnInfo

public int updateReturnInfo()

newCallFrame

protected CallFrame newCallFrame(Procedure proc,
                                 TclObject[] objv)
                          throws TclException
Throws:
TclException

newCallFrame

protected CallFrame newCallFrame()

getNotifier

public Notifier getNotifier()

pkgProvide

public final void pkgProvide(java.lang.String name,
                             java.lang.String version)
                      throws TclException
Throws:
TclException

pkgRequire

public final java.lang.String pkgRequire(java.lang.String pkgname,
                                         java.lang.String version,
                                         boolean exact)
                                  throws TclException
Throws:
TclException

initDebugInfo

protected tcl.lang.DebugInfo initDebugInfo()
Initialize the debugging information.

Returns:
a DebugInfo object used by Interp in non-debugging mode.

addInterpResolver

public void addInterpResolver(java.lang.String name,
                              Resolver resolver)
---------------------------------------------------------------------- Tcl_AddInterpResolvers -> addInterpResolver Adds a set of command/variable resolution procedures to an interpreter. These procedures are consulted when commands are resolved in Namespace.findCommand, and when variables are resolved in Namespace.findNamespaceVar and thus Var.lookupVar. Each namespace may also have its own resolution object which take precedence over those for the interpreter. When a name is resolved, it is handled as follows. First, the name is passed to the resolution objects for the namespace. If not resolved, the name is passed to each of the resolution procedures added to the interpreter. Finally, if still not resolved, the name is handled using the default Tcl rules for name resolution. Results: None. Side effects: The list of resolvers of the given interpreter is modified. ----------------------------------------------------------------------


getInterpResolver

public Resolver getInterpResolver(java.lang.String name)
---------------------------------------------------------------------- Tcl_GetInterpResolvers -> getInterpResolver Looks for a set of command/variable resolution procedures with the given name in an interpreter. These procedures are registered by calling addInterpResolver. Results: If the name is recognized, this procedure returns the object implementing the name resolution procedures. If the name is not recognized, this procedure returns null. Side effects: None. ----------------------------------------------------------------------


removeInterpResolver

public boolean removeInterpResolver(java.lang.String name)
---------------------------------------------------------------------- Tcl_RemoveInterpResolvers -> removeInterpResolver Removes a set of command/variable resolution procedures previously added by addInterpResolver. The next time a command/variable name is resolved, these procedures won't be consulted. Results: Returns true if the name was recognized and the resolution scheme was deleted. Returns false otherwise. Side effects: The list of resolvers of the given interpreter may be modified. ----------------------------------------------------------------------


getErrorLine

public int getErrorLine()

getClassLoader

public java.lang.ClassLoader getClassLoader()

setInterrupted

public void setInterrupted()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object