diff options
| -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;  | 
