Ruby 3.5.0dev (2025-02-20 revision 34098b669c0cbc024cd08e686891f1dfe0a10aaf)
|
Data Fields | |
pm_node_t | base |
struct pm_scope_node * | previous |
pm_node_t * | ast_node |
pm_node_t * | parameters |
pm_node_t * | body |
pm_constant_id_list_t | locals |
const pm_parser_t * | parser |
rb_encoding * | encoding |
VALUE * | script_lines |
This is a pointer to the list of script lines for the ISEQs that will be associated with this scope node. | |
rb_encoding * | filepath_encoding |
This is the encoding of the actual filepath object that will be used when a FILE node is compiled or when the path has to be set on a syntax error. | |
int | local_table_for_iseq_size |
ID * | constants |
st_table * | index_lookup_table |
int | coverage_enabled |
struct iseq_link_anchor * | pre_execution_anchor |
This will only be set on the top-level scope node. | |
Definition at line 21 of file prism_compile.h.
pm_node_t* pm_scope_node::ast_node |
Definition at line 24 of file prism_compile.h.
pm_node_t pm_scope_node::base |
Definition at line 22 of file prism_compile.h.
pm_node_t* pm_scope_node::body |
Definition at line 26 of file prism_compile.h.
ID* pm_scope_node::constants |
Definition at line 53 of file prism_compile.h.
int pm_scope_node::coverage_enabled |
Definition at line 57 of file prism_compile.h.
rb_encoding* pm_scope_node::encoding |
Definition at line 30 of file prism_compile.h.
rb_encoding* pm_scope_node::filepath_encoding |
This is the encoding of the actual filepath object that will be used when a FILE node is compiled or when the path has to be set on a syntax error.
Definition at line 47 of file prism_compile.h.
st_table* pm_scope_node::index_lookup_table |
Definition at line 54 of file prism_compile.h.
int pm_scope_node::local_table_for_iseq_size |
Definition at line 51 of file prism_compile.h.
pm_constant_id_list_t pm_scope_node::locals |
Definition at line 27 of file prism_compile.h.
pm_node_t* pm_scope_node::parameters |
Definition at line 25 of file prism_compile.h.
const pm_parser_t* pm_scope_node::parser |
Definition at line 29 of file prism_compile.h.
struct iseq_link_anchor* pm_scope_node::pre_execution_anchor |
This will only be set on the top-level scope node.
It will contain all of the instructions pertaining to BEGIN{} nodes.
Definition at line 63 of file prism_compile.h.
struct pm_scope_node* pm_scope_node::previous |
Definition at line 23 of file prism_compile.h.
VALUE* pm_scope_node::script_lines |
This is a pointer to the list of script lines for the ISEQs that will be associated with this scope node.
It is only set if RubyVM.keep_script_lines is true. If it is set, it will be set to a pointer to an array that is always stack allocated (so no GC marking is needed by this struct). If it is not set, it will be NULL. It is inherited by all child scopes.
Definition at line 40 of file prism_compile.h.