dotnetdll 0.0.1

A framework for reading and writing .NET metadata files, such as C# library DLLs.
Documentation
use super::attribute::Attribute;
use crate::resolution::{AssemblyRefIndex, FileIndex};
use std::borrow::Cow;

#[derive(Debug, Clone)]
pub enum Implementation<'a> {
    File { location: FileIndex, offset: usize },
    Assembly { location: AssemblyRefIndex, offset: usize },
    CurrentFile(Cow<'a, [u8]>),
}

#[derive(Debug, Copy, Clone)]
pub enum Visibility {
    Public,
    Private,
}

#[allow(clippy::module_name_repetitions)]
#[derive(Debug, Clone)]
pub struct ManifestResource<'a> {
    pub attributes: Vec<Attribute<'a>>,
    pub name: Cow<'a, str>,
    pub visibility: Visibility,
    pub implementation: Implementation<'a>,
}