Class: Prism::LibRubyParser::PrismBuffer
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | lib/prism/ffi.rb |
Overview
This object represents a pm_buffer_t. We only use it as an opaque pointer, so it doesn’t need to know the fields of pm_buffer_t.
Class Method Summary
- .new(pointer) ⇒ PrismBuffer constructor
-
.with
Initialize a new buffer and yield it to the block.
Instance Attribute Summary
- #pointer readonly
Instance Method Summary
Constructor Details
.new(pointer) ⇒ PrismBuffer
Class Method Details
.with
Initialize a new buffer and yield it to the block. The buffer will be automatically freed when the block returns.
# File 'lib/prism/ffi.rb', line 169
def self.with buffer = LibRubyParser.pm_buffer_new raise unless buffer begin yield new(buffer) ensure LibRubyParser.pm_buffer_free(buffer) end end
Instance Attribute Details
#pointer (readonly)
[ GitHub ]# File 'lib/prism/ffi.rb', line 149
attr_reader :pointer
Instance Method Details
#length
[ GitHub ]# File 'lib/prism/ffi.rb', line 159
def length LibRubyParser.pm_buffer_length(pointer) end
#read
[ GitHub ]#value
[ GitHub ]# File 'lib/prism/ffi.rb', line 155
def value LibRubyParser.pm_buffer_value(pointer) end