Spec-Zone.ru › Homebrew

Класс: Parser::Source::Buffer

Наследует:
Object
  • Object
  • Parser::Source::Buffer
показать все
Определён в:
sorbet/rbi/parser@3.3.8.0.rbi

Обзор

Буфер с исходным кодом. Buffer содержит сам исходный код, связанную с ним информацию о расположении (имя и номер первой строки) и отвечает за кодировку.

После заполнения исходный буфер становится неизменяемым.

source://parser//lib/parser/source/buffer.rb#25

Краткое описание констант свернуть

ENCODING_RE =

Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать эту константу, поскольку она может быть удалена или изменена без предупреждения.

source://parser//lib/parser/source/buffer.rb#31

T.let(T.unsafe(nil), Regexp)

Краткое описание методов класса свернуть

  • .recognize_encoding(string) ⇒ String?

    Попытаться распознать кодировку string так, как это сделал бы Ruby, то есть

  • .reencode_string(input) ⇒ String

    Распознать кодировку input и обработать его так, чтобы его можно было лексически анализировать.

Краткое описание методов экземпляра свернуть

  • #column_for_position(position) ⇒ Integer закрытый

    Преобразовать индекс символа в исходном коде в номер столбца.

  • #decompose_position(position) ⇒ [Integer, Integer]

    Преобразовать индекс символа в исходном коде в кортеж [line, column].

  • #first_line ⇒ Integer

    Первая строка буфера; по умолчанию — 1.

  • #freeze ⇒ Object

    source://parser//lib/parser/source/buffer.rb#317.

  • #initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)) ⇒ Buffer конструктор

    source://parser//lib/parser/source/buffer.rb#110.

  • #last_line ⇒ Integer

    Номер последней строки в буфере.

  • #line_for_position(position) ⇒ Integer закрытый

    Преобразовать индекс символа в исходном коде в номер строки.

  • #line_range(lineno) ⇒ Range

    Извлечь строку lineno в виде нового Range с учётом first_line.

  • #name ⇒ String

    Имя буфера.

  • #raw_source=(input) ⇒ String

    Заполнить этот буфер строкой без автоматического определения кодировки.

  • #read ⇒ Buffer

    Заполнить этот буфер из файла с соответствующим именем.

  • #slice(start, length = T.unsafe(nil)) ⇒ Object

    source://parser//lib/parser/source/buffer.rb#199.

  • #source ⇒ String

    Исходный код, содержащийся в этом буфере.

  • #source=(input) ⇒ String

    Заполнить этот буфер строкой с автоматическим определением кодировки.

  • #source_line(lineno) ⇒ String

    Извлечь строку lineno из исходного кода с учётом first_line.

  • #source_lines ⇒ Array<String>

    Вернуть Array строк исходного кода.

  • #source_range ⇒ Range

    source://parser//lib/parser/source/buffer.rb#303.

Подробное описание конструкторов

#initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)) ⇒ Buffer

source://parser//lib/parser/source/buffer.rb#110



5155
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5155

def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end

Подробное описание методов класса

.recognize_encoding(string) ⇒ String?

Попытаться распознать кодировку string так, как это сделал бы Ruby, то есть найти комментарий с указанием кодировки или BOM UTF-8. string может иметь любую кодировку.

source://parser//lib/parser/source/buffer.rb#52

Параметры:

  • string (String)

Возвращает:

  • (String, nil) —

    имя кодировки, если она распознана

Вызывает исключение:

  • (Parser::UnknownEncodingInMagicComment) —

    если кодировка не распознана



5327
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5327

def recognize_encoding(string); end

.reencode_string(input) ⇒ String

Распознать кодировку input и обработать его так, чтобы его можно было лексически анализировать.

  • Если input не содержит BOM или комментария с указанием кодировки, строка сохраняет исходную кодировку.
  • Если обнаруженная кодировка двоичная, input сохраняется в двоичном формате.
  • В противном случае input перекодируется в UTF-8 и возвращается как новая строка.

Этот метод изменяет кодировку input, но не его содержимое.

source://parser//lib/parser/source/buffer.rb#95

Параметры:

  • input (String)

Возвращает:

  • (String)

Вызывает исключение:

  • (EncodingError)


5345
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5345

def reencode_string(input); end

Подробное описание методов экземпляра

#column_for_position(position) ⇒ Integer

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Преобразует индекс символа в исходном коде в номер столбца.

source://parser//lib/parser/source/buffer.rb#247

Параметры:

  • position (Integer)

