class Prism::CodeUnitsCache
def initialize(source, 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