Package org.python.util
Class InteractiveInterpreter
- java.lang.Object
-
- org.python.util.PythonInterpreter
-
- org.python.util.InteractiveInterpreter
-
- Direct Known Subclasses:
InteractiveConsole
public class InteractiveInterpreter extends PythonInterpreter
-
-
Constructor Summary
Constructors Constructor Description InteractiveInterpreter()
InteractiveInterpreter(PyObject locals)
InteractiveInterpreter(PyObject locals, PySystemState systemState)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
interrupt(ThreadState ts)
Pause the current code, sneak an exception raiser into sys.trace_func, and then continue the code hoping that Jython will get control to do the break;void
resetbuffer()
void
runcode(PyObject code)
execute a code object.boolean
runsource(java.lang.String source)
Compile and run some source in the interpreter.boolean
runsource(java.lang.String source, java.lang.String filename)
boolean
runsource(java.lang.String source, java.lang.String filename, java.lang.String symbol)
void
showexception(PyException exc)
void
write(java.lang.String data)
-
-
-
Constructor Detail
-
InteractiveInterpreter
public InteractiveInterpreter()
-
InteractiveInterpreter
public InteractiveInterpreter(PyObject locals)
-
InteractiveInterpreter
public InteractiveInterpreter(PyObject locals, PySystemState systemState)
-
-
Method Detail
-
runsource
public boolean runsource(java.lang.String source)
Compile and run some source in the interpreter. Arguments are as for compile_command(). One several things can happen: 1) The input is incorrect; compile_command() raised an exception (SyntaxError or OverflowError). A syntax traceback will be printed by calling the showsyntaxerror() method. 2) The input is incomplete, and more input is required; compile_command() returned None. Nothing happens. 3) The input is complete; compile_command() returned a code object. The code is executed by calling self.runcode() (which also handles run-time exceptions, except for SystemExit). The return value is 1 in case 2, 0 in the other cases (unless an exception is raised). The return value can be used to decide whether to use sys.ps1 or sys.ps2 to prompt the next line.
-
runsource
public boolean runsource(java.lang.String source, java.lang.String filename)
-
runsource
public boolean runsource(java.lang.String source, java.lang.String filename, java.lang.String symbol)
-
runcode
public void runcode(PyObject code)
execute a code object. When an exception occurs, self.showtraceback() is called to display a traceback. All exceptions are caught except SystemExit, which is reraised. A note about KeyboardInterrupt: this exception may occur elsewhere in this code, and may not always be caught. The caller should be prepared to deal with it.
-
showexception
public void showexception(PyException exc)
-
write
public void write(java.lang.String data)
-
resetbuffer
public void resetbuffer()
-
interrupt
public void interrupt(ThreadState ts)
Pause the current code, sneak an exception raiser into sys.trace_func, and then continue the code hoping that Jython will get control to do the break;
-
-