aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/autoload
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-11 23:52:28 +0900
committernsfisis <nsfisis@gmail.com>2026-08-11 23:52:28 +0900
commitdaa1acf091627f4f1af63ad44eee988048fa4136 (patch)
tree1f6b715079291086f4a4f4c7cab01760a1cb7c99 /crates/shirabe/src/autoload
parent38621c67917fd015f884ea04517791cdc5058c6d (diff)
downloadphp-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.tar.gz
php-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.tar.zst
php-shirabe-daa1acf091627f4f1af63ad44eee988048fa4136.zip
chore(php-shim): drop the HHVM_VERSION constant
The constant was None and defined("HHVM_VERSION") reports it undefined, so every branch guarded by it was dead: shirabe is a Rust binary and never runs on HHVM. HhvmDetector keeps probing for an `hhvm` binary in PATH, which is what actually produces the hhvm platform package. Two of the dropped branches ask about the PHP runtime that consumes the result rather than about shirabe itself -- the class loader's Hack file lookup and the class map parser's enum scanning -- so both get a TODO(php-runtime) marker.
Diffstat (limited to 'crates/shirabe/src/autoload')
-rw-r--r--crates/shirabe/src/autoload/class_loader.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/shirabe/src/autoload/class_loader.rs b/crates/shirabe/src/autoload/class_loader.rs
index 2d888ecf..de03201a 100644
--- a/crates/shirabe/src/autoload/class_loader.rs
+++ b/crates/shirabe/src/autoload/class_loader.rs
@@ -3,7 +3,7 @@
use indexmap::IndexMap;
use shirabe_php_rpc::stream_resolve_include_path;
use shirabe_php_shim::{
- InvalidArgumentException, PhpMixed, defined, file_exists, include_file, spl_autoload_register,
+ InvalidArgumentException, PhpMixed, file_exists, include_file, spl_autoload_register,
spl_autoload_unregister, strlen, strpos, strrpos, strtr, substr,
};
use std::sync::{LazyLock, Mutex};
@@ -340,12 +340,10 @@ impl ClassLoader {
// No-op; APCu is not available in Rust.
}
- let mut file = self.find_file_with_extension(class, ".php");
-
- // Search for Hack files if we are running on HHVM
- if file.is_none() && defined("HHVM_VERSION") {
- file = self.find_file_with_extension(class, ".hh");
- }
+ // TODO(php-runtime): PHP also looks for a Hack file (`.hh`) when it runs on HHVM. Only the
+ // worker, which is the runtime that includes the file, can answer whether it is HHVM, and
+ // asking boots it, while this lookup is what decides whether it is needed at all.
+ let file = self.find_file_with_extension(class, ".php");
if let Some(apcu_prefix) = &self.apcu_prefix {
// No-op; APCu is not available in Rust.