Ruby 3.5.0dev (2025-02-20 revision 34098b669c0cbc024cd08e686891f1dfe0a10aaf)
Data Fields
pm_scope_node Struct Reference

Data Fields

pm_node_t base
 
struct pm_scope_nodeprevious
 
pm_node_tast_node
 
pm_node_tparameters
 
pm_node_tbody
 
pm_constant_id_list_t locals
 
const pm_parser_tparser
 
rb_encodingencoding
 
VALUEscript_lines
 This is a pointer to the list of script lines for the ISEQs that will be associated with this scope node.
 
rb_encodingfilepath_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
 
IDconstants
 
st_tableindex_lookup_table
 
int coverage_enabled
 
struct iseq_link_anchorpre_execution_anchor
 This will only be set on the top-level scope node.
 

Detailed Description

Definition at line 21 of file prism_compile.h.

Field Documentation

◆ ast_node

pm_node_t* pm_scope_node::ast_node

Definition at line 24 of file prism_compile.h.

◆ base

pm_node_t pm_scope_node::base

Definition at line 22 of file prism_compile.h.

◆ body

pm_node_t* pm_scope_node::body

Definition at line 26 of file prism_compile.h.

◆ constants

ID* pm_scope_node::constants

Definition at line 53 of file prism_compile.h.

◆ coverage_enabled

int pm_scope_node::coverage_enabled

Definition at line 57 of file prism_compile.h.

◆ encoding

rb_encoding* pm_scope_node::encoding

Definition at line 30 of file prism_compile.h.

◆ filepath_encoding

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.

◆ index_lookup_table

st_table* pm_scope_node::index_lookup_table

Definition at line 54 of file prism_compile.h.

◆ local_table_for_iseq_size

int pm_scope_node::local_table_for_iseq_size

Definition at line 51 of file prism_compile.h.

◆ locals

pm_constant_id_list_t pm_scope_node::locals

Definition at line 27 of file prism_compile.h.

◆ parameters

pm_node_t* pm_scope_node::parameters

Definition at line 25 of file prism_compile.h.

◆ parser

const pm_parser_t* pm_scope_node::parser

Definition at line 29 of file prism_compile.h.

◆ pre_execution_anchor

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.

◆ previous

struct pm_scope_node* pm_scope_node::previous

Definition at line 23 of file prism_compile.h.

◆ script_lines

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.


The documentation for this struct was generated from the following file: