diff options
author | iximeow <me@iximeow.net> | 2019-04-21 14:22:35 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2020-01-12 17:19:51 -0800 |
commit | 139effe81d625439946e8ae3c77e329e2b56710d (patch) | |
tree | 22d4321b3ca887b8eff4027eb7431c11b9223565 | |
parent | 8ec7accda32910cec4bedbce29a3b70ad0d27120 (diff) |
awful tweaks to expose a serde flag on yaxpeax-arch which will trickle through everything
-rw-r--r-- | Cargo.toml | 7 | ||||
-rw-r--r-- | src/lib.rs | 14 |
2 files changed, 21 insertions, 0 deletions
@@ -11,7 +11,14 @@ A rust pic18 decoder [dependencies] yaxpeax-arch = { path = "../../yaxpeax-arch" } +"serde" = "*" +"serde_derive" = "*" [[test]] name = "test" path = "test/test.rs" + +[features] +default = [] + +use-serde = [] @@ -1,3 +1,10 @@ +#[cfg(feature="use-serde")] +#[macro_use] extern crate serde_derive; +#[cfg(feature="use-serde")] +extern crate serde; +#[cfg(feature="use-serde")] +use serde::{Serialize, Deserialize}; + extern crate yaxpeax_arch; use yaxpeax_arch::{Arch, Decodable, LengthedInstruction}; @@ -5,7 +12,14 @@ use yaxpeax_arch::{Arch, Decodable, LengthedInstruction}; pub mod consts; pub mod display; +#[cfg(feature="use-serde")] +#[derive(Debug, Serialize, Deserialize)] +pub struct PIC18; + +#[cfg(not(feature="use-serde"))] +#[derive(Debug)] pub struct PIC18; + impl Arch for PIC18 { type Address = u32; type Instruction = Instruction; |