Class: PEdump::CLR::MethodDefSig
- Defined in:
- lib/pedump/clr/signature.rb
Overview
Constant Summary
Constants inherited from Signature
Signature::DEFAULT, Signature::ELEMENT_TYPE_ARRAY, Signature::ELEMENT_TYPE_BOOLEAN, Signature::ELEMENT_TYPE_BYREF, Signature::ELEMENT_TYPE_CHAR, Signature::ELEMENT_TYPE_CLASS, Signature::ELEMENT_TYPE_CMOD_OPT, Signature::ELEMENT_TYPE_CMOD_REQD, Signature::ELEMENT_TYPE_END, Signature::ELEMENT_TYPE_FNPTR, Signature::ELEMENT_TYPE_GENERICINST, Signature::ELEMENT_TYPE_I, Signature::ELEMENT_TYPE_I1, Signature::ELEMENT_TYPE_I2, Signature::ELEMENT_TYPE_I4, Signature::ELEMENT_TYPE_I8, Signature::ELEMENT_TYPE_INTERNAL, Signature::ELEMENT_TYPE_MVAR, Signature::ELEMENT_TYPE_OBJECT, Signature::ELEMENT_TYPE_PTR, Signature::ELEMENT_TYPE_R4, Signature::ELEMENT_TYPE_R8, Signature::ELEMENT_TYPE_STRING, Signature::ELEMENT_TYPE_SZARRAY, Signature::ELEMENT_TYPE_TYPEDBYREF, Signature::ELEMENT_TYPE_U, Signature::ELEMENT_TYPE_U1, Signature::ELEMENT_TYPE_U2, Signature::ELEMENT_TYPE_U4, Signature::ELEMENT_TYPE_U8, Signature::ELEMENT_TYPE_VALUETYPE, Signature::ELEMENT_TYPE_VAR, Signature::ELEMENT_TYPE_VOID, Signature::EXPLICITTHIS, Signature::FIELD, Signature::GENERIC, Signature::HASTHIS, Signature::PROPERTY, Signature::SENTINEL, Signature::VARARG
Instance Attribute Summary collapse
-
#params ⇒ Object
Returns the value of attribute params.
-
#ret_type ⇒ Object
Returns the value of attribute ret_type.
Instance Method Summary collapse
-
#initialize(io) ⇒ MethodDefSig
constructor
A new instance of MethodDefSig.
Methods inherited from Signature
#_read_CustomMod, #_read_Param, #_read_RetType, #_read_Type, #_read_TypeDefOrRefOrSpecEncoded, #_read_compressed_uint, read, #to_s
Constructor Details
#initialize(io) ⇒ MethodDefSig
Returns a new instance of MethodDefSig.
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# File 'lib/pedump/clr/signature.rb', line 289 def initialize io # "The first byte of the Signature holds bits for HASTHIS, EXPLICITTHIS, and the calling convention VARARG. These are ORed together." @type = io.read(1).unpack1('C') if @type & GENERIC == GENERIC @GenParamCount = _read_compressed_uint(io) end @ParamCount = _read_compressed_uint(io) @ret_type = _read_RetType(io) if @ParamCount < 255 # protect from malformed EXEs @params = @ParamCount.times.map{ _read_Param(io) } end end |
Instance Attribute Details
#params ⇒ Object
Returns the value of attribute params.
287 288 289 |
# File 'lib/pedump/clr/signature.rb', line 287 def params @params end |
#ret_type ⇒ Object
Returns the value of attribute ret_type.
287 288 289 |
# File 'lib/pedump/clr/signature.rb', line 287 def ret_type @ret_type end |