From 6119d860bcdff588fdc6b16d0d14d2cfdfbe3040 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 11 May 2021 14:57:01 -0400 Subject: [PATCH] Fix character class parsing into an AlternatesUnit --- lib/imbecile/regex/parser.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/imbecile/regex/parser.rb b/lib/imbecile/regex/parser.rb index f506005..1b3569e 100644 --- a/lib/imbecile/regex/parser.rb +++ b/lib/imbecile/regex/parser.rb @@ -34,11 +34,18 @@ module Imbecile @alternates[-1] << unit end def last_unit - new_alternate! if @alternates.empty? - @alternates[-1][-1] + if @alternates.last.is_a?(SequenceUnit) + @alternates[-1][-1] + else + @alternates[-1] + end end def replace_last!(new_unit) - @alternates[-1][-1] = new_unit + if @alternates.last.is_a?(SequenceUnit) + @alternates[-1][-1] = new_unit + else + @alternates[-1] = new_unit + end end end