diff --git a/Cargo.lock b/Cargo.lock index acedaae..70a1271 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -246,15 +246,15 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "els" -version = "0.1.30-nightly.0" +version = "0.1.30-nightly.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b3e7fca685e989277d9a0f146734cc59d91d3381b222b6fdffddc9677b67708" +checksum = "1b98b49887071526f16f6f97a93abe6bab4f7eeef712ca19b8c69421a42d892e" dependencies = [ "erg_common", "erg_compiler", @@ -274,9 +274,9 @@ dependencies = [ [[package]] name = "erg_common" -version = "0.6.18-nightly.0" +version = "0.6.18-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6cf91ed979cb189f683c1ce0bb46be6a0028b1362e4c2b3be8de6af8a0c6911" +checksum = "d62dae07d5b57fa99ba7e63677e5c271365cbefe2cbb18adee8eda670d0a19aa" dependencies = [ "backtrace-on-stack-overflow", "parking_lot", @@ -285,9 +285,9 @@ dependencies = [ [[package]] name = "erg_compiler" -version = "0.6.18-nightly.0" +version = "0.6.18-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eb701728a5af8dda1e6a04065d82de5ba8d5142f6f398680aa7c5e932af02ec" +checksum = "195b9e0c088181c8267967b0379e1417e920967131ed27b4c1190de19b166e51" dependencies = [ "erg_common", "erg_parser", @@ -295,9 +295,9 @@ dependencies = [ [[package]] name = "erg_parser" -version = "0.6.18-nightly.0" +version = "0.6.18-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49c987732d8e02ecd2e9077e4ab561f5740139c91069d29865281ef5f2de960" +checksum = "e12b7eaa3a616e8ab57a83a62239570e5d042e46ec3089371e4103dbaba7ef42" dependencies = [ "erg_common", "unicode-xid 0.2.4", @@ -386,9 +386,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "lalrpop" @@ -528,9 +528,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg 1.1.0", ] @@ -628,16 +628,16 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "py2erg" -version = "0.0.38" +version = "0.0.39" dependencies = [ "erg_common", "erg_compiler", @@ -646,7 +646,7 @@ dependencies = [ [[package]] name = "pylyzer" -version = "0.0.38" +version = "0.0.39" dependencies = [ "els", "erg_common", @@ -657,9 +657,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -807,25 +807,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89089e897c013b3deb627116ae56a6955a72b8bed395c9526af31c9fe528b484" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax 0.7.3", + "regex-syntax 0.7.4", ] [[package]] name = "regex-automata" -version = "0.3.0" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa250384981ea14565685dea16a9ccc4d1c541a13f82b9c168572264d1df8c56" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.3", + "regex-syntax 0.7.4", ] [[package]] @@ -836,9 +836,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rust-argon2" @@ -876,30 +876,30 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.166" +version = "1.0.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8" +checksum = "63ba2516aa6bf82e0b19ca8b50019d52df58455d3cf9bdaf6315225fdd0c560a" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.166" +version = "1.0.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6" +checksum = "401797fe7833d72109fedec6bfcbe67c0eed9b99772f26eb8afd261f0abc6fd3" dependencies = [ "proc-macro2", "quote", @@ -908,9 +908,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -919,9 +919,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.14" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d89a8107374290037607734c0b73a85db7ed80cae314b3c5791f192a496e731" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", @@ -994,9 +994,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "2.0.23" +version = "2.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" dependencies = [ "proc-macro2", "quote", @@ -1105,9 +1105,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" diff --git a/Cargo.toml b/Cargo.toml index a0a446e..db5e0e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,16 +15,16 @@ members = [ ] [workspace.package] -version = "0.0.38" +version = "0.0.39" authors = ["Shunsuke Shibayama "] license = "MIT OR Apache-2.0" edition = "2021" repository = "https://github.com/mtshiba/pylyzer" [workspace.dependencies] -erg_common = { version = "0.6.18-nightly.0", features = ["py_compat", "els"] } -erg_compiler = { version = "0.6.18-nightly.0", features = ["py_compat", "els"] } -els = { version = "0.1.30-nightly.0", features = ["py_compat"] } +erg_common = { version = "0.6.18-nightly.1", features = ["py_compat", "els"] } +erg_compiler = { version = "0.6.18-nightly.1", features = ["py_compat", "els"] } +els = { version = "0.1.30-nightly.1", features = ["py_compat"] } rustpython-parser = "0.1.2" # erg_compiler = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] } # erg_common = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] } @@ -45,7 +45,7 @@ erg_compiler = { workspace = true } erg_common = { workspace = true } els = { workspace = true } rustpython-parser = { workspace = true } -py2erg = { version = "0.0.38", path = "./crates/py2erg" } +py2erg = { version = "0.0.39", path = "./crates/py2erg" } [lib] path = "src/lib.rs" diff --git a/crates/py2erg/gen_decl.rs b/crates/py2erg/gen_decl.rs index a110291..cc51e93 100644 --- a/crates/py2erg/gen_decl.rs +++ b/crates/py2erg/gen_decl.rs @@ -26,23 +26,21 @@ pub struct DeclFileGenerator { impl DeclFileGenerator { pub fn new(input: &Input, status: CheckStatus) -> Self { - let (timestamp, hash) = if let Some(py_file_path) = input.path() { + let (timestamp, hash) = { + let py_file_path = input.path(); let metadata = std::fs::metadata(py_file_path).unwrap(); let dummy_hash = metadata.len(); (metadata.modified().unwrap(), dummy_hash) - } else { - let now = std::time::SystemTime::now(); - (now, now.elapsed().unwrap().as_secs()) }; let status = PylyzerStatus { status, - file: input.unescaped_path().into(), + file: input.path().into(), timestamp, hash, }; let code = format!("{status}\n"); Self { - filename: input.unescaped_filename().replace(".py", ".d.er"), + filename: input.filename().replace(".py", ".d.er"), namespace: "".to_string(), code, } @@ -148,7 +146,7 @@ pub fn reserve_decl_er(input: Input) { if !pycache_dir.exists() { std::fs::create_dir(pycache_dir).unwrap(); } - let filename = input.unescaped_filename(); + let filename = input.filename(); let mut path = pycache_dir.join(filename); path.set_extension("d.er"); if !path.exists() { diff --git a/src/analyze.rs b/src/analyze.rs index 51bdd74..41f3a95 100644 --- a/src/analyze.rs +++ b/src/analyze.rs @@ -168,7 +168,7 @@ impl PythonAnalyzer { reserve_decl_er(self.cfg.input.clone()); } let py_code = self.cfg.input.read(); - let filename = self.cfg.input.unescaped_filename(); + let filename = self.cfg.input.filename(); println!("{BLUE}Start checking{RESET}: {filename}"); match self.analyze(py_code, "exec") { Ok(artifact) => { @@ -176,14 +176,11 @@ impl PythonAnalyzer { println!( "{YELLOW}Found {} warnings{RESET}: {}", artifact.warns.len(), - self.cfg.input.unescaped_filename() + self.cfg.input.filename() ); artifact.warns.write_all_stderr(); } - println!( - "{GREEN}All checks OK{RESET}: {}", - self.cfg.input.unescaped_filename() - ); + println!("{GREEN}All checks OK{RESET}: {}", self.cfg.input.filename()); if self.cfg.dist_dir.is_some() { dump_decl_er( self.cfg.input.clone(), @@ -199,21 +196,18 @@ impl PythonAnalyzer { println!( "{YELLOW}Found {} warnings{RESET}: {}", artifact.warns.len(), - self.cfg.input.unescaped_filename() + self.cfg.input.filename() ); artifact.warns.write_all_stderr(); } let code = if artifact.errors.is_empty() { - println!( - "{GREEN}All checks OK{RESET}: {}", - self.cfg.input.unescaped_filename() - ); + println!("{GREEN}All checks OK{RESET}: {}", self.cfg.input.filename()); 0 } else { println!( "{RED}Found {} errors{RESET}: {}", artifact.errors.len(), - self.cfg.input.unescaped_filename() + self.cfg.input.filename() ); artifact.errors.write_all_stderr(); 1