Ruby
3.4.0dev (2024-12-06 revision 892c46283a5ea4179500d951c9d4866c0051f27b)
|
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. More... | |
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. More... | |
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. More... | |
Definition at line 21 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.
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.
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.