class Prism::CodeUnitsCache

def initialize(source, encoding)

Initialize a new cache with the given source and encoding.
def initialize(source, encoding)
  @source = source
  @counter =
    if encoding == Encoding::UTF_16LE || encoding == Encoding::UTF_16BE
      UTF16Counter.new(source, encoding)
    else
      LengthCounter.new(source, encoding)
    end
  @cache = {} #: Hash[Integer, Integer]
  @offsets = [] #: Array[Integer]
end