|
|
|
|
|
from __future__ import absolute_import |
|
|
|
|
|
cimport cython |
|
|
from ..StringIOTree cimport StringIOTree |
|
|
|
|
|
|
|
|
cdef class UtilityCodeBase(object): |
|
|
cpdef format_code(self, code_string, replace_empty_lines=*) |
|
|
|
|
|
|
|
|
cdef class UtilityCode(UtilityCodeBase): |
|
|
cdef public object name |
|
|
cdef public object proto |
|
|
cdef public object impl |
|
|
cdef public object init |
|
|
cdef public object cleanup |
|
|
cdef public object proto_block |
|
|
cdef public object requires |
|
|
cdef public dict _cache |
|
|
cdef public list specialize_list |
|
|
cdef public object file |
|
|
|
|
|
cpdef none_or_sub(self, s, context) |
|
|
|
|
|
|
|
|
cdef class FunctionState: |
|
|
cdef public set names_taken |
|
|
cdef public object owner |
|
|
cdef public object scope |
|
|
|
|
|
cdef public object error_label |
|
|
cdef public size_t label_counter |
|
|
cdef public set labels_used |
|
|
cdef public object return_label |
|
|
cdef public object continue_label |
|
|
cdef public object break_label |
|
|
cdef public list yield_labels |
|
|
|
|
|
cdef public object return_from_error_cleanup_label |
|
|
|
|
|
cdef public object exc_vars |
|
|
cdef public object current_except |
|
|
cdef public bint in_try_finally |
|
|
cdef public bint can_trace |
|
|
cdef public bint gil_owned |
|
|
|
|
|
cdef public list temps_allocated |
|
|
cdef public dict temps_free |
|
|
cdef public dict temps_used_type |
|
|
cdef public set zombie_temps |
|
|
cdef public size_t temp_counter |
|
|
cdef public list collect_temps_stack |
|
|
|
|
|
cdef public object closure_temps |
|
|
cdef public bint should_declare_error_indicator |
|
|
cdef public bint uses_error_indicator |
|
|
|
|
|
@cython.locals(n=size_t) |
|
|
cpdef new_label(self, name=*) |
|
|
cpdef tuple get_loop_labels(self) |
|
|
cpdef set_loop_labels(self, labels) |
|
|
cpdef tuple get_all_labels(self) |
|
|
cpdef set_all_labels(self, labels) |
|
|
cpdef start_collecting_temps(self) |
|
|
cpdef stop_collecting_temps(self) |
|
|
|
|
|
cpdef list temps_in_use(self) |
|
|
|
|
|
cdef class IntConst: |
|
|
cdef public object cname |
|
|
cdef public object value |
|
|
cdef public bint is_long |
|
|
|
|
|
cdef class PyObjectConst: |
|
|
cdef public object cname |
|
|
cdef public object type |
|
|
|
|
|
cdef class StringConst: |
|
|
cdef public object cname |
|
|
cdef public object text |
|
|
cdef public object escaped_value |
|
|
cdef public dict py_strings |
|
|
cdef public list py_versions |
|
|
|
|
|
@cython.locals(intern=bint, is_str=bint, is_unicode=bint) |
|
|
cpdef get_py_string_const(self, encoding, identifier=*, is_str=*, py3str_cstring=*) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cdef class CCodeWriter(object): |
|
|
cdef readonly StringIOTree buffer |
|
|
cdef readonly list pyclass_stack |
|
|
cdef readonly object globalstate |
|
|
cdef readonly object funcstate |
|
|
cdef object code_config |
|
|
cdef object last_pos |
|
|
cdef object last_marked_pos |
|
|
cdef Py_ssize_t level |
|
|
cdef public Py_ssize_t call_level |
|
|
cdef bint bol |
|
|
|
|
|
cpdef write(self, s) |
|
|
cpdef put(self, code) |
|
|
cpdef put_safe(self, code) |
|
|
cpdef putln(self, code=*, bint safe=*) |
|
|
@cython.final |
|
|
cdef increase_indent(self) |
|
|
@cython.final |
|
|
cdef decrease_indent(self) |
|
|
|
|
|
|
|
|
cdef class PyrexCodeWriter: |
|
|
cdef public object f |
|
|
cdef public Py_ssize_t level |
|
|
|