retdec
Classes | Namespaces | Enumerations | Functions
metadata_tables.h File Reference

Classes for metadata tables. More...

#include <cstdint>
#include <type_traits>
#include "retdec/fileformat/file_format/file_format.h"
#include "retdec/fileformat/types/dotnet_headers/metadata_stream.h"

Go to the source code of this file.

Classes

struct  retdec::fileformat::Index
 
struct  retdec::fileformat::CompoundIndex
 
struct  retdec::fileformat::StringStreamIndex
 
struct  retdec::fileformat::BlobStreamIndex
 
struct  retdec::fileformat::GuidStreamIndex
 
struct  retdec::fileformat::FieldTableIndex
 
struct  retdec::fileformat::MethodDefTableIndex
 
struct  retdec::fileformat::ParamTableIndex
 
struct  retdec::fileformat::TypeDefTableIndex
 
struct  retdec::fileformat::EventTableIndex
 
struct  retdec::fileformat::PropertyTableIndex
 
struct  retdec::fileformat::ModuleRefTableIndex
 
struct  retdec::fileformat::AssemblyRefTableIndex
 
struct  retdec::fileformat::GenericParamTableIndex
 
struct  retdec::fileformat::TypeDefOrRef
 
struct  retdec::fileformat::HasConstant
 
struct  retdec::fileformat::HasCustomAttribute
 
struct  retdec::fileformat::HasFieldMarshal
 
struct  retdec::fileformat::HasDeclSecurity
 
struct  retdec::fileformat::MemberRefParent
 
struct  retdec::fileformat::HasSemantics
 
struct  retdec::fileformat::MethodDefOrRef
 
struct  retdec::fileformat::MemberForwarded
 
struct  retdec::fileformat::Implementation
 
struct  retdec::fileformat::CustomAttributeType
 
struct  retdec::fileformat::ResolutionScope
 
struct  retdec::fileformat::TypeDefOrMethodDef
 
class  retdec::fileformat::InvalidDotnetRecordError
 
struct  retdec::fileformat::BaseRecord
 
struct  retdec::fileformat::DotnetModule
 
struct  retdec::fileformat::TypeRef
 
struct  retdec::fileformat::TypeDef
 
struct  retdec::fileformat::FieldPtr
 
struct  retdec::fileformat::Field
 
struct  retdec::fileformat::MethodPtr
 
struct  retdec::fileformat::MethodDef
 
struct  retdec::fileformat::ParamPtr
 
struct  retdec::fileformat::Param
 
struct  retdec::fileformat::InterfaceImpl
 
struct  retdec::fileformat::MemberRef
 
struct  retdec::fileformat::Constant
 
struct  retdec::fileformat::CustomAttribute
 
struct  retdec::fileformat::FieldMarshal
 
struct  retdec::fileformat::DeclSecurity
 
struct  retdec::fileformat::ClassLayout
 
struct  retdec::fileformat::FieldLayout
 
struct  retdec::fileformat::StandAloneSig
 
struct  retdec::fileformat::EventMap
 
struct  retdec::fileformat::Event
 
struct  retdec::fileformat::PropertyPtr
 
struct  retdec::fileformat::PropertyMap
 
struct  retdec::fileformat::Property
 
struct  retdec::fileformat::MethodSemantics
 
struct  retdec::fileformat::MethodImpl
 
struct  retdec::fileformat::ModuleRef
 
struct  retdec::fileformat::TypeSpec
 
struct  retdec::fileformat::ImplMap
 
struct  retdec::fileformat::FieldRVA
 
struct  retdec::fileformat::ENCLog
 
struct  retdec::fileformat::ENCMap
 
struct  retdec::fileformat::Assembly
 
struct  retdec::fileformat::AssemblyProcessor
 
struct  retdec::fileformat::AssemblyOS
 
struct  retdec::fileformat::AssemblyRef
 
struct  retdec::fileformat::AssemblyRefProcessor
 
struct  retdec::fileformat::AssemblyRefOS
 
struct  retdec::fileformat::File
 
struct  retdec::fileformat::ExportedType
 
struct  retdec::fileformat::ManifestResource
 
struct  retdec::fileformat::NestedClass
 
struct  retdec::fileformat::GenericParam
 
struct  retdec::fileformat::MethodSpec
 
struct  retdec::fileformat::GenericParamContstraint
 

