class BinaryParser::BitPosition
Attributes
imm[R]
names[R]
Public Class Methods
new(imm=0, names=[])
click to toggle source
# File lib/binary_parser/general_class/bit_position.rb, line 6 def initialize(imm=0, names=[]) @imm, @names = imm, names end
Public Instance Methods
add_imm(length)
click to toggle source
# File lib/binary_parser/general_class/bit_position.rb, line 10 def add_imm(length) return BitPosition.new(@imm + length, @names) end
add_name(name)
click to toggle source
# File lib/binary_parser/general_class/bit_position.rb, line 14 def add_name(name) return BitPosition.new(@imm, @names + [Expression.length_var(name)]) end
eval(&name_eval_block)
click to toggle source
# File lib/binary_parser/general_class/bit_position.rb, line 18 def eval(&name_eval_block) return @imm + @names.inject(0){|sum, name| sum + name_eval_block.call(name)} end