Module prelude

Expand description

Convenient re-exports of the most commonly used types and traits.

This module provides a curated selection of the most frequently used types from across the dotscope library, allowing for convenient glob imports.

§Example

use dotscope::prelude::*;

// Now you have access to the most common types
let assembly = CilObject::from_file("tests/samples/WindowsBase.dll".as_ref())?;
let methods = assembly.methods();

§dotscope Prelude

This module provides a convenient prelude for the most commonly used types and traits from the dotscope library. Import this module to get quick access to the essential types for .NET assembly analysis.

Re-exports§

pub use crate::Error;
pub use crate::Result;
pub use crate::CilObject;
pub use crate::File;
pub use crate::Parser;
pub use crate::metadata::token::Token;
pub use crate::metadata::root::CIL_HEADER_MAGIC;
pub use crate::metadata::imports::ImportType;
pub use crate::metadata::typesystem::CilFlavor;
pub use crate::metadata::typesystem::CilModifier;
pub use crate::metadata::typesystem::CilPrimitive;
pub use crate::metadata::typesystem::CilPrimitiveData;
pub use crate::metadata::typesystem::CilPrimitiveKind;
pub use crate::metadata::typesystem::CilType;
pub use crate::metadata::typesystem::CilTypeList;
pub use crate::metadata::typesystem::CilTypeRc;
pub use crate::metadata::typesystem::CilTypeRef;
pub use crate::metadata::typesystem::CilTypeRefList;
pub use crate::metadata::typesystem::CilTypeReference;
pub use crate::metadata::typesystem::TypeRegistry;
pub use crate::metadata::typesystem::TypeResolver;
pub use crate::metadata::typesystem::TypeSource;
pub use crate::metadata::streams::Assembly;
pub use crate::metadata::streams::AssemblyRc;
pub use crate::metadata::streams::AssemblyRef;
pub use crate::metadata::streams::AssemblyRefRc;
pub use crate::metadata::streams::Module;
pub use crate::metadata::streams::ModuleRc;
pub use crate::metadata::streams::ModuleRef;
pub use crate::metadata::streams::ModuleRefRc;
pub use crate::metadata::streams::ExportedType;
pub use crate::metadata::streams::ExportedTypeRc;
pub use crate::metadata::streams::Field;
pub use crate::metadata::streams::FieldLayout;
pub use crate::metadata::streams::FieldList;
pub use crate::metadata::streams::FieldMap;
pub use crate::metadata::streams::FieldRc;
pub use crate::metadata::streams::Param;
pub use crate::metadata::streams::ParamList;
pub use crate::metadata::streams::ParamRc;
pub use crate::metadata::streams::Event;
pub use crate::metadata::streams::EventList;
pub use crate::metadata::streams::EventRc;
pub use crate::metadata::streams::Property;
pub use crate::metadata::streams::PropertyList;
pub use crate::metadata::streams::PropertyRc;
pub use crate::metadata::streams::InterfaceImpl;
pub use crate::metadata::streams::InterfaceImplRc;
pub use crate::metadata::streams::MemberRef;
pub use crate::metadata::streams::MemberRefRc;
pub use crate::metadata::streams::GenericParam;
pub use crate::metadata::streams::GenericParamConstraint;
pub use crate::metadata::streams::GenericParamConstraintRc;
pub use crate::metadata::streams::GenericParamList;
pub use crate::metadata::streams::GenericParamRc;
pub use crate::metadata::streams::MethodSpec;
pub use crate::metadata::streams::MethodSpecRc;
pub use crate::metadata::streams::CustomAttribute;
pub use crate::metadata::streams::CustomAttributeList;
pub use crate::metadata::streams::CustomAttributeRc;
pub use crate::metadata::streams::DeclSecurity;
pub use crate::metadata::streams::DeclSecurityRc;
pub use crate::metadata::streams::File as MetadataFile;
pub use crate::metadata::streams::FileRc;
pub use crate::metadata::streams::ManifestResource;
pub use crate::metadata::streams::ManifestResourceRc;
pub use crate::metadata::streams::StandAloneSig;
pub use crate::metadata::streams::StandAloneSigRc;
pub use crate::metadata::streams::AssemblyOsRaw;
pub use crate::metadata::streams::AssemblyProcessorRaw;
pub use crate::metadata::streams::AssemblyRaw;
pub use crate::metadata::streams::AssemblyRefOsRaw;
pub use crate::metadata::streams::AssemblyRefProcessorRaw;
pub use crate::metadata::streams::AssemblyRefRaw;
pub use crate::metadata::streams::ModuleRaw;
pub use crate::metadata::streams::ModuleRefRaw;
pub use crate::metadata::streams::ExportedTypeRaw;
pub use crate::metadata::streams::TypeDefRaw;
pub use crate::metadata::streams::TypeRefRaw;
pub use crate::metadata::streams::TypeSpecRaw;
pub use crate::metadata::streams::FieldLayoutRaw;
pub use crate::metadata::streams::FieldRaw;
pub use crate::metadata::streams::FieldRvaRaw;
pub use crate::metadata::streams::MethodDefRaw;
pub use crate::metadata::streams::ParamRaw;
pub use crate::metadata::streams::ClassLayoutRaw;
pub use crate::metadata::streams::ConstantRaw;
pub use crate::metadata::streams::CustomAttributeRaw;
pub use crate::metadata::streams::DeclSecurityRaw;
pub use crate::metadata::streams::EventMapRaw;
pub use crate::metadata::streams::EventRaw;
pub use crate::metadata::streams::FieldMarshalRaw;
pub use crate::metadata::streams::GenericParamConstraintRaw;
pub use crate::metadata::streams::GenericParamRaw;
pub use crate::metadata::streams::ImplMapRaw;
pub use crate::metadata::streams::InterfaceImplRaw;
pub use crate::metadata::streams::ManifestResourceRaw;
pub use crate::metadata::streams::MemberRefRaw;
pub use crate::metadata::streams::MethodImplRaw;
pub use crate::metadata::streams::MethodSemanticsRaw;
pub use crate::metadata::streams::MethodSpecRaw;
pub use crate::metadata::streams::NestedClassRaw;
pub use crate::metadata::streams::PropertyMapRaw;
pub use crate::metadata::streams::PropertyRaw;
pub use crate::metadata::streams::StandAloneSigRaw;
pub use crate::metadata::streams::FileRaw;
pub use crate::metadata::signatures::SignatureArray;
pub use crate::metadata::signatures::SignatureField;
pub use crate::metadata::signatures::SignatureLocalVariable;
pub use crate::metadata::signatures::SignatureLocalVariables;
pub use crate::metadata::signatures::SignatureMethod;
pub use crate::metadata::signatures::SignatureMethodSpec;
pub use crate::metadata::signatures::SignatureParameter;
pub use crate::metadata::signatures::SignaturePointer;
pub use crate::metadata::signatures::SignatureProperty;
pub use crate::metadata::signatures::SignatureSzArray;
pub use crate::metadata::signatures::SignatureTypeSpec;
pub use crate::metadata::signatures::TypeSignature;
pub use crate::metadata::signatures::parse_field_signature;
pub use crate::metadata::signatures::parse_local_var_signature;
pub use crate::metadata::signatures::parse_method_signature;
pub use crate::metadata::signatures::parse_method_spec_signature;
pub use crate::metadata::signatures::parse_property_signature;
pub use crate::metadata::signatures::parse_type_spec_signature;
pub use crate::metadata::streams::MemberRefSignature;
pub use crate::metadata::method::ExceptionHandler;
pub use crate::metadata::method::ExceptionHandlerFlags;
pub use crate::metadata::method::InstructionIterator;
pub use crate::metadata::method::Method;
pub use crate::metadata::method::MethodBody;
pub use crate::metadata::method::MethodImplCodeType;
pub use crate::metadata::method::MethodImplManagement;
pub use crate::metadata::method::MethodImplOptions;
pub use crate::metadata::method::MethodList;
pub use crate::metadata::method::MethodMap;
pub use crate::metadata::method::MethodModifiers;
pub use crate::metadata::method::MethodRc;
pub use crate::metadata::method::MethodRef;
pub use crate::metadata::method::MethodRefList;
pub use crate::disassembler::decode_blocks;
pub use crate::disassembler::decode_instruction;
pub use crate::disassembler::decode_stream;
pub use crate::disassembler::BasicBlock;
pub use crate::disassembler::FlowType;
pub use crate::disassembler::Immediate;
pub use crate::disassembler::Instruction;
pub use crate::disassembler::InstructionCategory;
pub use crate::disassembler::Operand;
pub use crate::disassembler::OperandType;
pub use crate::disassembler::StackBehavior;
pub use crate::metadata::exports::Exports;
pub use crate::metadata::imports::Import;
pub use crate::metadata::imports::ImportContainer;
pub use crate::metadata::imports::ImportRc;
pub use crate::metadata::imports::Imports;
pub use crate::metadata::streams::Blob;
pub use crate::metadata::streams::Guid;
pub use crate::metadata::streams::Strings;
pub use crate::metadata::streams::UserStrings;
pub use crate::metadata::streams::BlobIterator;
pub use crate::metadata::streams::GuidIterator;
pub use crate::metadata::streams::StringsIterator;
pub use crate::metadata::streams::UserStringsIterator;
pub use crate::metadata::streams::StreamHeader;
pub use crate::metadata::streams::TablesHeader;
pub use crate::metadata::cor20header::Cor20Header;
pub use crate::metadata::root::Root;
pub use crate::metadata::streams::EventAttributes;
pub use crate::metadata::streams::FieldAttributes;
pub use crate::metadata::streams::FileAttributes;
pub use crate::metadata::streams::ParamAttributes;
pub use crate::metadata::streams::PropertyAttributes;
pub use crate::metadata::streams::TypeAttributes;
pub use crate::metadata::typesystem::ELEMENT_TYPE;
pub use crate::metadata::marshalling::NATIVE_TYPE;
pub use crate::metadata::marshalling::VARIANT_TYPE;
pub use crate::metadata::streams::TableId;
pub use crate::metadata::streams::CodedIndex;
pub use crate::metadata::streams::CodedIndexType;
pub use crate::metadata::streams::MetadataTable;
pub use crate::metadata::streams::TableInfo;
pub use crate::metadata::streams::TableInfoRef;