Class: Prism::Compiler
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Visitor,
BasicVisitor
|
|
|
Instance Chain:
self,
Visitor,
BasicVisitor
|
|
| Inherits: |
Prism::Visitor
|
| Defined in: | lib/prism/compiler.rb |
Overview
A compiler is a visitor that returns the value of each node as it visits. This is as opposed to a visitor which will only walk the tree. This can be useful when you are trying to compile a tree into a different format.
For example, to build a representation of the tree as s-expressions, you could write:
class SExpressions < Prism::Compiler
def visit_arguments_node(node) = [:arguments, super]
def visit_call_node(node) = [:call, super]
def visit_integer_node(node) = [:integer]
def visit_program_node(node) = [:program, super]
end
Prism.parse("1 + 2").value.accept(SExpressions.new)
# => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]]
Instance Method Summary
-
#visit(node)
Visit an individual node.
-
#visit_alias_global_variable_node(node)
Compile a
AliasGlobalVariableNodenode. -
#visit_alias_method_node(node)
Compile a
AliasMethodNodenode. -
#visit_all(nodes)
Visit a list of nodes.
-
#visit_alternation_pattern_node(node)
Compile a
AlternationPatternNodenode. -
#visit_and_node(node)
Compile a
AndNodenode. -
#visit_arguments_node(node)
Compile a
ArgumentsNodenode. -
#visit_array_node(node)
Compile a
ArrayNodenode. -
#visit_array_pattern_node(node)
Compile a
ArrayPatternNodenode. -
#visit_assoc_node(node)
Compile a
AssocNodenode. -
#visit_assoc_splat_node(node)
Compile a
AssocSplatNodenode. -
#visit_back_reference_read_node(node)
Compile a
BackReferenceReadNodenode. -
#visit_begin_node(node)
Compile a
BeginNodenode. -
#visit_block_argument_node(node)
Compile a
BlockArgumentNodenode. -
#visit_block_local_variable_node(node)
Compile a
BlockLocalVariableNodenode. -
#visit_block_node(node)
Compile a
BlockNodenode. -
#visit_block_parameter_node(node)
Compile a
BlockParameterNodenode. -
#visit_block_parameters_node(node)
Compile a
BlockParametersNodenode. -
#visit_break_node(node)
Compile a
BreakNodenode. -
#visit_call_and_write_node(node)
Compile a
CallAndWriteNodenode. -
#visit_call_node(node)
Compile a
CallNodenode. -
#visit_call_operator_write_node(node)
Compile a
CallOperatorWriteNodenode. -
#visit_call_or_write_node(node)
Compile a
CallOrWriteNodenode. -
#visit_call_target_node(node)
Compile a
CallTargetNodenode. -
#visit_capture_pattern_node(node)
Compile a
CapturePatternNodenode. -
#visit_case_match_node(node)
Compile a
CaseMatchNodenode. -
#visit_case_node(node)
Compile a
CaseNodenode. -
#visit_child_nodes(node)
Visit the child nodes of the given node.
-
#visit_class_node(node)
Compile a
ClassNodenode. -
#visit_class_variable_and_write_node(node)
Compile a
ClassVariableAndWriteNodenode. -
#visit_class_variable_operator_write_node(node)
Compile a
ClassVariableOperatorWriteNodenode. -
#visit_class_variable_or_write_node(node)
Compile a
ClassVariableOrWriteNodenode. -
#visit_class_variable_read_node(node)
Compile a
ClassVariableReadNodenode. -
#visit_class_variable_target_node(node)
Compile a
ClassVariableTargetNodenode. -
#visit_class_variable_write_node(node)
Compile a
ClassVariableWriteNodenode. -
#visit_constant_and_write_node(node)
Compile a
ConstantAndWriteNodenode. -
#visit_constant_operator_write_node(node)
Compile a
ConstantOperatorWriteNodenode. -
#visit_constant_or_write_node(node)
Compile a
ConstantOrWriteNodenode. -
#visit_constant_path_and_write_node(node)
Compile a
ConstantPathAndWriteNodenode. -
#visit_constant_path_node(node)
Compile a
ConstantPathNodenode. -
#visit_constant_path_operator_write_node(node)
Compile a
ConstantPathOperatorWriteNodenode. -
#visit_constant_path_or_write_node(node)
Compile a
ConstantPathOrWriteNodenode. -
#visit_constant_path_target_node(node)
Compile a
ConstantPathTargetNodenode. -
#visit_constant_path_write_node(node)
Compile a
ConstantPathWriteNodenode. -
#visit_constant_read_node(node)
Compile a
ConstantReadNodenode. -
#visit_constant_target_node(node)
Compile a
ConstantTargetNodenode. -
#visit_constant_write_node(node)
Compile a
ConstantWriteNodenode. -
#visit_def_node(node)
Compile a
DefNodenode. -
#visit_defined_node(node)
Compile a
DefinedNodenode. -
#visit_else_node(node)
Compile a
ElseNodenode. -
#visit_embedded_statements_node(node)
Compile a
EmbeddedStatementsNodenode. -
#visit_embedded_variable_node(node)
Compile a
EmbeddedVariableNodenode. -
#visit_ensure_node(node)
Compile a
EnsureNodenode. -
#visit_false_node(node)
Compile a
FalseNodenode. -
#visit_find_pattern_node(node)
Compile a
FindPatternNodenode. -
#visit_flip_flop_node(node)
Compile a
FlipFlopNodenode. -
#visit_float_node(node)
Compile a
FloatNodenode. -
#visit_for_node(node)
Compile a
ForNodenode. -
#visit_forwarding_arguments_node(node)
Compile a
ForwardingArgumentsNodenode. -
#visit_forwarding_parameter_node(node)
Compile a
ForwardingParameterNodenode. -
#visit_forwarding_super_node(node)
Compile a
ForwardingSuperNodenode. -
#visit_global_variable_and_write_node(node)
Compile a
GlobalVariableAndWriteNodenode. -
#visit_global_variable_operator_write_node(node)
Compile a
GlobalVariableOperatorWriteNodenode. -
#visit_global_variable_or_write_node(node)
Compile a
GlobalVariableOrWriteNodenode. -
#visit_global_variable_read_node(node)
Compile a
GlobalVariableReadNodenode. -
#visit_global_variable_target_node(node)
Compile a
GlobalVariableTargetNodenode. -
#visit_global_variable_write_node(node)
Compile a
GlobalVariableWriteNodenode. -
#visit_hash_node(node)
Compile a
HashNodenode. -
#visit_hash_pattern_node(node)
Compile a
HashPatternNodenode. -
#visit_if_node(node)
Compile a
IfNodenode. -
#visit_imaginary_node(node)
Compile a
ImaginaryNodenode. -
#visit_implicit_node(node)
Compile a
ImplicitNodenode. -
#visit_implicit_rest_node(node)
Compile a
ImplicitRestNodenode. -
#visit_in_node(node)
Compile a
InNodenode. -
#visit_index_and_write_node(node)
Compile a
IndexAndWriteNodenode. -
#visit_index_operator_write_node(node)
Compile a
IndexOperatorWriteNodenode. -
#visit_index_or_write_node(node)
Compile a
IndexOrWriteNodenode. -
#visit_index_target_node(node)
Compile a
IndexTargetNodenode. -
#visit_instance_variable_and_write_node(node)
Compile a
InstanceVariableAndWriteNodenode. -
#visit_instance_variable_operator_write_node(node)
Compile a
InstanceVariableOperatorWriteNodenode. -
#visit_instance_variable_or_write_node(node)
Compile a
InstanceVariableOrWriteNodenode. -
#visit_instance_variable_read_node(node)
Compile a
InstanceVariableReadNodenode. -
#visit_instance_variable_target_node(node)
Compile a
InstanceVariableTargetNodenode. -
#visit_instance_variable_write_node(node)
Compile a
InstanceVariableWriteNodenode. -
#visit_integer_node(node)
Compile a
IntegerNodenode. -
#visit_interpolated_match_last_line_node(node)
Compile a
InterpolatedMatchLastLineNodenode. -
#visit_interpolated_regular_expression_node(node)
Compile a
InterpolatedRegularExpressionNodenode. -
#visit_interpolated_string_node(node)
Compile a
InterpolatedStringNodenode. -
#visit_interpolated_symbol_node(node)
Compile a
InterpolatedSymbolNodenode. -
#visit_interpolated_x_string_node(node)
Compile a
InterpolatedXStringNodenode. -
#visit_it_local_variable_read_node(node)
Compile a
ItLocalVariableReadNodenode. -
#visit_it_parameters_node(node)
Compile a
ItParametersNodenode. -
#visit_keyword_hash_node(node)
Compile a
KeywordHashNodenode. -
#visit_keyword_rest_parameter_node(node)
Compile a
KeywordRestParameterNodenode. -
#visit_lambda_node(node)
Compile a
LambdaNodenode. -
#visit_local_variable_and_write_node(node)
Compile a
LocalVariableAndWriteNodenode. -
#visit_local_variable_operator_write_node(node)
Compile a
LocalVariableOperatorWriteNodenode. -
#visit_local_variable_or_write_node(node)
Compile a
LocalVariableOrWriteNodenode. -
#visit_local_variable_read_node(node)
Compile a
LocalVariableReadNodenode. -
#visit_local_variable_target_node(node)
Compile a
LocalVariableTargetNodenode. -
#visit_local_variable_write_node(node)
Compile a
LocalVariableWriteNodenode. -
#visit_match_last_line_node(node)
Compile a
MatchLastLineNodenode. -
#visit_match_predicate_node(node)
Compile a
MatchPredicateNodenode. -
#visit_match_required_node(node)
Compile a
MatchRequiredNodenode. -
#visit_match_write_node(node)
Compile a
MatchWriteNodenode. -
#visit_missing_node(node)
Compile a
MissingNodenode. -
#visit_module_node(node)
Compile a
ModuleNodenode. -
#visit_multi_target_node(node)
Compile a
MultiTargetNodenode. -
#visit_multi_write_node(node)
Compile a
MultiWriteNodenode. -
#visit_next_node(node)
Compile a
NextNodenode. -
#visit_nil_node(node)
Compile a
NilNodenode. -
#visit_no_keywords_parameter_node(node)
Compile a
NoKeywordsParameterNodenode. -
#visit_numbered_parameters_node(node)
Compile a
NumberedParametersNodenode. -
#visit_numbered_reference_read_node(node)
Compile a
NumberedReferenceReadNodenode. -
#visit_optional_keyword_parameter_node(node)
Compile a
OptionalKeywordParameterNodenode. -
#visit_optional_parameter_node(node)
Compile a
OptionalParameterNodenode. -
#visit_or_node(node)
Compile a
OrNodenode. -
#visit_parameters_node(node)
Compile a
ParametersNodenode. -
#visit_parentheses_node(node)
Compile a
ParenthesesNodenode. -
#visit_pinned_expression_node(node)
Compile a
PinnedExpressionNodenode. -
#visit_pinned_variable_node(node)
Compile a
PinnedVariableNodenode. -
#visit_post_execution_node(node)
Compile a
PostExecutionNodenode. -
#visit_pre_execution_node(node)
Compile a
PreExecutionNodenode. -
#visit_program_node(node)
Compile a
ProgramNodenode. -
#visit_range_node(node)
Compile a
RangeNodenode. -
#visit_rational_node(node)
Compile a
RationalNodenode. -
#visit_redo_node(node)
Compile a
RedoNodenode. -
#visit_regular_expression_node(node)
Compile a
RegularExpressionNodenode. -
#visit_required_keyword_parameter_node(node)
Compile a
RequiredKeywordParameterNodenode. -
#visit_required_parameter_node(node)
Compile a
RequiredParameterNodenode. -
#visit_rescue_modifier_node(node)
Compile a
RescueModifierNodenode. -
#visit_rescue_node(node)
Compile a
RescueNodenode. -
#visit_rest_parameter_node(node)
Compile a
RestParameterNodenode. -
#visit_retry_node(node)
Compile a
RetryNodenode. -
#visit_return_node(node)
Compile a
ReturnNodenode. -
#visit_self_node(node)
Compile a
SelfNodenode. -
#visit_shareable_constant_node(node)
Compile a
ShareableConstantNodenode. -
#visit_singleton_class_node(node)
Compile a
SingletonClassNodenode. -
#visit_source_encoding_node(node)
Compile a
SourceEncodingNodenode. -
#visit_source_file_node(node)
Compile a
SourceFileNodenode. -
#visit_source_line_node(node)
Compile a
SourceLineNodenode. -
#visit_splat_node(node)
Compile a
SplatNodenode. -
#visit_statements_node(node)
Compile a
StatementsNodenode. -
#visit_string_node(node)
Compile a
StringNodenode. -
#visit_super_node(node)
Compile a
SuperNodenode. -
#visit_symbol_node(node)
Compile a
SymbolNodenode. -
#visit_true_node(node)
Compile a
TrueNodenode. -
#visit_undef_node(node)
Compile a
UndefNodenode. -
#visit_unless_node(node)
Compile a
UnlessNodenode. -
#visit_until_node(node)
Compile a
UntilNodenode. -
#visit_when_node(node)
Compile a
WhenNodenode. -
#visit_while_node(node)
Compile a
WhileNodenode. -
#visit_x_string_node(node)
Compile a
XStringNodenode. -
#visit_yield_node(node)
Compile a
YieldNodenode.
Visitor - Inherited
BasicVisitor - Inherited
| #visit | Calls |
| #visit_all | Visits each node in |
| #visit_child_nodes | Visits the child nodes of |
Instance Method Details
#visit(node)
Visit an individual node.
# File 'lib/prism/compiler.rb', line 32
def visit(node) node&.accept(self) end
#visit_alias_global_variable_node(node)
Compile a AliasGlobalVariableNode node
# File 'lib/prism/compiler.rb', line 47
def visit_alias_global_variable_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_alias_method_node(node)
Compile a AliasMethodNode node
# File 'lib/prism/compiler.rb', line 52
def visit_alias_method_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_all(nodes)
Visit a list of nodes.
# File 'lib/prism/compiler.rb', line 37
def visit_all(nodes) nodes.map { |node| node&.accept(self) } end
#visit_alternation_pattern_node(node)
Compile a AlternationPatternNode node
# File 'lib/prism/compiler.rb', line 57
def visit_alternation_pattern_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_and_node(node)
Compile a AndNode node
# File 'lib/prism/compiler.rb', line 62
def visit_and_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_arguments_node(node)
Compile a ArgumentsNode node
# File 'lib/prism/compiler.rb', line 67
def visit_arguments_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_array_node(node)
Compile a ArrayNode node
# File 'lib/prism/compiler.rb', line 72
def visit_array_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_array_pattern_node(node)
Compile a ArrayPatternNode node
# File 'lib/prism/compiler.rb', line 77
def visit_array_pattern_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_assoc_node(node)
Compile a AssocNode node
# File 'lib/prism/compiler.rb', line 82
def visit_assoc_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_assoc_splat_node(node)
Compile a AssocSplatNode node
# File 'lib/prism/compiler.rb', line 87
def visit_assoc_splat_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_back_reference_read_node(node)
Compile a BackReferenceReadNode node
# File 'lib/prism/compiler.rb', line 92
def visit_back_reference_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_begin_node(node)
Compile a BeginNode node
# File 'lib/prism/compiler.rb', line 97
def visit_begin_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_block_argument_node(node)
Compile a BlockArgumentNode node
# File 'lib/prism/compiler.rb', line 102
def visit_block_argument_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_block_local_variable_node(node)
Compile a BlockLocalVariableNode node
# File 'lib/prism/compiler.rb', line 107
def visit_block_local_variable_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_block_node(node)
Compile a BlockNode node
# File 'lib/prism/compiler.rb', line 112
def visit_block_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_block_parameter_node(node)
Compile a BlockParameterNode node
# File 'lib/prism/compiler.rb', line 117
def visit_block_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_block_parameters_node(node)
Compile a BlockParametersNode node
# File 'lib/prism/compiler.rb', line 122
def visit_block_parameters_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_break_node(node)
Compile a BreakNode node
# File 'lib/prism/compiler.rb', line 127
def visit_break_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_call_and_write_node(node)
Compile a CallAndWriteNode node
# File 'lib/prism/compiler.rb', line 132
def visit_call_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_call_node(node)
Compile a CallNode node
# File 'lib/prism/compiler.rb', line 137
def visit_call_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_call_operator_write_node(node)
Compile a CallOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 142
def visit_call_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_call_or_write_node(node)
Compile a CallOrWriteNode node
# File 'lib/prism/compiler.rb', line 147
def visit_call_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_call_target_node(node)
Compile a CallTargetNode node
# File 'lib/prism/compiler.rb', line 152
def visit_call_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_capture_pattern_node(node)
Compile a CapturePatternNode node
# File 'lib/prism/compiler.rb', line 157
def visit_capture_pattern_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_case_match_node(node)
Compile a CaseMatchNode node
# File 'lib/prism/compiler.rb', line 162
def visit_case_match_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_case_node(node)
Compile a CaseNode node
# File 'lib/prism/compiler.rb', line 167
def visit_case_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_child_nodes(node)
Visit the child nodes of the given node.
# File 'lib/prism/compiler.rb', line 42
def visit_child_nodes(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_node(node)
Compile a ClassNode node
# File 'lib/prism/compiler.rb', line 172
def visit_class_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_and_write_node(node)
Compile a ClassVariableAndWriteNode node
# File 'lib/prism/compiler.rb', line 177
def visit_class_variable_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_operator_write_node(node)
Compile a ClassVariableOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 182
def visit_class_variable_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_or_write_node(node)
Compile a ClassVariableOrWriteNode node
# File 'lib/prism/compiler.rb', line 187
def visit_class_variable_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_read_node(node)
Compile a ClassVariableReadNode node
# File 'lib/prism/compiler.rb', line 192
def visit_class_variable_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_target_node(node)
Compile a ClassVariableTargetNode node
# File 'lib/prism/compiler.rb', line 197
def visit_class_variable_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_class_variable_write_node(node)
Compile a ClassVariableWriteNode node
# File 'lib/prism/compiler.rb', line 202
def visit_class_variable_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_and_write_node(node)
Compile a ConstantAndWriteNode node
# File 'lib/prism/compiler.rb', line 207
def visit_constant_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_operator_write_node(node)
Compile a ConstantOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 212
def visit_constant_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_or_write_node(node)
Compile a ConstantOrWriteNode node
# File 'lib/prism/compiler.rb', line 217
def visit_constant_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_and_write_node(node)
Compile a ConstantPathAndWriteNode node
# File 'lib/prism/compiler.rb', line 222
def visit_constant_path_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_node(node)
Compile a ConstantPathNode node
# File 'lib/prism/compiler.rb', line 227
def visit_constant_path_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_operator_write_node(node)
Compile a ConstantPathOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 232
def visit_constant_path_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_or_write_node(node)
Compile a ConstantPathOrWriteNode node
# File 'lib/prism/compiler.rb', line 237
def visit_constant_path_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_target_node(node)
Compile a ConstantPathTargetNode node
# File 'lib/prism/compiler.rb', line 242
def visit_constant_path_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_path_write_node(node)
Compile a ConstantPathWriteNode node
# File 'lib/prism/compiler.rb', line 247
def visit_constant_path_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_read_node(node)
Compile a ConstantReadNode node
# File 'lib/prism/compiler.rb', line 252
def visit_constant_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_target_node(node)
Compile a ConstantTargetNode node
# File 'lib/prism/compiler.rb', line 257
def visit_constant_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_constant_write_node(node)
Compile a ConstantWriteNode node
# File 'lib/prism/compiler.rb', line 262
def visit_constant_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_def_node(node)
Compile a DefNode node
# File 'lib/prism/compiler.rb', line 267
def visit_def_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_defined_node(node)
Compile a DefinedNode node
# File 'lib/prism/compiler.rb', line 272
def visit_defined_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_else_node(node)
Compile a ElseNode node
# File 'lib/prism/compiler.rb', line 277
def visit_else_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_embedded_statements_node(node)
Compile a EmbeddedStatementsNode node
# File 'lib/prism/compiler.rb', line 282
def (node) node.each_child_node.map { |node| node.accept(self) } end
#visit_embedded_variable_node(node)
Compile a EmbeddedVariableNode node
# File 'lib/prism/compiler.rb', line 287
def (node) node.each_child_node.map { |node| node.accept(self) } end
#visit_ensure_node(node)
Compile a EnsureNode node
# File 'lib/prism/compiler.rb', line 292
def visit_ensure_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_false_node(node)
Compile a FalseNode node
# File 'lib/prism/compiler.rb', line 297
def visit_false_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_find_pattern_node(node)
Compile a FindPatternNode node
# File 'lib/prism/compiler.rb', line 302
def visit_find_pattern_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_flip_flop_node(node)
Compile a FlipFlopNode node
# File 'lib/prism/compiler.rb', line 307
def visit_flip_flop_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_float_node(node)
Compile a FloatNode node
# File 'lib/prism/compiler.rb', line 312
def visit_float_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_for_node(node)
Compile a ForNode node
# File 'lib/prism/compiler.rb', line 317
def visit_for_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_forwarding_arguments_node(node)
Compile a ForwardingArgumentsNode node
# File 'lib/prism/compiler.rb', line 322
def visit_forwarding_arguments_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_forwarding_parameter_node(node)
Compile a ForwardingParameterNode node
# File 'lib/prism/compiler.rb', line 327
def visit_forwarding_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_forwarding_super_node(node)
Compile a ForwardingSuperNode node
# File 'lib/prism/compiler.rb', line 332
def visit_forwarding_super_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_and_write_node(node)
Compile a GlobalVariableAndWriteNode node
# File 'lib/prism/compiler.rb', line 337
def visit_global_variable_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_operator_write_node(node)
Compile a GlobalVariableOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 342
def visit_global_variable_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_or_write_node(node)
Compile a GlobalVariableOrWriteNode node
# File 'lib/prism/compiler.rb', line 347
def visit_global_variable_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_read_node(node)
Compile a GlobalVariableReadNode node
# File 'lib/prism/compiler.rb', line 352
def visit_global_variable_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_target_node(node)
Compile a GlobalVariableTargetNode node
# File 'lib/prism/compiler.rb', line 357
def visit_global_variable_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_global_variable_write_node(node)
Compile a GlobalVariableWriteNode node
# File 'lib/prism/compiler.rb', line 362
def visit_global_variable_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_hash_node(node)
Compile a HashNode node
# File 'lib/prism/compiler.rb', line 367
def visit_hash_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_hash_pattern_node(node)
Compile a HashPatternNode node
# File 'lib/prism/compiler.rb', line 372
def visit_hash_pattern_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_if_node(node)
Compile a IfNode node
# File 'lib/prism/compiler.rb', line 377
def visit_if_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_imaginary_node(node)
Compile a ImaginaryNode node
# File 'lib/prism/compiler.rb', line 382
def visit_imaginary_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_implicit_node(node)
Compile a ImplicitNode node
# File 'lib/prism/compiler.rb', line 387
def visit_implicit_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_implicit_rest_node(node)
Compile a ImplicitRestNode node
# File 'lib/prism/compiler.rb', line 392
def visit_implicit_rest_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_in_node(node)
Compile a InNode node
# File 'lib/prism/compiler.rb', line 397
def visit_in_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_index_and_write_node(node)
Compile a IndexAndWriteNode node
# File 'lib/prism/compiler.rb', line 402
def visit_index_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_index_operator_write_node(node)
Compile a IndexOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 407
def visit_index_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_index_or_write_node(node)
Compile a IndexOrWriteNode node
# File 'lib/prism/compiler.rb', line 412
def visit_index_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_index_target_node(node)
Compile a IndexTargetNode node
# File 'lib/prism/compiler.rb', line 417
def visit_index_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_and_write_node(node)
Compile a InstanceVariableAndWriteNode node
# File 'lib/prism/compiler.rb', line 422
def visit_instance_variable_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_operator_write_node(node)
Compile a InstanceVariableOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 427
def visit_instance_variable_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_or_write_node(node)
Compile a InstanceVariableOrWriteNode node
# File 'lib/prism/compiler.rb', line 432
def visit_instance_variable_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_read_node(node)
Compile a InstanceVariableReadNode node
# File 'lib/prism/compiler.rb', line 437
def visit_instance_variable_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_target_node(node)
Compile a InstanceVariableTargetNode node
# File 'lib/prism/compiler.rb', line 442
def visit_instance_variable_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_instance_variable_write_node(node)
Compile a InstanceVariableWriteNode node
# File 'lib/prism/compiler.rb', line 447
def visit_instance_variable_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_integer_node(node)
Compile a IntegerNode node
# File 'lib/prism/compiler.rb', line 452
def visit_integer_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_interpolated_match_last_line_node(node)
Compile a InterpolatedMatchLastLineNode node
# File 'lib/prism/compiler.rb', line 457
def visit_interpolated_match_last_line_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_interpolated_regular_expression_node(node)
Compile a InterpolatedRegularExpressionNode node
# File 'lib/prism/compiler.rb', line 462
def visit_interpolated_regular_expression_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_interpolated_string_node(node)
Compile a InterpolatedStringNode node
# File 'lib/prism/compiler.rb', line 467
def visit_interpolated_string_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_interpolated_symbol_node(node)
Compile a InterpolatedSymbolNode node
# File 'lib/prism/compiler.rb', line 472
def visit_interpolated_symbol_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_interpolated_x_string_node(node)
Compile a InterpolatedXStringNode node
# File 'lib/prism/compiler.rb', line 477
def visit_interpolated_x_string_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_it_local_variable_read_node(node)
Compile a ItLocalVariableReadNode node
# File 'lib/prism/compiler.rb', line 482
def visit_it_local_variable_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_it_parameters_node(node)
Compile a ItParametersNode node
# File 'lib/prism/compiler.rb', line 487
def visit_it_parameters_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_keyword_hash_node(node)
Compile a KeywordHashNode node
# File 'lib/prism/compiler.rb', line 492
def visit_keyword_hash_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_keyword_rest_parameter_node(node)
Compile a KeywordRestParameterNode node
# File 'lib/prism/compiler.rb', line 497
def visit_keyword_rest_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_lambda_node(node)
Compile a LambdaNode node
# File 'lib/prism/compiler.rb', line 502
def visit_lambda_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_and_write_node(node)
Compile a LocalVariableAndWriteNode node
# File 'lib/prism/compiler.rb', line 507
def visit_local_variable_and_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_operator_write_node(node)
Compile a LocalVariableOperatorWriteNode node
# File 'lib/prism/compiler.rb', line 512
def visit_local_variable_operator_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_or_write_node(node)
Compile a LocalVariableOrWriteNode node
# File 'lib/prism/compiler.rb', line 517
def visit_local_variable_or_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_read_node(node)
Compile a LocalVariableReadNode node
# File 'lib/prism/compiler.rb', line 522
def visit_local_variable_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_target_node(node)
Compile a LocalVariableTargetNode node
# File 'lib/prism/compiler.rb', line 527
def visit_local_variable_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_local_variable_write_node(node)
Compile a LocalVariableWriteNode node
# File 'lib/prism/compiler.rb', line 532
def visit_local_variable_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_match_last_line_node(node)
Compile a MatchLastLineNode node
# File 'lib/prism/compiler.rb', line 537
def visit_match_last_line_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_match_predicate_node(node)
Compile a MatchPredicateNode node
# File 'lib/prism/compiler.rb', line 542
def visit_match_predicate_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_match_required_node(node)
Compile a MatchRequiredNode node
# File 'lib/prism/compiler.rb', line 547
def visit_match_required_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_match_write_node(node)
Compile a MatchWriteNode node
# File 'lib/prism/compiler.rb', line 552
def visit_match_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_missing_node(node)
Compile a MissingNode node
# File 'lib/prism/compiler.rb', line 557
def visit_missing_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_module_node(node)
Compile a ModuleNode node
# File 'lib/prism/compiler.rb', line 562
def visit_module_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_multi_target_node(node)
Compile a MultiTargetNode node
# File 'lib/prism/compiler.rb', line 567
def visit_multi_target_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_multi_write_node(node)
Compile a MultiWriteNode node
# File 'lib/prism/compiler.rb', line 572
def visit_multi_write_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_next_node(node)
Compile a NextNode node
# File 'lib/prism/compiler.rb', line 577
def visit_next_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_nil_node(node)
Compile a NilNode node
# File 'lib/prism/compiler.rb', line 582
def visit_nil_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_no_keywords_parameter_node(node)
Compile a NoKeywordsParameterNode node
# File 'lib/prism/compiler.rb', line 587
def visit_no_keywords_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_numbered_parameters_node(node)
Compile a NumberedParametersNode node
# File 'lib/prism/compiler.rb', line 592
def visit_numbered_parameters_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_numbered_reference_read_node(node)
Compile a NumberedReferenceReadNode node
# File 'lib/prism/compiler.rb', line 597
def visit_numbered_reference_read_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_optional_keyword_parameter_node(node)
Compile a OptionalKeywordParameterNode node
# File 'lib/prism/compiler.rb', line 602
def visit_optional_keyword_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_optional_parameter_node(node)
Compile a OptionalParameterNode node
# File 'lib/prism/compiler.rb', line 607
def visit_optional_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_or_node(node)
Compile a OrNode node
# File 'lib/prism/compiler.rb', line 612
def visit_or_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_parameters_node(node)
Compile a ParametersNode node
# File 'lib/prism/compiler.rb', line 617
def visit_parameters_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_parentheses_node(node)
Compile a ParenthesesNode node
# File 'lib/prism/compiler.rb', line 622
def visit_parentheses_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_pinned_expression_node(node)
Compile a PinnedExpressionNode node
# File 'lib/prism/compiler.rb', line 627
def visit_pinned_expression_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_pinned_variable_node(node)
Compile a PinnedVariableNode node
# File 'lib/prism/compiler.rb', line 632
def visit_pinned_variable_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_post_execution_node(node)
Compile a PostExecutionNode node
# File 'lib/prism/compiler.rb', line 637
def visit_post_execution_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_pre_execution_node(node)
Compile a PreExecutionNode node
# File 'lib/prism/compiler.rb', line 642
def visit_pre_execution_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_program_node(node)
Compile a ProgramNode node
# File 'lib/prism/compiler.rb', line 647
def visit_program_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_range_node(node)
Compile a RangeNode node
# File 'lib/prism/compiler.rb', line 652
def visit_range_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_rational_node(node)
Compile a RationalNode node
# File 'lib/prism/compiler.rb', line 657
def visit_rational_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_redo_node(node)
Compile a RedoNode node
# File 'lib/prism/compiler.rb', line 662
def visit_redo_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_regular_expression_node(node)
Compile a RegularExpressionNode node
# File 'lib/prism/compiler.rb', line 667
def visit_regular_expression_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_required_keyword_parameter_node(node)
Compile a RequiredKeywordParameterNode node
# File 'lib/prism/compiler.rb', line 672
def visit_required_keyword_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_required_parameter_node(node)
Compile a RequiredParameterNode node
# File 'lib/prism/compiler.rb', line 677
def visit_required_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_rescue_modifier_node(node)
Compile a RescueModifierNode node
# File 'lib/prism/compiler.rb', line 682
def visit_rescue_modifier_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_rescue_node(node)
Compile a RescueNode node
# File 'lib/prism/compiler.rb', line 687
def visit_rescue_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_rest_parameter_node(node)
Compile a RestParameterNode node
# File 'lib/prism/compiler.rb', line 692
def visit_rest_parameter_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_retry_node(node)
Compile a RetryNode node
# File 'lib/prism/compiler.rb', line 697
def visit_retry_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_return_node(node)
Compile a ReturnNode node
# File 'lib/prism/compiler.rb', line 702
def visit_return_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_self_node(node)
Compile a SelfNode node
# File 'lib/prism/compiler.rb', line 707
def visit_self_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_singleton_class_node(node)
Compile a SingletonClassNode node
# File 'lib/prism/compiler.rb', line 717
def visit_singleton_class_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_source_encoding_node(node)
Compile a SourceEncodingNode node
# File 'lib/prism/compiler.rb', line 722
def visit_source_encoding_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_source_file_node(node)
Compile a SourceFileNode node
# File 'lib/prism/compiler.rb', line 727
def visit_source_file_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_source_line_node(node)
Compile a SourceLineNode node
# File 'lib/prism/compiler.rb', line 732
def visit_source_line_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_splat_node(node)
Compile a SplatNode node
# File 'lib/prism/compiler.rb', line 737
def visit_splat_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_statements_node(node)
Compile a StatementsNode node
# File 'lib/prism/compiler.rb', line 742
def visit_statements_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_string_node(node)
Compile a StringNode node
# File 'lib/prism/compiler.rb', line 747
def visit_string_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_super_node(node)
Compile a SuperNode node
# File 'lib/prism/compiler.rb', line 752
def visit_super_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_symbol_node(node)
Compile a SymbolNode node
# File 'lib/prism/compiler.rb', line 757
def visit_symbol_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_true_node(node)
Compile a TrueNode node
# File 'lib/prism/compiler.rb', line 762
def visit_true_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_undef_node(node)
Compile a UndefNode node
# File 'lib/prism/compiler.rb', line 767
def visit_undef_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_unless_node(node)
Compile a UnlessNode node
# File 'lib/prism/compiler.rb', line 772
def visit_unless_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_until_node(node)
Compile a UntilNode node
# File 'lib/prism/compiler.rb', line 777
def visit_until_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_when_node(node)
Compile a WhenNode node
# File 'lib/prism/compiler.rb', line 782
def visit_when_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_while_node(node)
Compile a WhileNode node
# File 'lib/prism/compiler.rb', line 787
def visit_while_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_x_string_node(node)
Compile a XStringNode node
# File 'lib/prism/compiler.rb', line 792
def visit_x_string_node(node) node.each_child_node.map { |node| node.accept(self) } end
#visit_yield_node(node)
Compile a YieldNode node
# File 'lib/prism/compiler.rb', line 797
def visit_yield_node(node) node.each_child_node.map { |node| node.accept(self) } end