#![allow(bare_trait_objects)]
pub extern crate scroll;
#[macro_use]
extern crate scroll_derive;
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate log;
extern crate getset;
pub use error::Error;
pub use crate::dex::{Dex, DexReader, Header};
#[macro_use]
mod utils;
pub mod annotation;
mod cache;
pub mod class;
pub mod code;
mod dex;
mod encoded_item;
pub mod encoded_value;
mod error;
pub mod field;
pub mod jtype;
pub mod method;
mod search;
mod source;
pub mod string;
pub const NO_INDEX: uint = 0xffff_ffff;
const ENDIAN_CONSTANT: (ubyte, ubyte, ubyte, ubyte) = (0x12, 0x34, 0x56, 0x78);
const REVERSE_ENDIAN_CONSTANT: (ubyte, ubyte, ubyte, ubyte) = (0x78, 0x56, 0x34, 0x12);
#[allow(non_camel_case_types)]
pub type byte = i8;
#[allow(non_camel_case_types)]
pub type uint = u32;
#[allow(non_camel_case_types)]
pub type int = i32;
#[allow(non_camel_case_types)]
pub type ushort = u16;
#[allow(non_camel_case_types)]
pub type short = i16;
#[allow(non_camel_case_types)]
pub type ubyte = u8;
#[allow(non_camel_case_types)]
pub type ulong = u64;
#[allow(non_camel_case_types)]
pub type long = i64;
pub type Result<T> = std::result::Result<T, error::Error>;
pub type Endian = scroll::Endian;