Возвращает:

  • (Integer) —

    столбец



5164
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5164

def column_for_position(position); end

#decompose_position(position) ⇒ [Integer, Integer]

Преобразует индекс символа в исходном коде в кортеж [line, column].

source://parser//lib/parser/source/buffer.rb#222

Параметры:

  • position (Integer)

Возвращает:

  • ([Integer, Integer]) —

    [line, column]



5173
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5173

def decompose_position(position); end

#first_line ⇒ Integer

Первая строка буфера, по умолчанию 1.

source://parser//lib/parser/source/buffer.rb#26

Возвращает:

  • (Integer) —

    первая строка



5181
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5181

def first_line; end

#freeze ⇒ Object

source://parser//lib/parser/source/buffer.rb#317



5186
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5186

def freeze; end

#last_line ⇒ Integer

Номер последней строки в буфере

source://parser//lib/parser/source/buffer.rb#312

Возвращает:

  • (Integer)


5199
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5199

def last_line; end

#line_for_position(position) ⇒ Integer

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Преобразует индекс символа в исходном коде в номер строки.

source://parser//lib/parser/source/buffer.rb#236

Параметры:

  • position (Integer)

Возвращает:

  • (Integer) —

    строка



5208
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5208

def line_for_position(position); end

#line_range(lineno) ⇒ Range

Извлекает строку lineno как новый Range с учётом first_line.

source://parser//lib/parser/source/buffer.rb#289

Параметры:

  • lineno (Integer)

Возвращает:

  • (Range)

Вызывает исключение:

  • (IndexError) —

    если lineno выходит за допустимые границы



5218
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5218

def line_range(lineno); end

#name ⇒ String

Имя буфера. Если буфер создан из файла, имя соответствует относительному пути к файлу.

source://parser//lib/parser/source/buffer.rb#26

Возвращает:

  • (String) —

    имя буфера



5227
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5227

def name; end

#raw_source=(input) ⇒ String

Заполняет этот буфер строкой без автоматического определения кодировки.

source://parser//lib/parser/source/buffer.rb#185

Параметры:

  • input (String)

Возвращает:

  • (String)

Вызывает исключение:

  • (ArgumentError) —

    если буфер уже заполнен



5237
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5237

def raw_source=(input); end

#read ⇒ Buffer

Заполняет этот буфер из файла с соответствующим именем.

source://parser//lib/parser/source/buffer.rb#136

Примеры:

Parser::Source::Buffer.new('foo/bar.rb').read

Возвращает:

  • (Buffer) —

    этот объект

Вызывает исключение:

  • (ArgumentError) —

    если буфер уже заполнен



5248
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5248

def read; end

#slice(start, length = T.unsafe(nil)) ⇒ Object

source://parser//lib/parser/source/buffer.rb#199



5253
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5253

def slice(start, length = T.unsafe(nil)); end

#source ⇒ String

Исходный код, содержащийся в этом буфере.

source://parser//lib/parser/source/buffer.rb#150

Возвращает:

  • (String) —

    исходный код

Вызывает исключение:

  • (RuntimeError) —

    если буфер ещё не заполнен



5262
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5262

def source; end

#source=(input) ⇒ String

Заполняет этот буфер строкой с автоматическим определением кодировки. input изменяется, если строка не заморожена.

source://parser//lib/parser/source/buffer.rb#167

Параметры:

  • input (String)

Возвращает:

  • (String)

Вызывает исключение:

  • (ArgumentError) —

    если буфер уже заполнен

  • (EncodingError) —

    если input содержит недопустимую для кодировки последовательность байтов



5274
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5274

def source=(input); end

#source_line(lineno) ⇒ String

Извлекает строку lineno из исходного кода с учётом first_line.

source://parser//lib/parser/source/buffer.rb#278

Параметры:

  • lineno (Integer)

Возвращает:

  • (String)

Вызывает исключение:

  • (IndexError) —

    если lineno выходит за допустимые границы



5284
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5284

def source_line(lineno); end

#source_lines ⇒ Array<String>

Возвращает Array строк исходного кода.

source://parser//lib/parser/source/buffer.rb#257

Возвращает:

  • (Array<String>)


5292
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5292

def source_lines; end

#source_range ⇒ Range

source://parser//lib/parser/source/buffer.rb#303

Возвращает:

  • (Range) —

    Диапазон, охватывающий весь исходный текст



5298
# File 'sorbet/rbi/parser@3.3.8.0.rbi', line 5298

def source_range; end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Parser/Source/Buffer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API