Class: Regexp::Expression::SequenceOperation

Inherits:
Subexpression show all
Defined in:
lib/regexp_parser/expression/sequence_operation.rb

Overview

abstract class

Direct Known Subclasses

Alternation, CharacterSet::Intersection

Instance Attribute Summary

Attributes inherited from Subexpression

#expressions

Instance Method Summary collapse

Methods inherited from Subexpression

#dig, #each_expression, #extract_quantifier_target, #flat_map, #initialize, #initialize_copy, #inner_match_length, #match_length, #strfregexp_tree, #te, #to_h, #traverse

Methods inherited from Base

#ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize, #match, #match?, #multiline?, #possessive?, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #to_h, #to_re, #unicode_classes?, #unquantified_clone

Methods included from Shared

#==, #base_length, #coded_offset, #ends_at, #full_length, #human_name, included, #initialize_copy, #inspect, #is?, #negated?, #negative?, #nesting_level=, #offset, #one_of?, #optional?, #parts, #pre_quantifier_decoration, #pretty_print, #pretty_print_instance_variables, #quantified?, #quantifier=, #quantifier_affix, #starts_at, #to_s, #token_class, #type?

Constructor Details

This class inherits a constructor from Regexp::Expression::Subexpression

Instance Method Details

#<<(exp) ⇒ Object



12
13
14
# File 'lib/regexp_parser/expression/sequence_operation.rb', line 12

def <<(exp)
  expressions.last << exp
end

#add_sequence(active_opts = {}, params = { ts: 0 }) ⇒ Object



16
17
18
# File 'lib/regexp_parser/expression/sequence_operation.rb', line 16

def add_sequence(active_opts = {}, params = { ts: 0 })
  self.class::OPERAND.add_to(self, params, active_opts)
end

#tsObject



8
9
10
# File 'lib/regexp_parser/expression/sequence_operation.rb', line 8

def ts
  (head = expressions.first) ? head.ts : @ts
end