Method: Parser::Source::Buffer#initialize

Defined in:
lib/parser/source/buffer.rb

#initialize(name, first_line = 1, source: nil) ⇒ Buffer

Returns a new instance of Buffer.

[View source] [View on GitHub]

110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/parser/source/buffer.rb', line 110

def initialize(name, first_line = 1, source: nil)
  @name        = name.to_s
  @source      = nil
  @first_line  = first_line

  @lines       = nil
  @line_begins = nil

  # UTF-32-reencoded source for O(1) slicing
  @slice_source = nil

  # Cache for fast lookup
  @line_index_for_position = {}

  self.source = source if source
end