module Regexp::Expression::ReferencedExpressions

Attributes

referenced_expressions[RW]

Public Instance Methods

initialize_copy(orig) click to toggle source
Calls superclass method
# File lib/regexp_parser/expression/methods/referenced_expressions.rb, line 11
def initialize_copy(orig)
  exp_id = [self.class, self.starts_at]

  # prevent infinite recursion for recursive subexp calls
  copied = self.class.instance_eval { @copied_ref_exps ||= {} }
  self.referenced_expressions =
    if copied[exp_id]
      orig.referenced_expressions
    else
      copied[exp_id] = true
      orig.referenced_expressions && orig.referenced_expressions.map(&:dup)
    end
  copied.clear

  super
end
referenced_expression() click to toggle source
# File lib/regexp_parser/expression/methods/referenced_expressions.rb, line 7
def referenced_expression
  referenced_expressions && referenced_expressions.first
end