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