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 PyFrame
f_back
Previous frame or null.PyObject
f_builtins
builtin symbol table.PyBaseCode
f_code
The underyling code object.PyCell[]
f_env
Nested scopes: cell + free env.PyObject[]
f_exits
with context exits - used by generated bytecodePyObject[]
f_fastlocals
PyObject
f_globals
Global symbol table.int
f_lasti
int
f_lineno
Current line number.PyObject
f_locals
Local symbol table.int
f_ncells
int
f_nfreevars
java.lang.Object[]
f_savedlocals
TraceFunction
tracefunc
An interface to functions suitable for tracing, e.g. via sys.settrace().static PyType
TYPE
-
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.Object
checkGeneratorInput()
void
delglobal(java.lang.String index)
void
dellocal(int index)
void
dellocal(java.lang.String index)
void
delTrace()
PyObject
getclosure(int index)
PyObject
getderef(int index)
PyObject
getf_locals()
Return the current f_locals dict.java.lang.Object
getGeneratorInput()
PyObject
getglobal(java.lang.String index)
int
getline()
PyObject
getlocal(int index)
PyObject
getLocals()
Return the locals dict.PyObject
getname(java.lang.String index)
PyObject
getTrace()
boolean
refersDirectlyTo(PyObject ob)
Optional operation.void
setderef(int index, PyObject value)
void
setglobal(java.lang.String index, PyObject value)
void
setline(int line)
Track the current line number.void
setlocal(int index, PyObject value)
void
setlocal(java.lang.String index, PyObject value)
void
setTrace(PyObject trace)
void
to_cell(int parm_index, int env_index)
int
traverse(Visitproc visit, java.lang.Object arg)
Traverses all directly containedPyObject
s.-
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:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as 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 anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob) throws java.lang.UnsupportedOperationException
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
- Throws:
java.lang.UnsupportedOperationException
-
-