123456789_123456789_123456789_123456789_123456789_

Class: RuboCop::AST::NodePattern::Compiler::Debug::SequenceSubcompiler Private

Do not use. This class is for internal use only.

Constant Summary

::RuboCop::AST::NodePattern::Compiler::SequenceSubcompiler - Inherited

DELTA, POSITIVE

Class Attribute Summary

Class Method Summary

::RuboCop::AST::NodePattern::Compiler::SequenceSubcompiler - Inherited

.new

Calls compile_sequence; the actual compile method will be used for the different terms of the sequence.

::RuboCop::AST::NodePattern::Compiler::Subcompiler - Inherited

Instance Attribute Summary

Instance Method Summary

InstrumentationSubcompiler - Included

::RuboCop::AST::NodePattern::Compiler::SequenceSubcompiler - Inherited

#compile_sequence,
#compile_and_advance

Compilation helpers.

#compile_any_order_branches, #compile_any_order_else, #compile_captured_repetition, #compile_case, #compile_child_nb_guard, #compile_cur_index, #compile_index, #compile_loop, #compile_loop_advance,
#compile_matched

Assumes @cur_index is already updated.

#compile_max_matched, #compile_min_check, #compile_remaining,
#compile_unify_init

Generate initialization code for unification variables.

#compile_union_forks, #empty_loop, #handle_prev,
#merge_forks!

Modifies in place forks Syncs our state.

#preserve_union_start

Modifies in place forks to insure that cur_{child|index}_var are ok.

#remaining_arities

E.g.

#use_index_from_end

returns truthy iff @cur_index switched to relative from end mode (i.e.

#visit_any_order, #visit_capture,
#visit_other_type

Single node patterns are all handled here.

#visit_repetition, #visit_rest, #visit_union,
#within_loop
Note
assumes @cur_index != :seq_head.

::RuboCop::AST::NodePattern::Compiler::Subcompiler - Inherited

Constructor Details

This class inherits a constructor from RuboCop::AST::NodePattern::Compiler::SequenceSubcompiler