Namespaces

 retdec
 
 retdec::fileformat
 

Enumerations

enum  retdec::fileformat::TypeDefFlags {
  retdec::fileformat::TypeVisibilityMask = 0x00000007 , retdec::fileformat::TypeNotPublic = 0x00000000 , retdec::fileformat::TypePublic = 0x00000001 , retdec::fileformat::TypeNestedPublic = 0x00000002 ,
  retdec::fileformat::TypeNestedPrivate = 0x00000003 , retdec::fileformat::TypeNestedFamily = 0x00000004 , retdec::fileformat::TypeNestedAssembly = 0x00000005 , retdec::fileformat::TypeNestedFamANDAssem = 0x00000006 ,
  retdec::fileformat::TypeNestedFamORAssem = 0x00000007 , retdec::fileformat::TypeClassSemanticsMask = 0x00000020 , retdec::fileformat::TypeClass = 0x00000000 , retdec::fileformat::TypeInterface = 0x00000020 ,
  retdec::fileformat::TypeClassAbstract = 0x00000080 , retdec::fileformat::TypeClassSealed = 0x00000100 , retdec::fileformat::TypeClassSpecialName = 0x00000400 , retdec::fileformat::TypeStringFormatMask = 0x00030000 ,
  retdec::fileformat::TypeAnsiClass = 0x00000000 , retdec::fileformat::TypeUnicodeClass = 0x00010000 , retdec::fileformat::TypeAutoClass = 0x00020000 , retdec::fileformat::TypeCustomFormatClass = 0x00030000
}
 
enum  retdec::fileformat::FieldFlags {
  retdec::fileformat::FieldAccessMask = 0x0007 , retdec::fileformat::FieldCompilerControlled = 0x0000 , retdec::fileformat::FieldPrivate = 0x0001 , retdec::fileformat::FieldFamANDAssem = 0x0002 ,
  retdec::fileformat::FieldAssembly = 0x0003 , retdec::fileformat::FieldFamily = 0x0004 , retdec::fileformat::FieldFamORAssem = 0x0005 , retdec::fileformat::FieldPublic = 0x0006 ,
  retdec::fileformat::FieldStatic = 0x0010 , retdec::fileformat::FieldInitOnly = 0x0020 , retdec::fileformat::FieldLiteral = 0x0040 , retdec::fileformat::FieldNotSerialized = 0x0080 ,
  retdec::fileformat::FieldSpecialName = 0x0200
}
 
enum  retdec::fileformat::MethodFlags {
  retdec::fileformat::MethodMemberAccessMask = 0x0007 , retdec::fileformat::MethodCompilerControlled = 0x0000 , retdec::fileformat::MethodPrivate = 0x0001 , retdec::fileformat::MethodFamANDAssem = 0x0002 ,
  retdec::fileformat::MethodAssem = 0x0003 , retdec::fileformat::MethodFamily = 0x0004 , retdec::fileformat::MethodFamORAssem = 0x0005 , retdec::fileformat::MethodPublic = 0x0006 ,
  retdec::fileformat::MethodStatic = 0x0010 , retdec::fileformat::MethodFinal = 0x0020 , retdec::fileformat::MethodVirtual = 0x0040 , retdec::fileformat::MethodHideBySig = 0x0080 ,
  retdec::fileformat::MethodStrict = 0x0200 , retdec::fileformat::MethodAbstract = 0x0400 , retdec::fileformat::MethodSpecialName = 0x0800
}
 
enum  retdec::fileformat::ParamFlags {
  retdec::fileformat::ParamIn = 0x0001 , retdec::fileformat::ParamOut = 0x0002 , retdec::fileformat::ParamOptional = 0x0010 , retdec::fileformat::ParamHasDefault = 0x1000 ,
  retdec::fileformat::ParamHasFieldMarshal = 0x2000
}
 

Functions

template<>
std::uint8_t retdec::fileformat::BaseRecord::loadUInt< std::uint8_t > (const FileFormat *file, std::uint64_t &address)
 
template<>
std::uint16_t retdec::fileformat::BaseRecord::loadUInt< std::uint16_t > (const FileFormat *file, std::uint64_t &address)
 
template<>
std::uint32_t retdec::fileformat::BaseRecord::loadUInt< std::uint32_t > (const FileFormat *file, std::uint64_t &address)
 

Detailed Description

Classes for metadata tables.