1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
//! rust-code-analysis is a library to analyze and extract information //! from source codes written in many different programming languages. //! //! You can find the source code of this software on //! <a href="https://github.com/mozilla/rust-code-analysis/" target="_blank">GitHub</a>, //! while issues and feature requests can be posted on the respective //! <a href="https://github.com/mozilla/rust-code-analysis/issues/" target="_blank">GitHub Issue Tracker</a>. //! //! ## Supported Languages //! //! - C++ //! - C# //! - CSS //! - Go //! - HTML //! - Java //! - JavaScript //! - The JavaScript used in Firefox internal //! - Python //! - Rust //! - Typescript //! //! ## Supported Metrics //! //! - CC: it calculates the code complexity examining the //! control flow of a program. //! - SLOC: it counts the number of lines in a source file. //! - PLOC: it counts the number of physical lines (instructions) //! contained in a source file. //! - LLOC: it counts the number of logical lines (statements) //! contained in a source file. //! - CLOC: it counts the number of comments in a source file. //! - BLANK: it counts the number of blank lines in a source file. //! - HALSTEAD: it is a suite that provides a series of information, //! such as the effort required to maintain the analyzed code, //! the size in bits to store the program, the difficulty to understand //! the code, an estimate of the number of bugs present in the codebase, //! and an estimate of the time needed to implement the software. //! - MI: it is a suite that allows to evaluate the maintainability //! of a software. //! - NOM: it counts the number of functions and closures //! in a file/trait/class. //! - NEXITS: it counts the number of possible exit points //! from a method/function. //! - NARGS: it counts the number of arguments of a function/method. #[macro_use] extern crate lazy_static; #[macro_use] extern crate serde; #[macro_use] mod asttools; mod c_macro; #[macro_use] mod macros; mod getter; mod alterator; pub(crate) use alterator::*; mod node; pub use crate::node::*; mod metrics; pub use metrics::*; mod languages; pub(crate) use languages::*; mod checker; pub(crate) use checker::*; mod output; pub use output::*; mod spaces; pub use crate::spaces::*; mod find; pub use crate::find::*; mod function; pub use crate::function::*; mod ast; pub use crate::ast::*; mod count; pub use crate::count::*; mod preproc; pub use crate::preproc::*; mod langs; pub use crate::langs::*; mod tools; pub use crate::tools::*; mod traits; pub use crate::traits::*; mod parser; pub use crate::parser::*; mod comment_rm; pub use crate::comment_rm::*;