class BinData::DSLMixin::DSLFieldParser

def params_from_block(&block)

def params_from_block(&block)
  bindata_classes = {
    array:      BinData::Array,
    buffer:     BinData::Buffer,
    choice:     BinData::Choice,
    delayed_io: BinData::DelayedIO,
    section:    BinData::Section,
    skip:       BinData::Skip,
    struct:     BinData::Struct
  }
  if bindata_classes.include?(@type)
    parser = DSLParser.new(bindata_classes[@type], @type)
    parser.endian(@hints[:endian])
    parser.search_prefix(*@hints[:search_prefix])
    parser.instance_eval(&block)
    parser.dsl_params
  else
    {}
  end
end