Class: Prism::Relocation::Entry

Inherits:
Object
  • Object
show all
Defined in:
lib/prism/relocation.rb

Overview

An entry in a repository that will lazily reify its values when they are first accessed.

Defined Under Namespace

Classes: MissingValueError

Instance Method Summary collapse

Constructor Details

#initialize(repository) ⇒ Entry

Initialize a new entry with the given repository.



25
26
27
28
# File 'lib/prism/relocation.rb', line 25

def initialize(repository)
  @repository = repository
  @values = nil
end

Instance Method Details

#commentsObject

Fetch the leading and trailing comments of the value.



120
121
122
# File 'lib/prism/relocation.rb', line 120

def comments
  leading_comments.concat(trailing_comments)
end

#end_character_columnObject

Fetch the end character column of the value.



93
94
95
# File 'lib/prism/relocation.rb', line 93

def end_character_column
  fetch_value(:end_character_column)
end

#end_character_offsetObject

Fetch the end character offset of the value.



61
62
63
# File 'lib/prism/relocation.rb', line 61

def end_character_offset
  fetch_value(:end_character_offset)
end

#end_code_units_columnObject

Fetch the end code units column of the value, for the encoding that was configured on the repository.



105
106
107
# File 'lib/prism/relocation.rb', line 105

def end_code_units_column
  fetch_value(:end_code_units_column)
end

#end_code_units_offsetObject

Fetch the end code units offset of the value, for the encoding that was configured on the repository.



73
74
75
# File 'lib/prism/relocation.rb', line 73

def end_code_units_offset
  fetch_value(:end_code_units_offset)
end

#end_columnObject

Fetch the end byte column of the value.



83
84
85
# File 'lib/prism/relocation.rb', line 83

def end_column
  fetch_value(:end_column)
end

#end_lineObject

Fetch the end line of the value.



41
42
43
# File 'lib/prism/relocation.rb', line 41

def end_line
  fetch_value(:end_line)
end

#end_offsetObject

Fetch the end byte offset of the value.



51
52
53
# File 'lib/prism/relocation.rb', line 51

def end_offset
  fetch_value(:end_offset)
end

#filepathObject

Fetch the filepath of the value.



31
32
33
# File 'lib/prism/relocation.rb', line 31

def filepath
  fetch_value(:filepath)
end

#leading_commentsObject

Fetch the leading comments of the value.



110
111
112
# File 'lib/prism/relocation.rb', line 110

def leading_comments
  fetch_value(:leading_comments)
end

#reify!(values) ⇒ Object

Reify the values on this entry with the given values. This is an internal-only API that is called from the repository when it is time to reify the values.



127
128
129
130
# File 'lib/prism/relocation.rb', line 127

def reify!(values) # :nodoc:
  @repository = nil
  @values = values
end

#start_character_columnObject

Fetch the start character column of the value.



88
89
90
# File 'lib/prism/relocation.rb', line 88

def start_character_column
  fetch_value(:start_character_column)
end

#start_character_offsetObject

Fetch the start character offset of the value.



56
57
58
# File 'lib/prism/relocation.rb', line 56

def start_character_offset
  fetch_value(:start_character_offset)
end

#start_code_units_columnObject

Fetch the start code units column of the value, for the encoding that was configured on the repository.



99
100
101
# File 'lib/prism/relocation.rb', line 99

def start_code_units_column
  fetch_value(:start_code_units_column)
end

#start_code_units_offsetObject

Fetch the start code units offset of the value, for the encoding that was configured on the repository.



67
68
69
# File 'lib/prism/relocation.rb', line 67

def start_code_units_offset
  fetch_value(:start_code_units_offset)
end

#start_columnObject

Fetch the start byte column of the value.



78
79
80
# File 'lib/prism/relocation.rb', line 78

def start_column
  fetch_value(:start_column)
end

#start_lineObject

Fetch the start line of the value.



36
37
38
# File 'lib/prism/relocation.rb', line 36

def start_line
  fetch_value(:start_line)
end

#start_offsetObject

Fetch the start byte offset of the value.



46
47
48
# File 'lib/prism/relocation.rb', line 46

def start_offset
  fetch_value(:start_offset)
end

#trailing_commentsObject

Fetch the trailing comments of the value.



115
116
117
# File 'lib/prism/relocation.rb', line 115

def trailing_comments
  fetch_value(:trailing_comments)
end