Method: Antlr4ruby::RangeSet#delete
- Defined in:
- lib/antlr4ruby/misc/range_set.rb
#delete(range) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/antlr4ruby/misc/range_set.rb', line 135 def delete(range) result = [] data.each do |item| next if range.cover?(item) result.push(item.min...range.min) if item.include?(range.min) && range.min > item.min result.push(range.max + 1..item.max) if item.include?(range.max) && range.max < item.max result.push(item) if item.max < range.min || item.min > range.max end @data = result end |