Ruby
3.4.0dev (2024-12-06 revision 892c46283a5ea4179500d951c9d4866c0051f27b)
|
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. More... | |
pm_locals_t | locals |
The IDs of the locals in the given scope. More... | |
pm_node_list_t | implicit_parameters |
This is a list of the implicit parameters contained within the block. More... | |
pm_scope_parameters_t | parameters |
This is a bitfield that indicates the parameters that are being used in this scope. More... | |
pm_shareable_constant_value_t | shareable_constant |
The current state of constant shareability for this scope. More... | |
bool | closed |
A boolean indicating whether or not this scope can see into its parent. More... | |
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:
struct pm_scope* pm_scope::previous |
pm_shareable_constant_value_t pm_scope::shareable_constant |