From 53f1fb395f33e0fb8db9aebd09ea9082f650f9f1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 28 Jun 2026 17:45:06 +0900 Subject: refactor: add linter --- .../src/seld/json_lint.rs | 9 ++++++++ .../src/seld/json_lint/json_parser.rs | 25 ++++++++++------------ .../src/seld/json_lint/mod.rs | 9 -------- crates/shirabe-external-packages/src/seld/mod.rs | 5 ----- .../shirabe-external-packages/src/seld/signal.rs | 3 +++ .../src/seld/signal/mod.rs | 3 --- 6 files changed, 23 insertions(+), 31 deletions(-) create mode 100644 crates/shirabe-external-packages/src/seld/json_lint.rs delete mode 100644 crates/shirabe-external-packages/src/seld/json_lint/mod.rs delete mode 100644 crates/shirabe-external-packages/src/seld/mod.rs create mode 100644 crates/shirabe-external-packages/src/seld/signal.rs delete mode 100644 crates/shirabe-external-packages/src/seld/signal/mod.rs (limited to 'crates/shirabe-external-packages/src/seld') diff --git a/crates/shirabe-external-packages/src/seld/json_lint.rs b/crates/shirabe-external-packages/src/seld/json_lint.rs new file mode 100644 index 0000000..8027cb2 --- /dev/null +++ b/crates/shirabe-external-packages/src/seld/json_lint.rs @@ -0,0 +1,9 @@ +pub mod duplicate_key_exception; +pub mod json_parser; +pub mod lexer; +pub mod parsing_exception; + +pub use duplicate_key_exception::*; +pub use json_parser::*; +pub use lexer::*; +pub use parsing_exception::*; diff --git a/crates/shirabe-external-packages/src/seld/json_lint/json_parser.rs b/crates/shirabe-external-packages/src/seld/json_lint/json_parser.rs index 7cdf73b..317b4e5 100644 --- a/crates/shirabe-external-packages/src/seld/json_lint/json_parser.rs +++ b/crates/shirabe-external-packages/src/seld/json_lint/json_parser.rs @@ -1,13 +1,10 @@ //! ref: composer/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php -use std::collections::HashMap; - -use indexmap::IndexMap; -use shirabe_php_shim::PhpMixed; - use super::DuplicateKeyException; use super::ParsingException; use super::lexer::{Lexer, YylLoc}; +use indexmap::IndexMap; +use shirabe_php_shim::PhpMixed; /// Semantic value held on the parser value stack ($vstack). Most values are JSON values (PhpMixed), /// but object members are represented as a `[key, value]` pair while being reduced. @@ -42,10 +39,10 @@ enum ActionResult { #[derive(Debug)] pub struct JsonParser { - productions_: HashMap, - terminals_: HashMap, - table: Vec>, - default_actions: HashMap, + productions_: IndexMap, + terminals_: IndexMap, + table: Vec>, + default_actions: IndexMap, } /// Per-parse mutable state. PHP keeps `$flags`/`$stack`/`$vstack`/`$lstack` on the parser instance; @@ -81,7 +78,7 @@ impl JsonParser { pub const ALLOW_DUPLICATE_KEYS_TO_ARRAY: u32 = 16; pub fn new() -> Self { - let productions_: HashMap = [ + let productions_: IndexMap = [ (1, (3, 1)), (2, (5, 1)), (3, (7, 1)), @@ -107,7 +104,7 @@ impl JsonParser { .into_iter() .collect(); - let terminals_: HashMap = [ + let terminals_: IndexMap = [ (2, "error"), (4, "STRING"), (6, "NUMBER"), @@ -127,7 +124,7 @@ impl JsonParser { let table = build_table(); - let default_actions: HashMap = [(16, (2, 6))].into_iter().collect(); + let default_actions: IndexMap = [(16, (2, 6))].into_iter().collect(); Self { productions_, @@ -790,9 +787,9 @@ fn trim_bytes(input: &[u8]) -> Vec { } /// Builds the LALR parse `table`. Indexed by state id (0..=31). -fn build_table() -> Vec> { +fn build_table() -> Vec> { use TableAction::{Action, Goto}; - let mut t: Vec> = (0..32).map(|_| HashMap::new()).collect(); + let mut t: Vec> = (0..32).map(|_| IndexMap::new()).collect(); let mut set = |state: usize, entries: &[(i64, TableAction)]| { for (sym, act) in entries { diff --git a/crates/shirabe-external-packages/src/seld/json_lint/mod.rs b/crates/shirabe-external-packages/src/seld/json_lint/mod.rs deleted file mode 100644 index 8027cb2..0000000 --- a/crates/shirabe-external-packages/src/seld/json_lint/mod.rs +++ /dev/null @@ -1,9 +0,0 @@ -pub mod duplicate_key_exception; -pub mod json_parser; -pub mod lexer; -pub mod parsing_exception; - -pub use duplicate_key_exception::*; -pub use json_parser::*; -pub use lexer::*; -pub use parsing_exception::*; diff --git a/crates/shirabe-external-packages/src/seld/mod.rs b/crates/shirabe-external-packages/src/seld/mod.rs deleted file mode 100644 index b7c12c4..0000000 --- a/crates/shirabe-external-packages/src/seld/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod json_lint; -pub mod signal; - -pub use json_lint::*; -pub use signal::*; diff --git a/crates/shirabe-external-packages/src/seld/signal.rs b/crates/shirabe-external-packages/src/seld/signal.rs new file mode 100644 index 0000000..16f5151 --- /dev/null +++ b/crates/shirabe-external-packages/src/seld/signal.rs @@ -0,0 +1,3 @@ +pub mod signal_handler; + +pub use signal_handler::*; diff --git a/crates/shirabe-external-packages/src/seld/signal/mod.rs b/crates/shirabe-external-packages/src/seld/signal/mod.rs deleted file mode 100644 index 16f5151..0000000 --- a/crates/shirabe-external-packages/src/seld/signal/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod signal_handler; - -pub use signal_handler::*; -- cgit v1.3.1