diff --git a/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.15.rbi b/Library/Homebrew/sorbet/rbi/gems/bindata@2.5.0.rbi similarity index 75% rename from Library/Homebrew/sorbet/rbi/gems/bindata@2.4.15.rbi rename to Library/Homebrew/sorbet/rbi/gems/bindata@2.5.0.rbi index 84fdca1045..e348c271d3 100644 --- a/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.15.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/bindata@2.5.0.rbi @@ -13,27 +13,27 @@ module BinData # @yield [@tracer] # - # source://bindata//lib/bindata/trace.rb#40 + # source://bindata//lib/bindata/trace.rb#41 def trace_message; end # Turn on trace information when reading a BinData object. # If +block+ is given then the tracing only occurs for that block. # This is useful for debugging a BinData declaration. # - # source://bindata//lib/bindata/trace.rb#26 + # source://bindata//lib/bindata/trace.rb#6 def trace_reading(io = T.unsafe(nil)); end class << self # @yield [@tracer] # - # source://bindata//lib/bindata/trace.rb#40 + # source://bindata//lib/bindata/trace.rb#41 def trace_message; end # Turn on trace information when reading a BinData object. # If +block+ is given then the tracing only occurs for that block. # This is useful for debugging a BinData declaration. # - # source://bindata//lib/bindata/trace.rb#26 + # source://bindata//lib/bindata/trace.rb#6 def trace_reading(io = T.unsafe(nil)); end end end @@ -115,7 +115,7 @@ class BinData::AcceptedParametersPlugin::AcceptedParameters def to_syms(args); end class << self - # source://bindata//lib/bindata/params.rb#117 + # source://bindata//lib/bindata/params.rb#118 def invalid_parameter_names; end end end @@ -314,13 +314,40 @@ class BinData::Array < ::BinData::Base def sum_num_bytes_for_all_elements; end end +# Logic for the :initial_length parameter +# +# source://bindata//lib/bindata/array.rb#311 +module BinData::Array::InitialLengthPlugin + # source://bindata//lib/bindata/array.rb#312 + def do_read(io); end + + # source://bindata//lib/bindata/array.rb#316 + def elements; end +end + +# Logic for the read_until: :eof parameter +# +# source://bindata//lib/bindata/array.rb#296 +module BinData::Array::ReadUntilEOFPlugin + # source://bindata//lib/bindata/array.rb#297 + def do_read(io); end +end + +# Logic for the :read_until parameter +# # source://bindata//lib/bindata/array.rb#284 -class BinData::ArrayArgProcessor < ::BinData::BaseArgProcessor +module BinData::Array::ReadUntilPlugin # source://bindata//lib/bindata/array.rb#285 + def do_read(io); end +end + +# source://bindata//lib/bindata/array.rb#329 +class BinData::ArrayArgProcessor < ::BinData::BaseArgProcessor + # source://bindata//lib/bindata/array.rb#330 def sanitize_parameters!(obj_class, params); end end -# Add these offset options to Base +# This is the abstract base class for all data objects. # # source://bindata//lib/bindata/base.rb#11 class BinData::Base @@ -331,30 +358,30 @@ class BinData::Base # source://bindata//lib/bindata/warnings.rb#12 def initialize(*args); end - # source://bindata//lib/bindata/base.rb#231 + # source://bindata//lib/bindata/base.rb#221 def ==(other); end # Override and delegate =~ as it is defined in Object. # - # source://bindata//lib/bindata/base.rb#199 + # source://bindata//lib/bindata/base.rb#201 def =~(other); end # Returns the offset (in bytes) of this object with respect to its most # distant ancestor. # - # source://bindata//lib/bindata/base.rb#214 + # source://bindata//lib/bindata/base.rb#212 def abs_offset; end def base_respond_to?(*_arg0); end # Resets the internal state to that of a newly created object. # - # source://bindata//lib/bindata/base.rb#137 + # source://bindata//lib/bindata/base.rb#139 def clear; end # Returns a user friendly name of this object for debugging purposes. # - # source://bindata//lib/bindata/base.rb#204 + # source://bindata//lib/bindata/base.rb#206 def debug_name; end # Returns the result of evaluating the parameter identified by +key+. @@ -364,21 +391,21 @@ class BinData::Base # # Returns nil if +key+ does not refer to any parameter. # - # source://bindata//lib/bindata/base.rb#110 + # source://bindata//lib/bindata/base.rb#112 def eval_parameter(key, overrides = T.unsafe(nil)); end # Returns the parameter referenced by +key+. # Use this method if you are sure the parameter is not to be evaluated. # You most likely want #eval_parameter. # - # source://bindata//lib/bindata/base.rb#127 + # source://bindata//lib/bindata/base.rb#129 def get_parameter(key); end # Returns whether +key+ exists in the +parameters+ hash. # # @return [Boolean] # - # source://bindata//lib/bindata/base.rb#132 + # source://bindata//lib/bindata/base.rb#134 def has_parameter?(key); end # source://bindata//lib/bindata/warnings.rb#25 @@ -389,25 +416,27 @@ class BinData::Base # Return a human readable representation of this data object. # - # source://bindata//lib/bindata/base.rb#184 + # source://bindata//lib/bindata/base.rb#186 def inspect; end # Returns a lazy evaluator for this object. # - # source://bindata//lib/bindata/base.rb#120 + # source://bindata//lib/bindata/base.rb#122 def lazy_evaluator; end # Creates a new data object based on this instance. # + # This implements the prototype design pattern. + # # All parameters will be be duplicated. Use this method # when creating multiple objects with the same parameters. # - # source://bindata//lib/bindata/base.rb#95 + # source://bindata//lib/bindata/base.rb#97 def new(value = T.unsafe(nil), parent = T.unsafe(nil)); end # Returns the number of bytes it will take to write this data object. # - # source://bindata//lib/bindata/base.rb#167 + # source://bindata//lib/bindata/base.rb#169 def num_bytes; end # Returns the value of attribute parent. @@ -417,17 +446,17 @@ class BinData::Base # Work with Ruby's pretty-printer library. # - # source://bindata//lib/bindata/base.rb#194 + # source://bindata//lib/bindata/base.rb#196 def pretty_print(pp); end # Reads data into this data object. # - # source://bindata//lib/bindata/base.rb#142 + # source://bindata//lib/bindata/base.rb#144 def read(io, &block); end # Returns the offset (in bytes) of this object with respect to its parent. # - # source://bindata//lib/bindata/base.rb#223 + # source://bindata//lib/bindata/base.rb#217 def rel_offset; end # A version of +respond_to?+ used by the lazy evaluator. It doesn't @@ -435,27 +464,27 @@ class BinData::Base # # @return [Boolean] # - # source://bindata//lib/bindata/base.rb#238 + # source://bindata//lib/bindata/base.rb#228 def safe_respond_to?(symbol, include_private = T.unsafe(nil)); end # Returns the string representation of this data object. # - # source://bindata//lib/bindata/base.rb#172 + # source://bindata//lib/bindata/base.rb#174 def to_binary_s(&block); end # Returns the hexadecimal string representation of this data object. # - # source://bindata//lib/bindata/base.rb#179 + # source://bindata//lib/bindata/base.rb#181 def to_hex(&block); end # Return a string representing this data object. # - # source://bindata//lib/bindata/base.rb#189 + # source://bindata//lib/bindata/base.rb#191 def to_s; end # Writes the value for this data object to +io+. # - # source://bindata//lib/bindata/base.rb#155 + # source://bindata//lib/bindata/base.rb#157 def write(io, &block); end protected @@ -469,10 +498,10 @@ class BinData::Base private - # source://bindata//lib/bindata/base.rb#284 + # source://bindata//lib/bindata/base.rb#274 def binary_string(str); end - # source://bindata//lib/bindata/base.rb#247 + # source://bindata//lib/bindata/base.rb#237 def extract_args(args); end # Creates a new data object. @@ -504,19 +533,19 @@ class BinData::Base # # @return [Boolean] # - # source://bindata//lib/bindata/base.rb#259 + # source://bindata//lib/bindata/base.rb#249 def reading?; end - # source://bindata//lib/bindata/base.rb#251 + # source://bindata//lib/bindata/base.rb#241 def start_read; end - # source://bindata//lib/bindata/base.rb#273 + # source://bindata//lib/bindata/base.rb#263 def top_level; end - # source://bindata//lib/bindata/base.rb#267 + # source://bindata//lib/bindata/base.rb#257 def top_level_get(sym); end - # source://bindata//lib/bindata/base.rb#263 + # source://bindata//lib/bindata/base.rb#253 def top_level_set(sym, value); end class << self @@ -580,25 +609,25 @@ end # Any passed parameters are sanitized so the BinData object doesn't # need to perform error checking on the parameters. # -# source://bindata//lib/bindata/base.rb#294 +# source://bindata//lib/bindata/base.rb#284 class BinData::BaseArgProcessor # Takes the arguments passed to BinData::Base.new and # extracts [value, sanitized_parameters, parent]. # - # source://bindata//lib/bindata/base.rb#299 + # source://bindata//lib/bindata/base.rb#289 def extract_args(obj_class, obj_args); end # Performs sanity checks on the given parameters. # This method converts the parameters to the form expected # by the data object. # - # source://bindata//lib/bindata/base.rb#332 + # source://bindata//lib/bindata/base.rb#322 def sanitize_parameters!(obj_class, obj_params); end # Separates the arguments passed to BinData::Base.new into # [value, parameters, parent]. Called by #extract_args. # - # source://bindata//lib/bindata/base.rb#308 + # source://bindata//lib/bindata/base.rb#298 def separate_args(_obj_class, obj_args); end end @@ -649,7 +678,9 @@ end # # source://bindata//lib/bindata/base_primitive.rb#49 class BinData::BasePrimitive < ::BinData::Base - # source://bindata//lib/bindata/base_primitive.rb#115 + extend ::BinData::TraceHook + + # source://bindata//lib/bindata/base_primitive.rb#110 def <=>(other); end # @raise [ArgumentError] @@ -662,24 +693,24 @@ class BinData::BasePrimitive < ::BinData::Base # source://bindata//lib/bindata/base_primitive.rb#68 def clear?; end - # source://bindata//lib/bindata/base_primitive.rb#136 + # source://bindata//lib/bindata/base_primitive.rb#131 def do_num_bytes; end - # source://bindata//lib/bindata/base_primitive.rb#128 + # source://bindata//lib/bindata/base_primitive.rb#123 def do_read(io); end - # source://bindata//lib/bindata/trace.rb#58 + # source://bindata//lib/bindata/trace.rb#66 def do_read_with_hook(io); end - # source://bindata//lib/bindata/base_primitive.rb#132 + # source://bindata//lib/bindata/base_primitive.rb#127 def do_write(io); end # @return [Boolean] # - # source://bindata//lib/bindata/base_primitive.rb#119 + # source://bindata//lib/bindata/base_primitive.rb#114 def eql?(other); end - # source://bindata//lib/bindata/base_primitive.rb#124 + # source://bindata//lib/bindata/base_primitive.rb#119 def hash; end # source://bindata//lib/bindata/base_primitive.rb#64 @@ -688,24 +719,16 @@ class BinData::BasePrimitive < ::BinData::Base # source://bindata//lib/bindata/base_primitive.rb#56 def initialize_shared_instance; end - # source://bindata//lib/bindata/base_primitive.rb#102 + # source://bindata//lib/bindata/base_primitive.rb#96 def method_missing(symbol, *args, &block); end - # @return [Boolean] - # - # source://bindata//lib/bindata/base_primitive.rb#97 - def respond_to?(symbol, include_private = T.unsafe(nil)); end - - # source://bindata//lib/bindata/base_primitive.rb#85 + # source://bindata//lib/bindata/base_primitive.rb#79 def snapshot; end - # source://bindata//lib/bindata/trace.rb#63 - def trace_value; end - - # source://bindata//lib/bindata/base_primitive.rb#89 + # source://bindata//lib/bindata/base_primitive.rb#83 def value; end - # source://bindata//lib/bindata/base_primitive.rb#93 + # source://bindata//lib/bindata/base_primitive.rb#87 def value=(val); end private @@ -714,97 +737,105 @@ class BinData::BasePrimitive < ::BinData::Base # method. This indirection is so that #snapshot can be overridden in # subclasses to modify the presentation value. # - # source://bindata//lib/bindata/base_primitive.rb#146 + # source://bindata//lib/bindata/base_primitive.rb#141 def _value; end # Read a number of bytes from +io+ and return the value they represent. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/base_primitive.rb#236 + # source://bindata//lib/bindata/base_primitive.rb#240 def read_and_return_value(io); end + # @return [Boolean] + # + # source://bindata//lib/bindata/base_primitive.rb#91 + def respond_to_missing?(symbol, include_all = T.unsafe(nil)); end + # Return a sensible default for this data. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/base_primitive.rb#241 + # source://bindata//lib/bindata/base_primitive.rb#245 def sensible_default; end # Return the string representation that +val+ will take when written. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/base_primitive.rb#231 + # source://bindata//lib/bindata/base_primitive.rb#235 def value_to_binary_string(val); end class << self - # source://bindata//lib/bindata/alignment.rb#72 + # source://bindata//lib/bindata/alignment.rb#80 def bit_aligned; end # source://bindata//lib/bindata/base.rb#53 def inherited(subclass); end - - # source://bindata//lib/bindata/trace.rb#53 - def turn_off_tracing; end - - # source://bindata//lib/bindata/trace.rb#48 - def turn_on_tracing; end end end # Logic for the :assert parameter # -# source://bindata//lib/bindata/base_primitive.rb#169 +# source://bindata//lib/bindata/base_primitive.rb#164 module BinData::BasePrimitive::AssertPlugin # @raise [ValidityError] # - # source://bindata//lib/bindata/base_primitive.rb#180 + # source://bindata//lib/bindata/base_primitive.rb#175 def assert!; end - # source://bindata//lib/bindata/base_primitive.rb#170 + # source://bindata//lib/bindata/base_primitive.rb#165 def assign(val); end - # source://bindata//lib/bindata/base_primitive.rb#175 + # source://bindata//lib/bindata/base_primitive.rb#170 def do_read(io); end end # Logic for the :asserted_value parameter # -# source://bindata//lib/bindata/base_primitive.rb#198 +# source://bindata//lib/bindata/base_primitive.rb#193 module BinData::BasePrimitive::AssertedValuePlugin - # source://bindata//lib/bindata/base_primitive.rb#204 + # source://bindata//lib/bindata/base_primitive.rb#199 def _value; end - # source://bindata//lib/bindata/base_primitive.rb#213 + # source://bindata//lib/bindata/base_primitive.rb#217 def assert!; end - # source://bindata//lib/bindata/base_primitive.rb#217 + # source://bindata//lib/bindata/base_primitive.rb#221 def assert_value(current_value); end - # source://bindata//lib/bindata/base_primitive.rb#199 + # The asserted value as a binary string. + # + # Rationale: while reading, +#to_binary_s+ will use the + # value read in, rather than the +:asserted_value+. + # This feature is used by Skip. + # + # source://bindata//lib/bindata/base_primitive.rb#208 + def asserted_binary_s; end + + # source://bindata//lib/bindata/base_primitive.rb#194 def assign(val); end - # source://bindata//lib/bindata/base_primitive.rb#208 + # source://bindata//lib/bindata/base_primitive.rb#212 def do_read(io); end end # Logic for the :initial_value parameter # -# source://bindata//lib/bindata/base_primitive.rb#162 +# source://bindata//lib/bindata/base_primitive.rb#157 module BinData::BasePrimitive::InitialValuePlugin - # source://bindata//lib/bindata/base_primitive.rb#163 + # source://bindata//lib/bindata/base_primitive.rb#158 def _value; end end # Logic for the :value parameter # -# source://bindata//lib/bindata/base_primitive.rb#151 +# source://bindata//lib/bindata/base_primitive.rb#146 module BinData::BasePrimitive::ValuePlugin - # source://bindata//lib/bindata/base_primitive.rb#156 + # source://bindata//lib/bindata/base_primitive.rb#151 def _value; end - # source://bindata//lib/bindata/base_primitive.rb#152 + # source://bindata//lib/bindata/base_primitive.rb#147 def assign(val); end end @@ -838,17 +869,17 @@ end module BinData::BitAligned # @return [Boolean] # - # source://bindata//lib/bindata/alignment.rb#55 + # source://bindata//lib/bindata/alignment.rb#63 def bit_aligned?; end - # source://bindata//lib/bindata/alignment.rb#63 + # source://bindata//lib/bindata/alignment.rb#71 def do_num_bytes; end # source://bindata//lib/bindata/alignment.rb#67 - def do_write(io); end + def do_read(io); end - # source://bindata//lib/bindata/alignment.rb#59 - def read_and_return_value(io); end + # source://bindata//lib/bindata/alignment.rb#75 + def do_write(io); end end # source://bindata//lib/bindata/alignment.rb#44 @@ -858,8 +889,14 @@ class BinData::BitAligned::BitAlignedIO # source://bindata//lib/bindata/alignment.rb#45 def initialize(io); end - # source://bindata//lib/bindata/alignment.rb#48 + # source://bindata//lib/bindata/alignment.rb#49 + def binary_string(str); end + + # source://bindata//lib/bindata/alignment.rb#53 def readbytes(n); end + + # source://bindata//lib/bindata/alignment.rb#58 + def writebytes(str); end end # Defines a number of classes that contain a bit based integer. @@ -983,13 +1020,13 @@ class BinData::Buffer < ::BinData::Base # source://bindata//lib/bindata/buffer.rb#71 def clear?; end - # source://bindata//lib/bindata/buffer.rb#103 + # source://bindata//lib/bindata/buffer.rb#105 def do_num_bytes; end # source://bindata//lib/bindata/buffer.rb#91 def do_read(io); end - # source://bindata//lib/bindata/buffer.rb#97 + # source://bindata//lib/bindata/buffer.rb#98 def do_write(io); end # source://bindata//lib/bindata/buffer.rb#62 @@ -1003,45 +1040,63 @@ class BinData::Buffer < ::BinData::Base # source://bindata//lib/bindata/buffer.rb#67 def raw_num_bytes; end + # source://bindata//lib/bindata/buffer.rb#79 + def snapshot; end + + private + # @return [Boolean] # # source://bindata//lib/bindata/buffer.rb#83 - def respond_to?(symbol, include_private = T.unsafe(nil)); end - - # source://bindata//lib/bindata/buffer.rb#79 - def snapshot; end + def respond_to_missing?(symbol, include_all = T.unsafe(nil)); end end -# source://bindata//lib/bindata/buffer.rb#108 +# Transforms the IO stream to restrict access inside +# a buffer of specified length. +# +# source://bindata//lib/bindata/buffer.rb#111 +class BinData::Buffer::BufferIO < ::BinData::IO::Transform + # @return [BufferIO] a new instance of BufferIO + # + # source://bindata//lib/bindata/buffer.rb#112 + def initialize(length); end + + # source://bindata//lib/bindata/buffer.rb#161 + def after_read_transform; end + + # source://bindata//lib/bindata/buffer.rb#165 + def after_write_transform; end + + # source://bindata//lib/bindata/buffer.rb#117 + def before_transform; end + + # source://bindata//lib/bindata/buffer.rb#169 + def buffer_limited_n(n); end + + # source://bindata//lib/bindata/buffer.rb#122 + def num_bytes_remaining; end + + # source://bindata//lib/bindata/buffer.rb#144 + def read(n); end + + # source://bindata//lib/bindata/buffer.rb#135 + def seek_abs(n); end + + # source://bindata//lib/bindata/buffer.rb#128 + def skip(n); end + + # source://bindata//lib/bindata/buffer.rb#151 + def write(data); end +end + +# source://bindata//lib/bindata/buffer.rb#186 class BinData::BufferArgProcessor < ::BinData::BaseArgProcessor include ::BinData::MultiFieldArgSeparator - # source://bindata//lib/bindata/buffer.rb#111 + # source://bindata//lib/bindata/buffer.rb#189 def sanitize_parameters!(obj_class, params); end end -# Align fields to a multiple of :byte_align -# -# source://bindata//lib/bindata/struct.rb#294 -module BinData::ByteAlignPlugin - # @return [Boolean] - # - # source://bindata//lib/bindata/struct.rb#343 - def align_obj?(obj); end - - # source://bindata//lib/bindata/struct.rb#338 - def bytes_to_align(obj, rel_offset); end - - # source://bindata//lib/bindata/struct.rb#295 - def do_read(io); end - - # source://bindata//lib/bindata/struct.rb#308 - def do_write(io); end - - # source://bindata//lib/bindata/struct.rb#321 - def sum_num_bytes_below_index(index); end -end - # A Choice is a collection of data objects of which only one is active # at any particular time. Method calls will be delegated to the active # choice. @@ -1101,13 +1156,14 @@ end # source://bindata//lib/bindata/choice.rb#60 class BinData::Choice < ::BinData::Base extend ::BinData::DSLMixin + extend ::BinData::TraceHook def assign(*args); end def clear?(*args); end def do_num_bytes(*args); end def do_read(*args); end - # source://bindata//lib/bindata/trace.rb#83 + # source://bindata//lib/bindata/trace.rb#79 def do_read_with_hook(io); end def do_write(*args); end @@ -1118,13 +1174,13 @@ class BinData::Choice < ::BinData::Base # source://bindata//lib/bindata/choice.rb#69 def initialize_shared_instance; end - # source://bindata//lib/bindata/choice.rb#92 + # source://bindata//lib/bindata/choice.rb#93 def method_missing(symbol, *args, &block); end # @return [Boolean] # - # source://bindata//lib/bindata/choice.rb#88 - def respond_to?(symbol, include_private = T.unsafe(nil)); end + # source://bindata//lib/bindata/choice.rb#89 + def respond_to?(symbol, include_all = T.unsafe(nil)); end # Returns the current selection. # @@ -1133,57 +1189,46 @@ class BinData::Choice < ::BinData::Base def snapshot(*args); end - # source://bindata//lib/bindata/trace.rb#88 - def trace_selection; end - private - # source://bindata//lib/bindata/choice.rb#107 + # source://bindata//lib/bindata/choice.rb#108 def current_choice; end - # source://bindata//lib/bindata/choice.rb#112 + # source://bindata//lib/bindata/choice.rb#113 def instantiate_choice(selection); end - - class << self - # source://bindata//lib/bindata/trace.rb#78 - def turn_off_tracing; end - - # source://bindata//lib/bindata/trace.rb#73 - def turn_on_tracing; end - end end -# source://bindata//lib/bindata/choice.rb#121 +# source://bindata//lib/bindata/choice.rb#124 class BinData::ChoiceArgProcessor < ::BinData::BaseArgProcessor - # source://bindata//lib/bindata/choice.rb#122 + # source://bindata//lib/bindata/choice.rb#125 def sanitize_parameters!(obj_class, params); end private - # source://bindata//lib/bindata/choice.rb#135 + # source://bindata//lib/bindata/choice.rb#138 def choices_as_hash(choices); end - # source://bindata//lib/bindata/choice.rb#151 + # source://bindata//lib/bindata/choice.rb#154 def ensure_valid_keys(choices); end - # source://bindata//lib/bindata/choice.rb#143 + # source://bindata//lib/bindata/choice.rb#146 def key_array_by_index(array); end end # Logic for the :copy_on_change parameter # -# source://bindata//lib/bindata/choice.rb#162 +# source://bindata//lib/bindata/choice.rb#165 module BinData::CopyOnChangePlugin - # source://bindata//lib/bindata/choice.rb#169 + # source://bindata//lib/bindata/choice.rb#172 def copy_previous_value(obj); end - # source://bindata//lib/bindata/choice.rb#163 + # source://bindata//lib/bindata/choice.rb#166 def current_choice; end - # source://bindata//lib/bindata/choice.rb#176 + # source://bindata//lib/bindata/choice.rb#179 def get_previous_choice(selection); end - # source://bindata//lib/bindata/choice.rb#182 + # source://bindata//lib/bindata/choice.rb#185 def remember_current_selection(selection); end end @@ -1238,128 +1283,128 @@ end # This option creates two subclasses, each handling # :big or :little endian. # -# source://bindata//lib/bindata/dsl.rb#255 +# source://bindata//lib/bindata/dsl.rb#256 class BinData::DSLMixin::DSLBigAndLittleEndianHandler class << self - # source://bindata//lib/bindata/dsl.rb#323 + # source://bindata//lib/bindata/dsl.rb#324 def class_with_endian(class_name, endian); end - # source://bindata//lib/bindata/dsl.rb#269 + # source://bindata//lib/bindata/dsl.rb#270 def create_subclasses_with_endian(bnl_class); end - # source://bindata//lib/bindata/dsl.rb#290 + # source://bindata//lib/bindata/dsl.rb#291 def delegate_field_creation(bnl_class); end - # source://bindata//lib/bindata/dsl.rb#303 + # source://bindata//lib/bindata/dsl.rb#304 def fixup_subclass_hierarchy(bnl_class); end - # source://bindata//lib/bindata/dsl.rb#257 + # source://bindata//lib/bindata/dsl.rb#258 def handle(bnl_class); end - # source://bindata//lib/bindata/dsl.rb#265 + # source://bindata//lib/bindata/dsl.rb#266 def make_class_abstract(bnl_class); end - # source://bindata//lib/bindata/dsl.rb#331 + # source://bindata//lib/bindata/dsl.rb#332 def obj_attribute(obj, attr); end - # source://bindata//lib/bindata/dsl.rb#274 + # source://bindata//lib/bindata/dsl.rb#275 def override_new_in_class(bnl_class); end end end # Extracts the details from a field declaration. # -# source://bindata//lib/bindata/dsl.rb#338 +# source://bindata//lib/bindata/dsl.rb#339 class BinData::DSLMixin::DSLFieldParser # @return [DSLFieldParser] a new instance of DSLFieldParser # - # source://bindata//lib/bindata/dsl.rb#339 + # source://bindata//lib/bindata/dsl.rb#340 def initialize(hints, symbol, *args, &block); end # Returns the value of attribute name. # - # source://bindata//lib/bindata/dsl.rb#346 + # source://bindata//lib/bindata/dsl.rb#347 def name; end - # source://bindata//lib/bindata/dsl.rb#348 + # source://bindata//lib/bindata/dsl.rb#349 def name_from_field_declaration(args); end # Returns the value of attribute params. # - # source://bindata//lib/bindata/dsl.rb#346 + # source://bindata//lib/bindata/dsl.rb#347 def params; end - # source://bindata//lib/bindata/dsl.rb#367 + # source://bindata//lib/bindata/dsl.rb#368 def params_from_args(args); end - # source://bindata//lib/bindata/dsl.rb#374 + # source://bindata//lib/bindata/dsl.rb#375 def params_from_block(&block); end - # source://bindata//lib/bindata/dsl.rb#357 + # source://bindata//lib/bindata/dsl.rb#358 def params_from_field_declaration(args, &block); end # Returns the value of attribute type. # - # source://bindata//lib/bindata/dsl.rb#346 + # source://bindata//lib/bindata/dsl.rb#347 def type; end end # Validates a field defined in a DSLMixin. # -# source://bindata//lib/bindata/dsl.rb#398 +# source://bindata//lib/bindata/dsl.rb#400 class BinData::DSLMixin::DSLFieldValidator # @return [DSLFieldValidator] a new instance of DSLFieldValidator # - # source://bindata//lib/bindata/dsl.rb#399 + # source://bindata//lib/bindata/dsl.rb#401 def initialize(the_class, parser); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#448 + # source://bindata//lib/bindata/dsl.rb#450 def all_or_none_names_failed?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#463 + # source://bindata//lib/bindata/dsl.rb#465 def duplicate_name?(name); end - # source://bindata//lib/bindata/dsl.rb#420 + # source://bindata//lib/bindata/dsl.rb#422 def ensure_valid_name(name); end - # source://bindata//lib/bindata/dsl.rb#475 + # source://bindata//lib/bindata/dsl.rb#477 def fields; end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#459 + # source://bindata//lib/bindata/dsl.rb#461 def malformed_name?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#444 + # source://bindata//lib/bindata/dsl.rb#446 def must_have_a_name_failed?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#440 + # source://bindata//lib/bindata/dsl.rb#442 def must_not_have_a_name_failed?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#471 + # source://bindata//lib/bindata/dsl.rb#473 def name_is_reserved?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#467 + # source://bindata//lib/bindata/dsl.rb#469 def name_shadows_method?(name); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#479 + # source://bindata//lib/bindata/dsl.rb#481 def option?(opt); end - # source://bindata//lib/bindata/dsl.rb#404 + # source://bindata//lib/bindata/dsl.rb#406 def validate_field(name); end end @@ -1404,57 +1449,57 @@ class BinData::DSLMixin::DSLParser private - # source://bindata//lib/bindata/dsl.rb#190 + # source://bindata//lib/bindata/dsl.rb#191 def append_field(type, name, params); end # @raise [exception] # - # source://bindata//lib/bindata/dsl.rb#206 + # source://bindata//lib/bindata/dsl.rb#207 def dsl_raise(exception, msg); end - # source://bindata//lib/bindata/dsl.rb#142 + # source://bindata//lib/bindata/dsl.rb#143 def ensure_hints; end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#176 + # source://bindata//lib/bindata/dsl.rb#177 def fields?; end - # source://bindata//lib/bindata/dsl.rb#147 + # source://bindata//lib/bindata/dsl.rb#148 def hints; end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#138 + # source://bindata//lib/bindata/dsl.rb#139 def option?(opt); end - # source://bindata//lib/bindata/dsl.rb#196 + # source://bindata//lib/bindata/dsl.rb#197 def parent_attribute(attr, default = T.unsafe(nil)); end - # source://bindata//lib/bindata/dsl.rb#172 + # source://bindata//lib/bindata/dsl.rb#173 def parent_fields; end - # source://bindata//lib/bindata/dsl.rb#180 + # source://bindata//lib/bindata/dsl.rb#181 def parse_and_append_field(*args, &block); end # source://bindata//lib/bindata/dsl.rb#126 def parser_abilities; end - # source://bindata//lib/bindata/dsl.rb#151 + # source://bindata//lib/bindata/dsl.rb#152 def set_endian(endian); end - # source://bindata//lib/bindata/dsl.rb#224 + # source://bindata//lib/bindata/dsl.rb#225 def to_choice_params(key); end - # source://bindata//lib/bindata/dsl.rb#213 + # source://bindata//lib/bindata/dsl.rb#214 def to_object_params(key); end - # source://bindata//lib/bindata/dsl.rb#236 - def to_struct_params(*unused); end + # source://bindata//lib/bindata/dsl.rb#237 + def to_struct_params(*_); end # @return [Boolean] # - # source://bindata//lib/bindata/dsl.rb#168 + # source://bindata//lib/bindata/dsl.rb#169 def valid_endian?(endian); end end @@ -1563,11 +1608,6 @@ class BinData::DelayedIO < ::BinData::Base # source://bindata//lib/bindata/delayed_io.rb#103 def rel_offset; end - # @return [Boolean] - # - # source://bindata//lib/bindata/delayed_io.rb#86 - def respond_to?(symbol, include_private = T.unsafe(nil)); end - # source://bindata//lib/bindata/delayed_io.rb#78 def snapshot; end @@ -1578,6 +1618,13 @@ class BinData::DelayedIO < ::BinData::Base # # source://bindata//lib/bindata/delayed_io.rb#137 def write_now!; end + + private + + # @return [Boolean] + # + # source://bindata//lib/bindata/delayed_io.rb#86 + def respond_to_missing?(symbol, include_all = T.unsafe(nil)); end end # source://bindata//lib/bindata/delayed_io.rb#146 @@ -1670,14 +1717,14 @@ module BinData::Framework # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/framework.rb#29 + # source://bindata//lib/bindata/framework.rb#27 def assign(val); end # Is this object aligned on non-byte boundaries? # # @return [Boolean] # - # source://bindata//lib/bindata/framework.rb#51 + # source://bindata//lib/bindata/framework.rb#49 def bit_aligned?; end # Returns true if the object has not been changed since creation. @@ -1685,26 +1732,26 @@ module BinData::Framework # @raise [NotImplementedError] # @return [Boolean] # - # source://bindata//lib/bindata/framework.rb#23 + # source://bindata//lib/bindata/framework.rb#21 def clear?; end # Returns the debug name of +child+. This only needs to be implemented # by objects that contain child objects. # - # source://bindata//lib/bindata/framework.rb#40 + # source://bindata//lib/bindata/framework.rb#38 def debug_name_of(child); end # Returns the offset of +child+. This only needs to be implemented # by objects that contain child objects. # - # source://bindata//lib/bindata/framework.rb#46 + # source://bindata//lib/bindata/framework.rb#44 def offset_of(child); end # Returns a snapshot of this data object. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/framework.rb#34 + # source://bindata//lib/bindata/framework.rb#32 def snapshot; end protected @@ -1713,21 +1760,21 @@ module BinData::Framework # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/framework.rb#66 + # source://bindata//lib/bindata/framework.rb#64 def do_num_bytes; end # Reads the data for this data object from +io+. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/framework.rb#56 + # source://bindata//lib/bindata/framework.rb#54 def do_read(io); end # Writes the value for this data to +io+. # # @raise [NotImplementedError] # - # source://bindata//lib/bindata/framework.rb#61 + # source://bindata//lib/bindata/framework.rb#59 def do_write(io); end # Initializes the state of the object. All instance variables that @@ -1743,7 +1790,7 @@ module BinData::Framework # between all objects that are initialized with the same parameters. # This method is called only once for a particular set of parameters. # - # source://bindata//lib/bindata/framework.rb#19 + # source://bindata//lib/bindata/framework.rb#18 def initialize_shared_instance; end end @@ -1755,106 +1802,49 @@ module BinData::IO class << self # Creates a StringIO around +str+. # - # source://bindata//lib/bindata/io.rb#215 + # source://bindata//lib/bindata/io.rb#9 def create_string_io(str = T.unsafe(nil)); end end end -# Common operations for both Read and Write. +# API used to access the raw data stream. # -# source://bindata//lib/bindata/io.rb#9 -module BinData::IO::Common - # source://bindata//lib/bindata/io.rb#10 +# source://bindata//lib/bindata/io.rb#315 +class BinData::IO::RawIO + # @return [RawIO] a new instance of RawIO + # + # source://bindata//lib/bindata/io.rb#316 def initialize(io); end - private - - # source://bindata//lib/bindata/io.rb#40 - def buffer_limited_n(n); end - - # source://bindata//lib/bindata/io.rb#36 - def seek(n); end - # @return [Boolean] # - # source://bindata//lib/bindata/io.rb#30 + # source://bindata//lib/bindata/io.rb#327 + def is_seekable?(io); end + + # source://bindata//lib/bindata/io.rb#337 + def num_bytes_remaining; end + + # source://bindata//lib/bindata/io.rb#346 + def offset; end + + # source://bindata//lib/bindata/io.rb#361 + def read(n); end + + # source://bindata//lib/bindata/io.rb#356 + def seek_abs(n); end + + # @return [Boolean] + # + # source://bindata//lib/bindata/io.rb#333 def seekable?; end - # source://bindata//lib/bindata/io.rb#54 - def with_buffer_common(n); end -end - -# Use #seek and #pos on seekable streams -# -# source://bindata//lib/bindata/io.rb#69 -module BinData::IO::Common::SeekableStream - # The number of bytes remaining in the input stream. - # - # source://bindata//lib/bindata/io.rb#71 - def num_bytes_remaining; end - - # All io calls in +block+ are rolled back after this - # method completes. - # - # source://bindata//lib/bindata/io.rb#90 - def with_readahead; end - - private - - # source://bindata//lib/bindata/io.rb#106 - def offset_raw; end - - # source://bindata//lib/bindata/io.rb#114 - def read_raw(n); end - - # source://bindata//lib/bindata/io.rb#110 - def seek_raw(n); end - - # source://bindata//lib/bindata/io.rb#102 - def stream_init; end - - # source://bindata//lib/bindata/io.rb#118 - def write_raw(data); end -end - -# Manually keep track of offset for unseekable streams. -# -# source://bindata//lib/bindata/io.rb#124 -module BinData::IO::Common::UnSeekableStream - # The number of bytes remaining in the input stream. - # # @raise [IOError] # - # source://bindata//lib/bindata/io.rb#130 - def num_bytes_remaining; end + # source://bindata//lib/bindata/io.rb#350 + def skip(n); end - # source://bindata//lib/bindata/io.rb#125 - def offset_raw; end - - # All io calls in +block+ are rolled back after this - # method completes. - # - # source://bindata//lib/bindata/io.rb#136 - def with_readahead; end - - private - - # source://bindata//lib/bindata/io.rb#161 - def read_raw(n); end - - # source://bindata//lib/bindata/io.rb#167 - def read_raw_with_readahead(n); end - - # @raise [IOError] - # - # source://bindata//lib/bindata/io.rb#199 - def seek_raw(n); end - - # source://bindata//lib/bindata/io.rb#157 - def stream_init; end - - # source://bindata//lib/bindata/io.rb#194 - def write_raw(data); end + # source://bindata//lib/bindata/io.rb#365 + def write(data); end end # Create a new IO Read wrapper around +io+. +io+ must provide #read, @@ -1874,30 +1864,27 @@ end # In little endian format: # readbits(6), readbits(5) #=> [543210, a9876] # -# source://bindata//lib/bindata/io.rb#238 +# source://bindata//lib/bindata/io.rb#31 class BinData::IO::Read - include ::BinData::IO::Common - # @return [Read] a new instance of Read # - # source://bindata//lib/bindata/io.rb#241 + # source://bindata//lib/bindata/io.rb#32 def initialize(io); end - # Returns the current offset of the io stream. Offset will be rounded - # up when reading bitfields. + # The number of bytes remaining in the io steam. # - # source://bindata//lib/bindata/io.rb#261 - def offset; end + # source://bindata//lib/bindata/io.rb#68 + def num_bytes_remaining; end # Reads all remaining bytes from the stream. # - # source://bindata//lib/bindata/io.rb#282 + # source://bindata//lib/bindata/io.rb#95 def read_all_bytes; end # Reads exactly +nbits+ bits from the stream. +endian+ specifies whether # the bits are stored in +:big+ or +:little+ endian format. # - # source://bindata//lib/bindata/io.rb#289 + # source://bindata//lib/bindata/io.rb#102 def readbits(nbits, endian); end # Reads exactly +n+ bytes from +io+. @@ -1906,47 +1893,204 @@ class BinData::IO::Read # # If the data read is too short an IOError is raised. # - # source://bindata//lib/bindata/io.rb#276 + # source://bindata//lib/bindata/io.rb#89 def readbytes(n); end # Discards any read bits so the stream becomes aligned at the # next byte boundary. # - # source://bindata//lib/bindata/io.rb#305 + # source://bindata//lib/bindata/io.rb#118 def reset_read_bits; end + # Seek to an absolute offset within the io stream. + # + # source://bindata//lib/bindata/io.rb#79 + def seek_to_abs_offset(n); end + # Seek +n+ bytes from the current position in the io stream. # - # source://bindata//lib/bindata/io.rb#266 - def seekbytes(n); end + # source://bindata//lib/bindata/io.rb#73 + def skipbytes(n); end - # Sets a buffer of +n+ bytes on the io stream. Any reading or seeking - # calls inside the +block+ will be contained within this buffer. + # Allow transforming data in the input stream. + # See +BinData::Buffer+ as an example. # - # source://bindata//lib/bindata/io.rb#252 - def with_buffer(n); end + # +io+ must be an instance of +Transform+. + # + # yields +self+ and +io+ to the given block + # + # source://bindata//lib/bindata/io.rb#56 + def transform(io); end private - # source://bindata//lib/bindata/io.rb#334 + # source://bindata//lib/bindata/io.rb#147 def accumulate_big_endian_bits; end - # source://bindata//lib/bindata/io.rb#352 + # source://bindata//lib/bindata/io.rb#165 def accumulate_little_endian_bits; end - # source://bindata//lib/bindata/io.rb#358 + # source://bindata//lib/bindata/io.rb#171 def mask(nbits); end - # source://bindata//lib/bindata/io.rb#313 + # source://bindata//lib/bindata/io.rb#126 def read(n = T.unsafe(nil)); end - # source://bindata//lib/bindata/io.rb#322 + # source://bindata//lib/bindata/io.rb#135 def read_big_endian_bits(nbits); end - # source://bindata//lib/bindata/io.rb#340 + # source://bindata//lib/bindata/io.rb#153 def read_little_endian_bits(nbits); end end +# An IO stream may be transformed before processing. +# e.g. encoding, compression, buffered. +# +# Multiple transforms can be chained together. +# +# To create a new transform layer, subclass +Transform+. +# Override the public methods +#read+ and +#write+ at a minimum. +# Additionally the hook, +#before_transform+, +#after_read_transform+ +# and +#after_write_transform+ are available as well. +# +# IMPORTANT! If your transform changes the size of the underlying +# data stream (e.g. compression), then call +# +::transform_changes_stream_length!+ in your subclass. +# +# source://bindata//lib/bindata/io.rb#383 +class BinData::IO::Transform + # @return [Transform] a new instance of Transform + # + # source://bindata//lib/bindata/io.rb#392 + def initialize; end + + # Flushes the input stream. + # + # Called after the final read operation. + # + # source://bindata//lib/bindata/io.rb#404 + def after_read_transform; end + + # Flushes the output stream. + # + # Called after the final write operation. + # + # source://bindata//lib/bindata/io.rb#409 + def after_write_transform; end + + # Initialises this transform. + # + # Called before any IO operations. + # + # source://bindata//lib/bindata/io.rb#399 + def before_transform; end + + # How many bytes are available for reading? + # + # source://bindata//lib/bindata/io.rb#426 + def num_bytes_remaining; end + + # The current offset within the stream. + # + # source://bindata//lib/bindata/io.rb#431 + def offset; end + + # Prepends this transform to the given +chain+. + # + # Returns self (the new head of chain). + # + # source://bindata//lib/bindata/io.rb#414 + def prepend_to_chain(chain); end + + # Reads +n+ bytes from the stream. + # + # source://bindata//lib/bindata/io.rb#446 + def read(n); end + + # Seeks to the given absolute position. + # + # source://bindata//lib/bindata/io.rb#441 + def seek_abs(n); end + + # Is the IO seekable? + # + # @return [Boolean] + # + # source://bindata//lib/bindata/io.rb#421 + def seekable?; end + + # Skips forward +n+ bytes in the input stream. + # + # source://bindata//lib/bindata/io.rb#436 + def skip(n); end + + # Writes +data+ to the stream. + # + # source://bindata//lib/bindata/io.rb#451 + def write(data); end + + private + + # source://bindata//lib/bindata/io.rb#466 + def chain_num_bytes_remaining; end + + # source://bindata//lib/bindata/io.rb#470 + def chain_offset; end + + # source://bindata//lib/bindata/io.rb#482 + def chain_read(n); end + + # source://bindata//lib/bindata/io.rb#478 + def chain_seek_abs(n); end + + # @return [Boolean] + # + # source://bindata//lib/bindata/io.rb#462 + def chain_seekable?; end + + # source://bindata//lib/bindata/io.rb#474 + def chain_skip(n); end + + # source://bindata//lib/bindata/io.rb#486 + def chain_write(data); end + + # source://bindata//lib/bindata/io.rb#458 + def create_empty_binary_string; end + + class << self + # Indicates that this transform changes the length of the + # underlying data. e.g. performs compression or error correction + # + # source://bindata//lib/bindata/io.rb#387 + def transform_changes_stream_length!; end + end +end + +# A module to be prepended to +RawIO+ or +Transform+ when the data +# stream is not seekable. This is either due to underlying stream +# being unseekable or the transform changes the number of bytes. +# +# source://bindata//lib/bindata/io.rb#494 +module BinData::IO::UnSeekableIO + # @raise [IOError] + # + # source://bindata//lib/bindata/io.rb#499 + def num_bytes_remaining; end + + # source://bindata//lib/bindata/io.rb#514 + def seek_abs(n); end + + # @return [Boolean] + # + # source://bindata//lib/bindata/io.rb#495 + def seekable?; end + + # @raise [IOError] + # + # source://bindata//lib/bindata/io.rb#503 + def skip(n); end +end + # Create a new IO Write wrapper around +io+. +io+ must provide #write. # If +io+ is a string it will be automatically wrapped in an StringIO # object. @@ -1955,81 +2099,66 @@ end # # See IO::Read for more information. # -# source://bindata//lib/bindata/io.rb#370 +# source://bindata//lib/bindata/io.rb#183 class BinData::IO::Write - include ::BinData::IO::Common - # @return [Write] a new instance of Write # - # source://bindata//lib/bindata/io.rb#372 + # source://bindata//lib/bindata/io.rb#184 def initialize(io); end # To be called after all +writebits+ have been applied. # - # source://bindata//lib/bindata/io.rb#428 + # source://bindata//lib/bindata/io.rb#251 def flush; end # To be called after all +writebits+ have been applied. # - # source://bindata//lib/bindata/io.rb#428 + # source://bindata//lib/bindata/io.rb#251 def flushbits; end - # Returns the current offset of the io stream. Offset will be rounded - # up when writing bitfields. + # Seek to an absolute offset within the io stream. # - # source://bindata//lib/bindata/io.rb#393 - def offset; end + # @raise [IOError] + # + # source://bindata//lib/bindata/io.rb#219 + def seek_to_abs_offset(n); end - # Seek +n+ bytes from the current position in the io stream. + # Allow transforming data in the output stream. + # See +BinData::Buffer+ as an example. # - # source://bindata//lib/bindata/io.rb#398 - def seekbytes(n); end - - # Sets a buffer of +n+ bytes on the io stream. Any writes inside the - # +block+ will be contained within this buffer. If less than +n+ bytes - # are written inside the block, the remainder will be padded with '\0' - # bytes. + # +io+ must be an instance of +Transform+. # - # source://bindata//lib/bindata/io.rb#384 - def with_buffer(n); end + # yields +self+ and +io+ to the given block + # + # source://bindata//lib/bindata/io.rb#207 + def transform(io); end # Writes +nbits+ bits from +val+ to the stream. +endian+ specifies whether # the bits are to be stored in +:big+ or +:little+ endian format. # - # source://bindata//lib/bindata/io.rb#411 + # source://bindata//lib/bindata/io.rb#234 def writebits(val, nbits, endian); end # Writes the given string of bytes to the io stream. # - # source://bindata//lib/bindata/io.rb#404 + # source://bindata//lib/bindata/io.rb#227 def writebytes(str); end private - # source://bindata//lib/bindata/io.rb#491 + # source://bindata//lib/bindata/io.rb#309 def mask(nbits); end - # source://bindata//lib/bindata/io.rb#440 + # source://bindata//lib/bindata/io.rb#263 def write(data); end - # source://bindata//lib/bindata/io.rb#449 + # source://bindata//lib/bindata/io.rb#267 def write_big_endian_bits(val, nbits); end - # source://bindata//lib/bindata/io.rb#470 + # source://bindata//lib/bindata/io.rb#288 def write_little_endian_bits(val, nbits); end end -# Logic for the :initial_length parameter -# -# source://bindata//lib/bindata/array.rb#328 -module BinData::InitialLengthPlugin - # source://bindata//lib/bindata/array.rb#329 - def do_read(io); end - - # source://bindata//lib/bindata/array.rb#333 - def elements; end -end - # Defines a number of classes that contain an integer. The integer # is defined by endian, signedness and number of bytes. # @@ -2057,7 +2186,7 @@ module BinData::Int def create_raw_read_code(nbits, endian, signed); end # source://bindata//lib/bindata/int.rb#101 - def create_read_assemble_code(nbits, endian, signed); end + def create_read_assemble_code(nbits, endian); end # source://bindata//lib/bindata/int.rb#72 def create_read_code(nbits, endian, signed); end @@ -2080,7 +2209,7 @@ module BinData::Int def pack_directive(nbits, endian, signed); end # source://bindata//lib/bindata/int.rb#130 - def val_as_packed_words(nbits, endian, signed); end + def val_as_packed_words(nbits, endian); end end end @@ -2301,7 +2430,7 @@ class BinData::Primitive < ::BinData::BasePrimitive def set(v); end class << self - # source://bindata//lib/bindata/alignment.rb#76 + # source://bindata//lib/bindata/alignment.rb#84 def bit_aligned; end end end @@ -2312,22 +2441,6 @@ class BinData::PrimitiveArgProcessor < ::BinData::BaseArgProcessor def sanitize_parameters!(obj_class, params); end end -# Logic for the read_until: :eof parameter -# -# source://bindata//lib/bindata/array.rb#313 -module BinData::ReadUntilEOFPlugin - # source://bindata//lib/bindata/array.rb#314 - def do_read(io); end -end - -# Logic for the :read_until parameter -# -# source://bindata//lib/bindata/array.rb#301 -module BinData::ReadUntilPlugin - # source://bindata//lib/bindata/array.rb#302 - def do_read(io); end -end - # A Record is a declarative wrapper around Struct. # # See +Struct+ for more info. @@ -2399,40 +2512,40 @@ BinData::RegisteredClasses = T.let(T.unsafe(nil), BinData::Registry) class BinData::Registry # @return [Registry] a new instance of Registry # - # source://bindata//lib/bindata/registry.rb#22 + # source://bindata//lib/bindata/registry.rb#21 def initialize; end - # source://bindata//lib/bindata/registry.rb#39 + # source://bindata//lib/bindata/registry.rb#38 def lookup(name, hints = T.unsafe(nil)); end - # source://bindata//lib/bindata/registry.rb#26 + # source://bindata//lib/bindata/registry.rb#25 def register(name, class_to_register); end # Convert CamelCase +name+ to underscore style. # - # source://bindata//lib/bindata/registry.rb#51 + # source://bindata//lib/bindata/registry.rb#50 def underscore_name(name); end - # source://bindata//lib/bindata/registry.rb#35 + # source://bindata//lib/bindata/registry.rb#34 def unregister(name); end private - # source://bindata//lib/bindata/registry.rb#96 + # source://bindata//lib/bindata/registry.rb#95 def name_with_endian(name, endian); end - # source://bindata//lib/bindata/registry.rb#87 + # source://bindata//lib/bindata/registry.rb#86 def name_with_prefix(name, prefix); end - # source://bindata//lib/bindata/registry.rb#64 + # source://bindata//lib/bindata/registry.rb#63 def normalize_name(name, hints); end - # source://bindata//lib/bindata/registry.rb#113 + # source://bindata//lib/bindata/registry.rb#112 def register_dynamic_class(name); end # @return [Boolean] # - # source://bindata//lib/bindata/registry.rb#107 + # source://bindata//lib/bindata/registry.rb#106 def registered?(name); end # source://bindata//lib/bindata/registry.rb#123 @@ -2503,22 +2616,22 @@ end # ---------------------------------------------------------------------------- # -# source://bindata//lib/bindata/sanitize.rb#157 +# source://bindata//lib/bindata/sanitize.rb#149 class BinData::SanitizedBigEndian < ::BinData::SanitizedParameter - # source://bindata//lib/bindata/sanitize.rb#158 + # source://bindata//lib/bindata/sanitize.rb#150 def endian; end end # ---------------------------------------------------------------------------- # -# source://bindata//lib/bindata/sanitize.rb#132 +# source://bindata//lib/bindata/sanitize.rb#124 class BinData::SanitizedChoices < ::BinData::SanitizedParameter # @return [SanitizedChoices] a new instance of SanitizedChoices # - # source://bindata//lib/bindata/sanitize.rb#133 + # source://bindata//lib/bindata/sanitize.rb#125 def initialize(choices, hints); end - # source://bindata//lib/bindata/sanitize.rb#151 + # source://bindata//lib/bindata/sanitize.rb#143 def [](key); end end @@ -2533,13 +2646,15 @@ class BinData::SanitizedField < ::BinData::SanitizedParameter # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#62 + # source://bindata//lib/bindata/sanitize.rb#58 def has_parameter?(param); end - # source://bindata//lib/bindata/sanitize.rb#66 + # source://bindata//lib/bindata/sanitize.rb#62 def instantiate(value = T.unsafe(nil), parent = T.unsafe(nil)); end - # source://bindata//lib/bindata/sanitize.rb#58 + # Returns the value of attribute name. + # + # source://bindata//lib/bindata/sanitize.rb#52 def name; end # source://bindata//lib/bindata/sanitize.rb#54 @@ -2553,62 +2668,62 @@ end # ---------------------------------------------------------------------------- # -# source://bindata//lib/bindata/sanitize.rb#72 +# source://bindata//lib/bindata/sanitize.rb#68 class BinData::SanitizedFields < ::BinData::SanitizedParameter include ::Enumerable # @return [SanitizedFields] a new instance of SanitizedFields # - # source://bindata//lib/bindata/sanitize.rb#75 + # source://bindata//lib/bindata/sanitize.rb#71 def initialize(hints, base_fields = T.unsafe(nil)); end - # source://bindata//lib/bindata/sanitize.rb#94 + # source://bindata//lib/bindata/sanitize.rb#86 def [](idx); end - # source://bindata//lib/bindata/sanitize.rb#84 + # source://bindata//lib/bindata/sanitize.rb#76 def add_field(type, name, params); end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#118 + # source://bindata//lib/bindata/sanitize.rb#110 def all_field_names_blank?; end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#126 + # source://bindata//lib/bindata/sanitize.rb#118 def any_field_has_parameter?(parameter); end - # source://bindata//lib/bindata/sanitize.rb#106 + # source://bindata//lib/bindata/sanitize.rb#98 def each(&block); end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#98 + # source://bindata//lib/bindata/sanitize.rb#90 def empty?; end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#114 + # source://bindata//lib/bindata/sanitize.rb#106 def field_name?(name); end - # source://bindata//lib/bindata/sanitize.rb#110 + # source://bindata//lib/bindata/sanitize.rb#102 def field_names; end - # source://bindata//lib/bindata/sanitize.rb#102 + # source://bindata//lib/bindata/sanitize.rb#94 def length; end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#122 + # source://bindata//lib/bindata/sanitize.rb#114 def no_field_names_blank?; end - # source://bindata//lib/bindata/sanitize.rb#90 + # source://bindata//lib/bindata/sanitize.rb#82 def raw_fields; end end -# source://bindata//lib/bindata/sanitize.rb#163 +# source://bindata//lib/bindata/sanitize.rb#155 class BinData::SanitizedLittleEndian < ::BinData::SanitizedParameter - # source://bindata//lib/bindata/sanitize.rb#164 + # source://bindata//lib/bindata/sanitize.rb#156 def endian; end end @@ -2629,24 +2744,24 @@ class BinData::SanitizedParameter; end # is to recursively sanitize the parameters of an entire BinData object chain # at a single time. # -# source://bindata//lib/bindata/sanitize.rb#181 +# source://bindata//lib/bindata/sanitize.rb#174 class BinData::SanitizedParameters < ::Hash # @return [SanitizedParameters] a new instance of SanitizedParameters # - # source://bindata//lib/bindata/sanitize.rb#197 + # source://bindata//lib/bindata/sanitize.rb#188 def initialize(parameters, the_class, hints); end - # source://bindata//lib/bindata/sanitize.rb#287 + # source://bindata//lib/bindata/sanitize.rb#280 def create_sanitized_params(params, the_class); end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#215 + # source://bindata//lib/bindata/sanitize.rb#206 def has_at_least_one_of?(*keys); end def has_parameter?(_arg0); end - # source://bindata//lib/bindata/sanitize.rb#291 + # source://bindata//lib/bindata/sanitize.rb#284 def hints; end # def warn_renamed_parameter(old_key, new_key) @@ -2658,76 +2773,76 @@ class BinData::SanitizedParameters < ::Hash # end # end # - # source://bindata//lib/bindata/sanitize.rb#239 + # source://bindata//lib/bindata/sanitize.rb#230 def must_be_integer(*keys); end - # source://bindata//lib/bindata/sanitize.rb#253 + # source://bindata//lib/bindata/sanitize.rb#244 def rename_parameter(old_key, new_key); end - # source://bindata//lib/bindata/sanitize.rb#281 + # source://bindata//lib/bindata/sanitize.rb#274 def sanitize(key, &block); end - # source://bindata//lib/bindata/sanitize.rb#271 + # source://bindata//lib/bindata/sanitize.rb#264 def sanitize_choices(key, &block); end - # source://bindata//lib/bindata/sanitize.rb#277 + # source://bindata//lib/bindata/sanitize.rb#270 def sanitize_endian(key); end - # source://bindata//lib/bindata/sanitize.rb#263 + # source://bindata//lib/bindata/sanitize.rb#256 def sanitize_fields(key, &block); end - # source://bindata//lib/bindata/sanitize.rb#259 + # source://bindata//lib/bindata/sanitize.rb#250 def sanitize_object_prototype(key); end - # source://bindata//lib/bindata/sanitize.rb#223 + # source://bindata//lib/bindata/sanitize.rb#214 def warn_replacement_parameter(bad_key, suggested_key); end private - # source://bindata//lib/bindata/sanitize.rb#359 + # source://bindata//lib/bindata/sanitize.rb#352 def create_sanitized_choices(choices); end - # source://bindata//lib/bindata/sanitize.rb#347 + # source://bindata//lib/bindata/sanitize.rb#340 def create_sanitized_endian(endian); end - # source://bindata//lib/bindata/sanitize.rb#363 + # source://bindata//lib/bindata/sanitize.rb#356 def create_sanitized_fields; end - # source://bindata//lib/bindata/sanitize.rb#367 + # source://bindata//lib/bindata/sanitize.rb#360 def create_sanitized_object_prototype(obj_type, obj_params); end - # source://bindata//lib/bindata/sanitize.rb#327 + # source://bindata//lib/bindata/sanitize.rb#320 def ensure_mandatory_parameters_exist; end - # source://bindata//lib/bindata/sanitize.rb#336 + # source://bindata//lib/bindata/sanitize.rb#329 def ensure_mutual_exclusion_of_parameters; end - # source://bindata//lib/bindata/sanitize.rb#312 + # source://bindata//lib/bindata/sanitize.rb#305 def ensure_no_nil_values; end - # source://bindata//lib/bindata/sanitize.rb#321 + # source://bindata//lib/bindata/sanitize.rb#314 def merge_default_parameters!; end # @return [Boolean] # - # source://bindata//lib/bindata/sanitize.rb#308 + # source://bindata//lib/bindata/sanitize.rb#301 def needs_sanitizing?(key); end - # source://bindata//lib/bindata/sanitize.rb#298 + # source://bindata//lib/bindata/sanitize.rb#291 def sanitize!; end class << self - # source://bindata//lib/bindata/sanitize.rb#188 + # source://bindata//lib/bindata/sanitize.rb#179 def sanitize(parameters, the_class); end end end # Memoized constants # -# source://bindata//lib/bindata/sanitize.rb#184 +# source://bindata//lib/bindata/sanitize.rb#175 BinData::SanitizedParameters::BIG_ENDIAN = T.let(T.unsafe(nil), BinData::SanitizedBigEndian) -# source://bindata//lib/bindata/sanitize.rb#185 +# source://bindata//lib/bindata/sanitize.rb#176 BinData::SanitizedParameters::LITTLE_ENDIAN = T.let(T.unsafe(nil), BinData::SanitizedLittleEndian) # source://bindata//lib/bindata/sanitize.rb#8 @@ -2772,6 +2887,88 @@ class BinData::SbitLe < ::BinData::BasePrimitive def sensible_default; end end +# A Section is a layer on top of a stream that transforms the underlying +# data. This allows BinData to process a stream that has multiple +# encodings. e.g. Some data data is compressed or encrypted. +# +# require 'bindata' +# +# class XorTransform < BinData::IO::Transform +# def initialize(xor) +# super() +# @xor = xor +# end +# +# def read(n) +# chain_read(n).bytes.map { |byte| (byte ^ @xor).chr }.join +# end +# +# def write(data) +# chain_write(data.bytes.map { |byte| (byte ^ @xor).chr }.join) +# end +# end +# +# obj = BinData::Section.new(transform: -> { XorTransform.new(0xff) }, +# type: [:string, read_length: 5]) +# +# obj.read("\x97\x9A\x93\x93\x90") #=> "hello" +# +# +# == Parameters +# +# Parameters may be provided at initialisation to control the behaviour of +# an object. These params are: +# +# :transform:: A callable that returns a new BinData::IO::Transform. +# :type:: The single type inside the buffer. Use a struct if +# multiple fields are required. +# +# source://bindata//lib/bindata/section.rb#40 +class BinData::Section < ::BinData::Base + extend ::BinData::DSLMixin + + # source://bindata//lib/bindata/section.rb#56 + def assign(val); end + + # @return [Boolean] + # + # source://bindata//lib/bindata/section.rb#52 + def clear?; end + + # source://bindata//lib/bindata/section.rb#84 + def do_num_bytes; end + + # source://bindata//lib/bindata/section.rb#72 + def do_read(io); end + + # source://bindata//lib/bindata/section.rb#78 + def do_write(io); end + + # source://bindata//lib/bindata/section.rb#48 + def initialize_instance; end + + # source://bindata//lib/bindata/section.rb#68 + def method_missing(symbol, *args, &block); end + + # source://bindata//lib/bindata/section.rb#60 + def snapshot; end + + private + + # @return [Boolean] + # + # source://bindata//lib/bindata/section.rb#64 + def respond_to_missing?(symbol, include_all = T.unsafe(nil)); end +end + +# source://bindata//lib/bindata/section.rb#89 +class BinData::SectionArgProcessor < ::BinData::BaseArgProcessor + include ::BinData::MultiFieldArgSeparator + + # source://bindata//lib/bindata/section.rb#92 + def sanitize_parameters!(obj_class, params); end +end + # Skip will skip over bytes from the input stream. If the stream is not # seekable, then the bytes are consumed and discarded. # @@ -2789,12 +2986,14 @@ end # # # class B < BinData::Record -# skip until_valid: [:string, {read_length: 2, assert: "ef"} ] -# string :b, read_length: 5 +# skip do +# string read_length: 2, assert: 'ef' +# end +# string :s, read_length: 5 # end # # obj = B.read("abcdefghij") -# obj.b #=> "efghi" +# obj.s #=> "efghi" # # # == Parameters @@ -2804,64 +3003,98 @@ end # # :length:: The number of bytes to skip. # :to_abs_offset:: Skips to the given absolute offset. -# :until_valid:: Skips untils a given byte pattern is matched. +# :until_valid:: Skips until a given byte pattern is matched. # This parameter contains a type that will raise # a BinData::ValidityError unless an acceptable byte # sequence is found. The type is represented by a -# Symbol, or if the type is to have params # -# passed to it, then it should be provided as # +# Symbol, or if the type is to have params +# passed to it, then it should be provided as # [type_symbol, hash_params]. # -# source://bindata//lib/bindata/skip.rb#44 +# source://bindata//lib/bindata/skip.rb#47 class BinData::Skip < ::BinData::BasePrimitive - # source://bindata//lib/bindata/skip.rb#50 + extend ::BinData::DSLMixin + + # source://bindata//lib/bindata/skip.rb#56 def initialize_shared_instance; end private - # source://bindata//lib/bindata/skip.rb#69 + # source://bindata//lib/bindata/skip.rb#76 def read_and_return_value(io); end - # source://bindata//lib/bindata/skip.rb#79 + # source://bindata//lib/bindata/skip.rb#87 def sensible_default; end - # source://bindata//lib/bindata/skip.rb#60 - def value_to_binary_string(val); end -end - -# source://bindata//lib/bindata/skip.rb#84 -class BinData::SkipArgProcessor < ::BinData::BaseArgProcessor - # source://bindata//lib/bindata/skip.rb#85 - def sanitize_parameters!(obj_class, params); end + # source://bindata//lib/bindata/skip.rb#66 + def value_to_binary_string(_); end end # Logic for the :length parameter # -# source://bindata//lib/bindata/skip.rb#96 -module BinData::SkipLengthPlugin - # source://bindata//lib/bindata/skip.rb#97 +# source://bindata//lib/bindata/skip.rb#92 +module BinData::Skip::SkipLengthPlugin + # source://bindata//lib/bindata/skip.rb#93 def skip_length; end end # Logic for the :to_abs_offset parameter # -# source://bindata//lib/bindata/skip.rb#103 -module BinData::SkipToAbsOffsetPlugin - # source://bindata//lib/bindata/skip.rb#104 +# source://bindata//lib/bindata/skip.rb#99 +module BinData::Skip::SkipToAbsOffsetPlugin + # source://bindata//lib/bindata/skip.rb#100 def skip_length; end end # Logic for the :until_valid parameter # -# source://bindata//lib/bindata/skip.rb#110 -module BinData::SkipUntilValidPlugin - # source://bindata//lib/bindata/skip.rb#116 - def read_and_return_value(io); end +# source://bindata//lib/bindata/skip.rb#106 +module BinData::Skip::SkipUntilValidPlugin + # source://bindata//lib/bindata/skip.rb#145 + def fast_search_for(obj); end + + # If a search object has an +asserted_value+ field then we + # perform a faster search for a valid object. + # + # source://bindata//lib/bindata/skip.rb#155 + def fast_search_for_obj(obj); end + + # source://bindata//lib/bindata/skip.rb#170 + def next_search_index(io, fs); end # source://bindata//lib/bindata/skip.rb#111 + def read_and_return_value(io); end + + # source://bindata//lib/bindata/skip.rb#137 + def seek_to_pos(pos, io); end + + # source://bindata//lib/bindata/skip.rb#107 def skip_length; end end +# A fast search has a pattern string at a specific offset. +# +# source://bindata//lib/bindata/skip.rb#143 +BinData::Skip::SkipUntilValidPlugin::FastSearch = Struct + +# source://bindata//lib/bindata/skip.rb#193 +class BinData::Skip::SkipUntilValidPlugin::ReadaheadIO < ::BinData::IO::Transform + # source://bindata//lib/bindata/skip.rb#194 + def before_transform; end + + # source://bindata//lib/bindata/skip.rb#202 + def rollback; end +end + +# source://bindata//lib/bindata/skip.rb#168 +BinData::Skip::SkipUntilValidPlugin::SEARCH_SIZE = T.let(T.unsafe(nil), Integer) + +# source://bindata//lib/bindata/skip.rb#209 +class BinData::SkipArgProcessor < ::BinData::BaseArgProcessor + # source://bindata//lib/bindata/skip.rb#210 + def sanitize_parameters!(obj_class, params); end +end + # A String is a sequence of bytes. This is the same as strings in Ruby 1.8. # The issue of character encoding is ignored by this class. # @@ -2939,14 +3172,22 @@ class BinData::String < ::BinData::BasePrimitive def value_to_binary_string(val); end end +# Warns when reading if :value && no :read_length +# # source://bindata//lib/bindata/string.rb#126 -class BinData::StringArgProcessor < ::BinData::BaseArgProcessor +module BinData::String::WarnNoReadLengthPlugin # source://bindata//lib/bindata/string.rb#127 + def read_and_return_value(io); end +end + +# source://bindata//lib/bindata/string.rb#134 +class BinData::StringArgProcessor < ::BinData::BaseArgProcessor + # source://bindata//lib/bindata/string.rb#135 def sanitize_parameters!(obj_class, params); end private - # source://bindata//lib/bindata/string.rb#137 + # source://bindata//lib/bindata/string.rb#145 def sanitized_pad_byte(byte); end end @@ -2976,33 +3217,33 @@ end # # source://bindata//lib/bindata/stringz.rb#27 class BinData::Stringz < ::BinData::BasePrimitive - # source://bindata//lib/bindata/stringz.rb#31 + # source://bindata//lib/bindata/stringz.rb#30 def assign(val); end - # source://bindata//lib/bindata/stringz.rb#35 + # source://bindata//lib/bindata/stringz.rb#34 def snapshot; end private - # source://bindata//lib/bindata/stringz.rb#90 + # source://bindata//lib/bindata/stringz.rb#92 def append_zero_byte_if_needed!(str); end - # source://bindata//lib/bindata/stringz.rb#48 + # source://bindata//lib/bindata/stringz.rb#47 def read_and_return_value(io); end - # source://bindata//lib/bindata/stringz.rb#64 + # source://bindata//lib/bindata/stringz.rb#63 def sensible_default; end - # source://bindata//lib/bindata/stringz.rb#68 + # source://bindata//lib/bindata/stringz.rb#67 def trim_and_zero_terminate(str); end - # source://bindata//lib/bindata/stringz.rb#80 + # source://bindata//lib/bindata/stringz.rb#85 def trim_to!(str, max_length = T.unsafe(nil)); end - # source://bindata//lib/bindata/stringz.rb#76 + # source://bindata//lib/bindata/stringz.rb#81 def truncate_after_first_zero_byte!(str); end - # source://bindata//lib/bindata/stringz.rb#44 + # source://bindata//lib/bindata/stringz.rb#43 def value_to_binary_string(val); end end @@ -3056,116 +3297,119 @@ end # [:byte_align] This field's rel_offset must be a multiple of # :byte_align. # -# source://bindata//lib/bindata/struct.rb#59 +# source://bindata//lib/bindata/struct.rb#58 class BinData::Struct < ::BinData::Base - # source://bindata//lib/bindata/struct.rb#153 + # source://bindata//lib/bindata/struct.rb#154 def [](key); end - # source://bindata//lib/bindata/struct.rb#157 + # source://bindata//lib/bindata/struct.rb#158 def []=(key, value); end - # source://bindata//lib/bindata/struct.rb#101 + # source://bindata//lib/bindata/struct.rb#102 def assign(val); end - # source://bindata//lib/bindata/struct.rb#93 + # source://bindata//lib/bindata/struct.rb#94 def clear; end # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#97 + # source://bindata//lib/bindata/struct.rb#98 def clear?; end - # source://bindata//lib/bindata/struct.rb#127 + # source://bindata//lib/bindata/struct.rb#128 def debug_name_of(child); end - # source://bindata//lib/bindata/struct.rb#148 + # source://bindata//lib/bindata/struct.rb#149 def do_num_bytes; end - # source://bindata//lib/bindata/struct.rb#138 + # source://bindata//lib/bindata/struct.rb#139 def do_read(io); end - # :nodoc - # - # source://bindata//lib/bindata/struct.rb#143 + # source://bindata//lib/bindata/struct.rb#144 def do_write(io); end - # source://bindata//lib/bindata/struct.rb#168 - def each_pair; end + # Calls the given block for each field_name-field_obj pair. + # + # Does not include anonymous or hidden fields unless + # +include_all+ is true. + # + # source://bindata//lib/bindata/struct.rb#170 + def each_pair(include_all = T.unsafe(nil)); end # Returns a list of the names of all fields accessible through this # object. +include_hidden+ specifies whether to include hidden names # in the listing. # - # source://bindata//lib/bindata/struct.rb#118 + # source://bindata//lib/bindata/struct.rb#119 def field_names(include_hidden = T.unsafe(nil)); end # has_key? is deprecated # # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#164 + # source://bindata//lib/bindata/struct.rb#162 def has_key?(key); end - # source://bindata//lib/bindata/struct.rb#89 + # source://bindata//lib/bindata/struct.rb#90 def initialize_instance; end - # source://bindata//lib/bindata/struct.rb#81 + # source://bindata//lib/bindata/struct.rb#82 def initialize_shared_instance; end # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#164 + # source://bindata//lib/bindata/struct.rb#162 def key?(key); end - # source://bindata//lib/bindata/struct.rb#132 + # source://bindata//lib/bindata/struct.rb#133 def offset_of(child); end - # source://bindata//lib/bindata/struct.rb#106 + # source://bindata//lib/bindata/struct.rb#107 def snapshot; end private - # source://bindata//lib/bindata/struct.rb#239 + # source://bindata//lib/bindata/struct.rb#247 def as_stringified_hash(val); end - # source://bindata//lib/bindata/struct.rb#228 + # source://bindata//lib/bindata/struct.rb#236 def assign_fields(val); end - # source://bindata//lib/bindata/struct.rb#213 + # source://bindata//lib/bindata/struct.rb#221 def base_field_name(name); end - # source://bindata//lib/bindata/struct.rb#177 + # source://bindata//lib/bindata/struct.rb#187 def define_field_accessors; end - # source://bindata//lib/bindata/struct.rb#184 + # source://bindata//lib/bindata/struct.rb#194 def define_field_accessors_for(name, index); end - # source://bindata//lib/bindata/struct.rb#199 + # source://bindata//lib/bindata/struct.rb#209 def find_index_of(obj); end - # source://bindata//lib/bindata/struct.rb#203 + # source://bindata//lib/bindata/struct.rb#213 def find_obj_for_name(name); end # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#273 + # source://bindata//lib/bindata/struct.rb#281 def include_obj?(obj); end # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#267 + # source://bindata//lib/bindata/struct.rb#275 def include_obj_for_io?(obj); end - # source://bindata//lib/bindata/struct.rb#217 + # source://bindata//lib/bindata/struct.rb#225 def instantiate_all_objs; end - # source://bindata//lib/bindata/struct.rb#221 + # source://bindata//lib/bindata/struct.rb#229 def instantiate_obj_at(index); end - # source://bindata//lib/bindata/struct.rb#255 + # source://bindata//lib/bindata/struct.rb#263 def sum_num_bytes_below_index(index); end - # source://bindata//lib/bindata/struct.rb#251 + # source://bindata//lib/bindata/struct.rb#259 def sum_num_bytes_for_all_fields; end class << self @@ -3174,67 +3418,100 @@ class BinData::Struct < ::BinData::Base end end +# Align fields to a multiple of :byte_align +# +# source://bindata//lib/bindata/struct.rb#301 +module BinData::Struct::ByteAlignPlugin + # @return [Boolean] + # + # source://bindata//lib/bindata/struct.rb#361 + def align_obj?(obj); end + + # source://bindata//lib/bindata/struct.rb#356 + def bytes_to_align(obj, rel_offset); end + + # source://bindata//lib/bindata/struct.rb#302 + def do_read(io); end + + # source://bindata//lib/bindata/struct.rb#320 + def do_write(io); end + + # source://bindata//lib/bindata/struct.rb#338 + def sum_num_bytes_below_index(index); end +end + # These reserved words may not be used as field names # -# source://bindata//lib/bindata/struct.rb#66 +# source://bindata//lib/bindata/struct.rb#65 BinData::Struct::RESERVED = T.let(T.unsafe(nil), Hash) # A hash that can be accessed via attributes. # -# source://bindata//lib/bindata/struct.rb#278 +# source://bindata//lib/bindata/struct.rb#286 class BinData::Struct::Snapshot < ::Hash - # source://bindata//lib/bindata/struct.rb#279 + # source://bindata//lib/bindata/struct.rb#287 def []=(key, value); end - # source://bindata//lib/bindata/struct.rb#287 + # source://bindata//lib/bindata/struct.rb#295 def method_missing(symbol, *args); end + private + # @return [Boolean] # - # source://bindata//lib/bindata/struct.rb#283 - def respond_to?(symbol, include_private = T.unsafe(nil)); end + # source://bindata//lib/bindata/struct.rb#291 + def respond_to_missing?(symbol, include_all = T.unsafe(nil)); end end -# source://bindata//lib/bindata/struct.rb#348 +# source://bindata//lib/bindata/struct.rb#367 class BinData::StructArgProcessor < ::BinData::BaseArgProcessor - # source://bindata//lib/bindata/struct.rb#349 + # source://bindata//lib/bindata/struct.rb#368 def sanitize_parameters!(obj_class, params); end private - # source://bindata//lib/bindata/struct.rb#403 + # source://bindata//lib/bindata/struct.rb#420 def ensure_field_names_are_valid(obj_class, field_names); end - # source://bindata//lib/bindata/struct.rb#399 + # source://bindata//lib/bindata/struct.rb#416 def hidden_field_names(hidden); end - # source://bindata//lib/bindata/struct.rb#359 + # source://bindata//lib/bindata/struct.rb#378 def sanitize_endian(params); end - # source://bindata//lib/bindata/struct.rb#375 + # source://bindata//lib/bindata/struct.rb#392 def sanitize_fields(obj_class, params); end - # source://bindata//lib/bindata/struct.rb#386 + # source://bindata//lib/bindata/struct.rb#403 def sanitize_hide(params); end - # source://bindata//lib/bindata/struct.rb#363 + # source://bindata//lib/bindata/struct.rb#382 def sanitize_search_prefix(params); end - # source://bindata//lib/bindata/struct.rb#395 + # source://bindata//lib/bindata/struct.rb#412 def sanitized_field_names(sanitized_fields); end end -# source://bindata//lib/bindata/trace.rb#5 +# source://bindata//lib/bindata/trace.rb#47 +module BinData::TraceHook + # source://bindata//lib/bindata/trace.rb#55 + def turn_off_tracing; end + + # source://bindata//lib/bindata/trace.rb#48 + def turn_on_tracing; end +end + +# source://bindata//lib/bindata/trace.rb#23 class BinData::Tracer # @return [Tracer] a new instance of Tracer # - # source://bindata//lib/bindata/trace.rb#6 + # source://bindata//lib/bindata/trace.rb#24 def initialize(io); end - # source://bindata//lib/bindata/trace.rb#10 + # source://bindata//lib/bindata/trace.rb#28 def trace(msg); end - # source://bindata//lib/bindata/trace.rb#14 + # source://bindata//lib/bindata/trace.rb#32 def trace_obj(obj_name, val); end end @@ -3293,6 +3570,8 @@ class BinData::Uint8ArrayArgProcessor < ::BinData::BaseArgProcessor def sanitize_parameters!(obj_class, params); end end +# Raised when #lookup fails. +# # source://bindata//lib/bindata/registry.rb#3 class BinData::UnRegisteredTypeError < ::StandardError; end @@ -3318,7 +3597,7 @@ class BinData::ValidityError < ::StandardError; end # # obj = A.read("abcdeabcde") # obj.a #=> "abcde" -# obj.c.offset #=> 10 +# obj.c.rel_offset #=> 10 # # obj = A.read("abcdeABCDE") #=> BinData::ValidityError: assertion failed for obj.c # @@ -3333,23 +3612,15 @@ class BinData::ValidityError < ::StandardError; end # # source://bindata//lib/bindata/virtual.rb#31 class BinData::Virtual < ::BinData::BasePrimitive - # source://bindata//lib/bindata/virtual.rb#39 + # source://bindata//lib/bindata/virtual.rb#36 def do_num_bytes; end - # source://bindata//lib/bindata/virtual.rb#33 + # source://bindata//lib/bindata/virtual.rb#32 def do_read(io); end - # source://bindata//lib/bindata/virtual.rb#36 + # source://bindata//lib/bindata/virtual.rb#34 def do_write(io); end - # source://bindata//lib/bindata/virtual.rb#43 + # source://bindata//lib/bindata/virtual.rb#40 def sensible_default; end end - -# Warns when reading if :value && no :read_length -# -# source://bindata//lib/bindata/string.rb#147 -module BinData::WarnNoReadLengthPlugin - # source://bindata//lib/bindata/string.rb#148 - def read_and_return_value(io); end -end