| Ruby 3.5.0dev (2025-10-31 revision 5b2707f39b1485620b9e91573a90d93c2129e126)
    | 
This struct represents a node in a linked list of scopes. More...
#include <parser.h>
| Data Fields | |
| struct pm_scope * | previous | 
| A pointer to the previous scope in the linked list. | |
| pm_locals_t | locals | 
| The IDs of the locals in the given scope. | |
| pm_node_list_t | implicit_parameters | 
| This is a list of the implicit parameters contained within the block. | |
| pm_scope_parameters_t | parameters | 
| This is a bitfield that indicates the parameters that are being used in this scope. | |
| pm_shareable_constant_value_t | shareable_constant | 
| The current state of constant shareability for this scope. | |
| bool | closed | 
| A boolean indicating whether or not this scope can see into its parent. | |
This struct represents a node in a linked list of scopes.
Some scopes can see into their parent scopes, while others cannot.
| bool pm_scope::closed | 
| pm_node_list_t pm_scope::implicit_parameters | 
| pm_locals_t pm_scope::locals | 
| pm_scope_parameters_t pm_scope::parameters | 
This is a bitfield that indicates the parameters that are being used in this scope.
It is a combination of the PM_SCOPE_PARAMETERS_* constants. There are three different kinds of parameters that can be used in a scope:
If ordinary parameters are being used, then certain parameters can be forwarded to another method/structure. Those are indicated by four additional bits in the params field. For example, some combinations of:
Definition at line 614 of file parser.h.
Referenced by pm_parser::pm_parser_init().
| struct pm_scope* pm_scope::previous | 
| pm_shareable_constant_value_t pm_scope::shareable_constant |