Class: PEdump::CLR::READYTORUN_SECTION

Inherits:
Object
  • Object
show all
Defined in:
lib/pedump/clr/readytorun.rb

Overview

Constant Summary collapse

SECTION_TYPES =
{
  100 => "CompilerIdentifier",        # Image
  101 => "ImportSections",            # Image
  102 => "RuntimeFunctions",          # Image
  103 => "MethodDefEntryPoints",      # Assembly
  104 => "ExceptionInfo",             # Assembly
  105 => "DebugInfo",                 # Assembly
  106 => "DelayLoadMethodCallThunks", # Assembly
  107 => "AvailableTypes",            # (obsolete - used by an older format)
  108 => "AvailableTypes",            # Assembly
  109 => "InstanceMethodEntryPoints", # Image
  110 => "InliningInfo",              # Assembly (added in V2.1)
  111 => "ProfileDataInfo",           # Image (added in V2.2)
  112 => "ManifestMetadata",          # Image (added in V2.3)
  113 => "AttributePresence",         # Assembly (added in V3.1)
  114 => "InliningInfo2",             # Image (added in V4.1)
  115 => "ComponentAssemblies",       # Image (added in V4.1)
  116 => "OwnerCompositeExecutable",  # Image (added in V4.1)
  117 => "PgoInstrumentationData",    # Image (added in V5.2)
  118 => "ManifestAssemblyMvids",     # Image (added in V5.3)
  119 => "CrossModuleInlineInfo",     # Image (added in V6.3)
  120 => "HotColdMap",                # Image (added in V8.0)
  121 => "MethodIsGenericMap",        # Assembly (Added in V9.0)
  122 => "EnclosingTypeMap",          # Assembly (Added in V9.0)
  123 => "TypeGenericInfoMap",        # Assembly (Added in V9.0)
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.read(io) ⇒ Object



91
92
93
94
95
# File 'lib/pedump/clr/readytorun.rb', line 91

def self.read io
  super.tap do |r|
    r.Section = IMAGE_DATA_DIRECTORY.read(io)
  end
end

Instance Method Details

#to_sObject



87
88
89
# File 'lib/pedump/clr/readytorun.rb', line 87

def to_s
  "<%s Type=%3d va=%8x size=%8x>  %s" % [self.class, self.Type, self.Section.va, self.Section.size, SECTION_TYPES[self.Type] || "?"]
end