class Prism::Relocation::CodeUnitOffsetsField
A field representing the start and end code unit offsets.
Attributes
The associated encoding for the code units.
A pointer to the repository object that is used for lazily creating a code units cache.
Public Class Methods
Source
# File lib/prism/relocation.rb, line 237 def initialize(repository, encoding) @repository = repository @encoding = encoding @cache = nil end
Initialize a new field with the associated repository and encoding.
Public Instance Methods
Source
# File lib/prism/relocation.rb, line 245
def fields(value)
{
start_code_units_offset: value.cached_start_code_units_offset(cache),
end_code_units_offset: value.cached_end_code_units_offset(cache)
}
end Fetches the start and end code units offset of a value for a particular encoding.
Private Instance Methods
Source
# File lib/prism/relocation.rb, line 255 def cache @cache ||= repository.code_units_cache(encoding) end
Lazily create a code units cache for the associated encoding.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.