Package org.python.core
Class PyFrame
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PyFrame
-
- All Implemented Interfaces:
java.io.Serializable,Traverseproc
public class PyFrame extends PyObject implements Traverseproc
A Python frame object.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description PyFramef_backPrevious frame or null.PyObjectf_builtinsbuiltin symbol table.PyBaseCodef_codeThe underyling code object.PyCell[]f_envNested scopes: cell + free env.PyObject[]f_exitswith context exits - used by generated bytecodePyObject[]f_fastlocalsPyObjectf_globalsGlobal symbol table.intf_lastiintf_linenoCurrent line number.PyObjectf_localsLocal symbol table.intf_ncellsintf_nfreevarsjava.lang.Object[]f_savedlocalsTraceFunctiontracefuncAn interface to functions suitable for tracing, e.g. via sys.settrace().static PyTypeTYPE-
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal
-
-
Constructor Summary
Constructors Constructor Description PyFrame(PyBaseCode code, PyObject globals)PyFrame(PyBaseCode code, PyObject locals, PyObject globals, PyObject builtins)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectcheckGeneratorInput()voiddelglobal(java.lang.String index)voiddellocal(int index)voiddellocal(java.lang.String index)voiddelTrace()PyObjectgetclosure(int index)PyObjectgetderef(int index)PyObjectgetf_locals()Return the current f_locals dict.java.lang.ObjectgetGeneratorInput()PyObjectgetglobal(java.lang.String index)intgetline()PyObjectgetlocal(int index)PyObjectgetLocals()Return the locals dict.PyObjectgetname(java.lang.String index)PyObjectgetTrace()booleanrefersDirectlyTo(PyObject ob)Optional operation.voidsetderef(int index, PyObject value)voidsetglobal(java.lang.String index, PyObject value)voidsetline(int line)Track the current line number.voidsetlocal(int index, PyObject value)voidsetlocal(java.lang.String index, PyObject value)voidsetTrace(PyObject trace)voidto_cell(int parm_index, int env_index)inttraverse(Visitproc visit, java.lang.Object arg)Traverses all directly containedPyObjects.-
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType, toString
-
-
-
-
Field Detail
-
TYPE
public static final PyType TYPE
-
f_back
public PyFrame f_back
Previous frame or null.
-
f_code
public PyBaseCode f_code
The underyling code object.
-
f_builtins
public PyObject f_builtins
builtin symbol table.
-
f_globals
public PyObject f_globals
Global symbol table.
-
f_locals
public PyObject f_locals
Local symbol table.
-
f_lineno
public int f_lineno
Current line number.
-
f_fastlocals
public PyObject[] f_fastlocals
-
f_env
public PyCell[] f_env
Nested scopes: cell + free env.
-
f_ncells
public int f_ncells
-
f_nfreevars
public int f_nfreevars
-
f_lasti
public int f_lasti
-
f_savedlocals
public java.lang.Object[] f_savedlocals
-
f_exits
public PyObject[] f_exits
with context exits - used by generated bytecode
-
tracefunc
public TraceFunction tracefunc
An interface to functions suitable for tracing, e.g. via sys.settrace().
-
-
Constructor Detail
-
PyFrame
public PyFrame(PyBaseCode code, PyObject locals, PyObject globals, PyObject builtins)
-
PyFrame
public PyFrame(PyBaseCode code, PyObject globals)
-
-
Method Detail
-
getGeneratorInput
public java.lang.Object getGeneratorInput()
-
checkGeneratorInput
public java.lang.Object checkGeneratorInput()
-
getLocals
public PyObject getLocals()
Return the locals dict. First merges the fast locals into f_locals, then returns the updated f_locals.- Returns:
- a PyObject mapping of locals
-
getTrace
public PyObject getTrace()
-
setTrace
public void setTrace(PyObject trace)
-
delTrace
public void delTrace()
-
getf_locals
public PyObject getf_locals()
Return the current f_locals dict.- Returns:
- a PyObject mapping of locals
-
setline
public void setline(int line)
Track the current line number. Called by generated code. This is not to be confused with the CPython method frame_setlineno() which causes the interpreter to jump to the given line.
-
getline
public int getline()
-
getlocal
public PyObject getlocal(int index)
-
getname
public PyObject getname(java.lang.String index)
-
getglobal
public PyObject getglobal(java.lang.String index)
-
setlocal
public void setlocal(int index, PyObject value)
-
setlocal
public void setlocal(java.lang.String index, PyObject value)
-
setglobal
public void setglobal(java.lang.String index, PyObject value)
-
dellocal
public void dellocal(int index)
-
dellocal
public void dellocal(java.lang.String index)
-
delglobal
public void delglobal(java.lang.String index)
-
getclosure
public PyObject getclosure(int index)
-
getderef
public PyObject getderef(int index)
-
setderef
public void setderef(int index, PyObject value)
-
to_cell
public void to_cell(int parm_index, int env_index)
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:TraverseprocTraverses all directly containedPyObjects. Like in CPython,argmust be passed unmodified tovisitas its second parameter. IfVisitproc.visit(PyObject, Object)returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)must not be called with anullPyObject-argument.- Specified by:
traversein interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob) throws java.lang.UnsupportedOperationException
Description copied from interface:TraverseprocOptional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)with a visitproc that just watches out forob. Must returnfalseifobisnull.- Specified by:
refersDirectlyToin interfaceTraverseproc- Throws:
java.lang.UnsupportedOperationException
-
-