use crate::{
metadata::{
tables::{CodedIndex, CodedIndexType, FieldRaw, MethodDefRaw, TableId, TypeDefRaw},
token::Token,
},
test::{get_testfile_wb, TestAssembly},
Result,
};
pub fn raw_change_integrity_validator_file_factory() -> Result<Vec<TestAssembly>> {
let mut assemblies = Vec::new();
if let Some(clean_path) = get_testfile_wb() {
assemblies.push(TestAssembly::new(clean_path, true));
}
Ok(assemblies)
}
pub fn create_dummy_typedef(rid: u32) -> Result<TypeDefRaw> {
Ok(TypeDefRaw {
rid,
token: Token::new(rid | 0x0200_0000),
offset: 0,
flags: 0,
type_name: 1,
type_namespace: 0,
extends: CodedIndex::new(TableId::TypeRef, 1, CodedIndexType::TypeDefOrRef),
field_list: 1,
method_list: 1,
})
}
pub fn create_dummy_field(rid: u32) -> Result<FieldRaw> {
Ok(FieldRaw {
rid,
token: Token::new(rid | 0x0400_0000),
offset: 0,
flags: 0,
name: 1,
signature: 1,
})
}
pub fn create_dummy_method(rid: u32) -> Result<MethodDefRaw> {
Ok(MethodDefRaw {
rid,
token: Token::new(rid | 0x0600_0000),
offset: 0,
rva: 0,
impl_flags: 0,
flags: 0,
name: 1,
signature: 1,
param_list: 1,
})
}