class Prism::LibRubyParser::PrismBuffer
:nodoc:
so it doesn’t need to know the fields of pm_buffer_t.
This object represents a pm_buffer_t. We only use it as an opaque pointer,
def self.with
Initialize a new buffer and yield it to the block. The buffer will be
def self.with FFI::MemoryPointer.new(SIZEOF) do |pointer| raise unless LibRubyParser.pm_buffer_init(pointer) return yield new(pointer) ensure LibRubyParser.pm_buffer_free(pointer) end end
def initialize(pointer)
def initialize(pointer) @pointer = pointer end
def length
def length LibRubyParser.pm_buffer_length(pointer) end
def read
def read value.read_string(length) end
def value
def value LibRubyParser.pm_buffer_value(pointer) end