pub struct ClrProgram {
pub name: String,
pub version: ClrVersion,
pub access_flags: ClrAccessFlags,
pub external_assemblies: Vec<ClrExternalAssembly>,
pub module: Option<ClrModule>,
pub types: Vec<ClrType>,
pub global_methods: Vec<ClrMethod>,
pub global_fields: Vec<ClrField>,
pub attributes: Vec<ClrAttribute>,
pub constant_pool: ClrConstantPool,
pub source_file: Option<String>,
}Expand description
CLR 程序的高层语义信息结构
该结构体表示一个完整的 .NET 程序集,包含了运行时所需的所有信息。 采用与 wasi-assembler 和 jvm-assembler 相同的架构设计。
Fields§
§name: String程序集名称
version: ClrVersion程序集版本信息
access_flags: ClrAccessFlags访问标志
external_assemblies: Vec<ClrExternalAssembly>外部程序集引用
module: Option<ClrModule>模块信息
types: Vec<ClrType>类型定义列表
global_methods: Vec<ClrMethod>全局方法列表
global_fields: Vec<ClrField>全局字段列表
attributes: Vec<ClrAttribute>属性列表
constant_pool: ClrConstantPool常量池(字符串、GUID、Blob 等)
source_file: Option<String>源文件信息
Implementations§
Source§impl ClrProgram
impl ClrProgram
Sourcepub fn add_external_assembly(&mut self, assembly: ClrExternalAssembly)
pub fn add_external_assembly(&mut self, assembly: ClrExternalAssembly)
添加外部程序集引用
Sourcepub fn set_module(&mut self, module: ClrModule)
pub fn set_module(&mut self, module: ClrModule)
设置模块信息
Sourcepub fn set_source_file(&mut self, filename: String)
pub fn set_source_file(&mut self, filename: String)
设置源文件
Sourcepub fn get_type_count(&self) -> usize
pub fn get_type_count(&self) -> usize
获取类型数量
Sourcepub fn get_method_count(&self) -> usize
pub fn get_method_count(&self) -> usize
获取方法数量(包括全局方法和类型中的方法)
Sourcepub fn get_field_count(&self) -> usize
pub fn get_field_count(&self) -> usize
获取字段数量(包括全局字段和类型中的字段)
Sourcepub fn get_sample_type_name(&self) -> Option<String>
pub fn get_sample_type_name(&self) -> Option<String>
获取示例类型名称
Sourcepub fn get_sample_method_name(&self) -> Option<String>
pub fn get_sample_method_name(&self) -> Option<String>
获取示例方法名称
Sourcepub fn get_referenced_assemblies(&self) -> Vec<String>
pub fn get_referenced_assemblies(&self) -> Vec<String>
获取引用的程序集列表
Trait Implementations§
Source§impl Clone for ClrProgram
impl Clone for ClrProgram
Source§fn clone(&self) -> ClrProgram
fn clone(&self) -> ClrProgram
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ClrProgram
impl RefUnwindSafe for ClrProgram
impl Send for ClrProgram
impl Sync for ClrProgram
impl Unpin for ClrProgram
impl UnwindSafe for ClrProgram
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more