module BinData::CheckOrAdjustOffsetPlugin::CheckOffsetMixin

def check_offset(io)

def check_offset(io)
  actual_offset = io.offset
  expected = eval_parameter(:check_offset, offset: actual_offset)
  if !expected
    raise ValidityError, "offset not as expected for #{debug_name}"
  elsif actual_offset != expected && expected != true
    raise ValidityError,
          "offset is '#{actual_offset}' but " +
          "expected '#{expected}' for #{debug_name}"
  end
end

def do_read(io) #:nodoc:

:nodoc:
def do_read(io) #:nodoc:
  check_offset(io)
  super(io)
end