PHP compatibility utilities. * You should not use this class directly. */ class Boot { const PHP_PREFIX = ""; /** * @var array * List of Haxe classes registered by their PHP class names */ static protected $aliases; /** * @var array * Cache of HxClass instances */ static protected $classes; /** * @var array * List of getters (for Reflect) */ static protected $getters; /** * @var array * Metadata storage */ static protected $meta; /** * @var array * List of setters (for Reflect) */ static protected $setters; /** * @var array * Cache for closures created of static methods */ static protected $staticClosures; /** * Concat `left` and `right` if both are strings or string and null. * Otherwise return sum of `left` and `right`. * * @param mixed $left * @param mixed $right * * @return mixed */ public static function addOrConcat ($left, $right) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:452: lines 452-454 if (\is_string($left) || \is_string($right)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:453: characters 4-45 return ($left??'null') . ($right??'null'); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:455: characters 3-33 return ($left + $right); } /** * Unsafe cast to HxClass * * @param Class $cls * * @return HxClass */ public static function castClass ($cls) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:301: characters 3-18 return $cls; } /** * Unsafe cast to HxClosure * * @param mixed $value * * @return HxClosure */ public static function castClosure ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:294: characters 3-15 return $value; } /** * Unsafe cast to HxEnum * * @param mixed $enm * * @return HxEnum */ public static function castEnumValue ($enm) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:308: characters 3-18 return $enm; } /** * Creates Haxe-compatible closure. * @param type `this` for instance methods; full php class name for static methods * @param func Method name * * @param mixed $target * @param string $func * * @return HxClosure */ public static function closure ($target, $func) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:634: characters 10-96 if (\is_string($target)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:634: characters 31-61 return Boot::getStaticClosure($target, $func); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:634: characters 64-96 return Boot::getInstanceClosure($target, $func); } } /** * Returns `Class` for `HxClosure` * * @return HxClass */ public static function closureHxClass () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:315: characters 3-24 return Boot::getClass(HxClosure::class); } /** * Create Haxe-compatible anonymous structure of `data` associative array * * @param array $data * * @return mixed */ public static function createAnon ($data) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:563: characters 3-24 $o = new HxAnon(); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:564: characters 3-86 foreach ($data as $key => $value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:564: characters 53-85 $o->{$key} = $value; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:565: characters 3-11 return $o; } /** * Helper method to avoid "Cannot use temporary expression in write context" error for expressions like this: * ```haxe * (new MyClass()).fieldName = 'value'; * ``` * * @param mixed $value * * @return mixed */ public static function deref ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:556: characters 3-15 return $value; } /** * @param float $value * * @return float */ public static function divByZero ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:654: characters 10-71 if (Boot::equal($value, 0)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:654: characters 23-32 return \NAN; } else if ($value < 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:654: characters 48-58 return -\INF; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:654: characters 61-70 return \INF; } } /** * Get `field` of a dynamic `value` in a safe manner (avoid exceptions on trying to get a method) * * @param mixed $value * @param string $field * * @return mixed */ public static function dynamicField ($value, $field) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:579: lines 579-581 if (\method_exists($value, $field)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:580: characters 11-32 if (\is_string($value)) { return Boot::getStaticClosure($value, $field); } else { return Boot::getInstanceClosure($value, $field); } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:582: lines 582-584 if (\is_string($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:583: characters 4-51 $value = new HxDynamicStr($value); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:585: characters 3-36 return $value->{$field}; } /** * @param string $str * * @return HxDynamicStr */ public static function dynamicString ($str) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:589: characters 3-47 return new HxDynamicStr($str); } /** * Make sure specified class is loaded * * @param string $phpClassName * * @return bool */ public static function ensureLoaded ($phpClassName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:572: characters 10-84 if (!\class_exists($phpClassName)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:572: characters 47-84 return \interface_exists($phpClassName); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:572: characters 10-84 return true; } } /** * Check if specified values are equal * * @param mixed $left * @param mixed $right * * @return bool */ public static function equal ($left, $right) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:438: lines 438-440 if ((\is_int($left) || \is_float($left)) && (\is_int($right) || \is_float($right))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:439: characters 4-36 return ($left == $right); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:441: lines 441-443 if (($left instanceof HxClosure) && ($right instanceof HxClosure)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:442: characters 4-43 return $left->equals($right); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:444: characters 3-41 return ($left === $right); } /** * Get Class instance for PHP fully qualified class name (E.g. '\some\pack\MyClass') * It's always the same instance for the same `phpClassName` * * @param string $phpClassName * * @return HxClass */ public static function getClass ($phpClassName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:185: lines 185-187 if (\mb_substr($phpClassName, 0, 1) === "\\") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:186: characters 19-41 $phpClassName = \mb_substr($phpClassName, 1, null); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:188: lines 188-190 if (!isset(Boot::$classes[$phpClassName])) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:189: characters 4-53 $val = new HxClass($phpClassName); Boot::$classes[$phpClassName] = $val; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:192: characters 3-31 return Boot::$classes[$phpClassName]; } /** * Returns either Haxe class name for specified `phpClassName` or (if no such Haxe class registered) `phpClassName`. * * @param string $phpClassName * * @return string */ public static function getClassName ($phpClassName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:220: characters 3-40 $hxClass = Boot::getClass($phpClassName); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:221: characters 3-35 $name = Boot::getHaxeName($hxClass); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:222: characters 10-54 if ($name === null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:222: characters 26-46 return $hxClass->phpClassName; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:222: characters 49-53 return $name; } } /** * Returns original Haxe fully qualified class name for this type (if exists) * * @param HxClass $hxClass * * @return string */ public static function getHaxeName ($hxClass) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:229: characters 11-31 $__hx__switch = ($hxClass->phpClassName); if ($__hx__switch === "Bool") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:235: characters 5-18 return "Bool"; } else if ($__hx__switch === "Class") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:239: characters 5-19 return "Class"; } else if ($__hx__switch === "Dynamic") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:243: characters 5-21 return "Dynamic"; } else if ($__hx__switch === "Enum") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:241: characters 5-18 return "Enum"; } else if ($__hx__switch === "Float") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:237: characters 5-19 return "Float"; } else if ($__hx__switch === "Int") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:231: characters 5-17 return "Int"; } else if ($__hx__switch === "String") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:233: characters 5-20 return "String"; } else { } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:250: lines 250-256 if (isset(Boot::$aliases[$hxClass->phpClassName])) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:251: characters 4-40 return Boot::$aliases[$hxClass->phpClassName]; } else if (\class_exists($hxClass->phpClassName) && isset(Boot::$aliases[$hxClass->phpClassName])) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:253: characters 4-40 return Boot::$aliases[$hxClass->phpClassName]; } else if (\interface_exists($hxClass->phpClassName) && isset(Boot::$aliases[$hxClass->phpClassName])) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:255: characters 4-40 return Boot::$aliases[$hxClass->phpClassName]; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:258: characters 3-14 return null; } /** * Returns Class * * @return HxClass */ public static function getHxAnon () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:199: characters 3-21 return Boot::getClass(HxAnon::class); } /** * Returns Class * * @return HxClass */ public static function getHxClass () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:213: characters 3-22 return Boot::getClass(HxClass::class); } /** * Creates Haxe-compatible closure of an instance method. * @param obj - any object * * @param object $obj * @param string $methodName * * @return HxClosure */ public static function getInstanceClosure ($obj, $methodName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:597: characters 3-73 $result = ($obj->__hx_closureCache[$methodName] ?? null); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:598: lines 598-600 if ($result !== null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:599: characters 4-17 return $result; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:601: lines 601-603 if (!\method_exists($obj, $methodName) && !isset($obj->{$methodName})) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:602: characters 4-15 return null; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:604: characters 3-42 $result = new HxClosure($obj, $methodName); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:605: lines 605-607 if (!\property_exists($obj, "__hx_closureCache")) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:606: characters 28-50 $this1 = []; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:606: characters 4-50 $obj->__hx_closureCache = $this1; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:608: characters 3-45 $obj->__hx_closureCache[$methodName] = $result; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:609: characters 3-16 return $result; } /** * Retrieve metadata for specified class * * @param string $phpClassName * * @return mixed */ public static function getMeta ($phpClassName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:151: characters 3-46 if (!(\class_exists($phpClassName) || \interface_exists($phpClassName))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:151: characters 35-46 return null; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:152: characters 10-70 if (isset(Boot::$meta[$phpClassName])) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:152: characters 45-63 return Boot::$meta[$phpClassName]; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:152: characters 66-70 return null; } } /** * Find corresponding PHP class name. * Returns `null` if specified class does not exist. * * @param string $haxeName * * @return string */ public static function getPhpName ($haxeName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:266: characters 3-28 $prefix = Boot::getPrefix(); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:267: characters 3-63 $phpParts = (\strlen($prefix) === 0 ? new \Array_hx() : \Array_hx::wrap([$prefix])); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:269: characters 3-39 $haxeParts = HxString::split($haxeName, "."); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:270: lines 270-275 $_g = 0; while ($_g < $haxeParts->length) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:270: characters 8-12 $part = ($haxeParts->arr[$_g] ?? null); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:270: lines 270-275 ++$_g; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:271: lines 271-273 if (Boot::isPhpKeyword($part)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:272: characters 5-18 $part = ($part??'null') . "_hx"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:274: characters 4-23 $phpParts->arr[$phpParts->length++] = $part; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:277: characters 3-29 return $phpParts->join("\\"); } /** * Returns root namespace based on a value of `-D php-prefix=value` compiler flag. * Returns empty string if no `-D php-prefix=value` provided. * * @return string */ public static function getPrefix () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:89: characters 3-41 return self::PHP_PREFIX; } /** * Returns a list of phpName=>haxeName for currently loaded haxe-generated classes. * * @return array */ public static function getRegisteredAliases () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:177: characters 3-17 return Boot::$aliases; } /** * Returns a list of currently loaded haxe-generated classes. * * @return Class[]|\Array_hx */ public static function getRegisteredClasses () { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:166: characters 3-19 $result = new \Array_hx(); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:167: lines 167-169 $collection = Boot::$aliases; foreach ($collection as $key => $value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:168: characters 4-39 $x = Boot::getClass($key); $result->arr[$result->length++] = $x; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:170: characters 3-16 return $result; } /** * Creates Haxe-compatible closure of a static method. * * @param string $phpClassName * @param string $methodName * * @return HxClosure */ public static function getStaticClosure ($phpClassName, $methodName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:616: characters 3-80 $result = (Boot::$staticClosures[$phpClassName][$methodName] ?? null); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:617: lines 617-619 if ($result !== null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:618: characters 4-17 return $result; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:620: characters 3-51 $result = new HxClosure($phpClassName, $methodName); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:621: lines 621-623 if (!\array_key_exists($phpClassName, Boot::$staticClosures)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:622: characters 35-57 $this1 = []; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:622: characters 4-57 Boot::$staticClosures[$phpClassName] = $this1; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:624: characters 3-52 Boot::$staticClosures[$phpClassName][$methodName] = $result; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:625: characters 3-16 return $result; } /** * Check if specified property has getter * * @param string $phpClassName * @param string $property * * @return bool */ public static function hasGetter ($phpClassName, $property) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:110: lines 110-111 if (!(\class_exists($phpClassName) || \interface_exists($phpClassName))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:111: characters 4-16 return false; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:113: characters 3-19 $has = false; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:114: characters 3-72 $phpClassName1 = $phpClassName; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:115: lines 115-118 while (true) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:116: characters 4-55 $has = isset(Boot::$getters[$phpClassName1][$property]); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:117: characters 4-56 $phpClassName1 = \get_parent_class($phpClassName1); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:115: lines 115-118 if (!(!$has && ($phpClassName1 !== false) && \class_exists($phpClassName1))) { break; } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:120: characters 3-13 return $has; } /** * Check if specified property has setter * * @param string $phpClassName * @param string $property * * @return bool */ public static function hasSetter ($phpClassName, $property) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:127: lines 127-128 if (!(\class_exists($phpClassName) || \interface_exists($phpClassName))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:128: characters 4-16 return false; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:130: characters 3-19 $has = false; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:131: characters 3-72 $phpClassName1 = $phpClassName; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:132: lines 132-135 while (true) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:133: characters 4-55 $has = isset(Boot::$setters[$phpClassName1][$property]); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:134: characters 4-56 $phpClassName1 = \get_parent_class($phpClassName1); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:132: lines 132-135 if (!(!$has && ($phpClassName1 !== false) && \class_exists($phpClassName1))) { break; } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:137: characters 3-13 return $has; } /** * @param mixed $value * @param HxClass $type * * @return bool */ public static function is ($value, $type) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:460: characters 3-31 return Boot::isOfType($value, $type); } /** * Check if provided value is an anonymous object * * @param mixed $v * * @return bool */ public static function isAnon ($v) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:206: characters 3-33 return ($v instanceof HxAnon); } /** * Check if `value` is a `Class` * * @param mixed $value * * @return bool */ public static function isClass ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:512: characters 3-38 return ($value instanceof HxClass); } /** * Check if `value` is an enum constructor instance * * @param mixed $value * * @return bool */ public static function isEnumValue ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:519: characters 3-37 return ($value instanceof HxEnum); } /** * Check if `value` is a function * * @param mixed $value * * @return bool */ public static function isFunction ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:526: characters 10-72 if (!($value instanceof \Closure)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:526: characters 42-72 return ($value instanceof HxClosure); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:526: characters 10-72 return true; } } /** * Check if `value` is an instance of `HxClosure` * * @param mixed $value * * @return bool */ public static function isHxClosure ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:533: characters 3-40 return ($value instanceof HxClosure); } /** * @param mixed $value * * @return bool */ public static function isNumber ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:431: characters 10-44 if (!\is_int($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:431: characters 28-44 return \is_float($value); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:431: characters 10-44 return true; } } /** * `Std.isOfType()` implementation * * @param mixed $value * @param HxClass $type * * @return bool */ public static function isOfType ($value, $type) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:467: lines 467-468 if ($type === null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:468: characters 4-16 return false; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:470: characters 3-35 $phpType = $type->phpClassName; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:478: lines 478-504 if ($phpType === "Bool") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:487: characters 5-27 return \is_bool($value); } else if ($phpType === "Dynamic") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:480: characters 5-25 return $value !== null; } else if ($phpType === "Class" || $phpType === "Enum") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:493: lines 493-498 if (($value instanceof HxClass)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:494: characters 6-62 $valuePhpClass = $value->phpClassName; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:495: characters 6-62 $enumPhpClass = Boot::getClass(HxEnum::class)->phpClassName; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:496: characters 6-74 $isEnumType = \is_subclass_of($valuePhpClass, $enumPhpClass); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:497: characters 13-59 if ($phpType === "Enum") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:497: characters 34-44 return $isEnumType; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:497: characters 47-58 return !$isEnumType; } } } else if ($phpType === "Float") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:485: characters 12-46 if (!\is_float($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:485: characters 32-46 return \is_int($value); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:485: characters 12-46 return true; } } else if ($phpType === "Int") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:482: lines 482-483 if (\is_int($value) || (\is_float($value) && ((int)($value) == $value) && !\is_nan($value))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:483: characters 9-40 return \abs($value) <= 2147483648; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:482: lines 482-483 return false; } } else if ($phpType === "String") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:489: characters 5-29 return \is_string($value); } else if ($phpType === "php\\NativeArray" || $phpType === "php\\_NativeArray\\NativeArray_Impl_") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:491: characters 5-28 return \is_array($value); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:500: lines 500-503 if (\is_object($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:501: characters 6-42 $type1 = $type; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:502: characters 6-43 return ($value instanceof $type1->phpClassName); } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:505: characters 3-15 return false; } /** * Check if the value of `str` is a reserved keyword in PHP * @see https://www.php.net/manual/en/reserved.keywords.php * * @param string $str * * @return bool */ public static function isPhpKeyword ($str) { switch(strtolower($str)) { case '__halt_compiler': case 'abstract': case 'and': case 'array': case 'as': case 'break': case 'callable': case 'case': case 'catch': case 'class': case 'clone': case 'const': case 'continue': case 'declare': case 'default': case 'die': case 'do': case 'echo': case 'else': case 'elseif': case 'empty': case 'enddeclare': case 'endfor': case 'endforeach': case 'endif': case 'endswitch': case 'endwhile': case 'eval': case 'exit': case 'extends': case 'final': case 'finally': case 'for': case 'foreach': case 'function': case 'global': case 'goto': case 'if': case 'implements': case 'include': case 'include_once': case 'instanceof': case 'insteadof': case 'interface': case 'isset': case 'list': case 'namespace': case 'new': case 'or': case 'print': case 'private': case 'protected': case 'public': case 'require': case 'require_once': case 'return': case 'static': case 'switch': case 'throw': case 'trait': case 'try': case 'unset': case 'use': case 'var': case 'while': case 'xor': case 'yield': case '__class__': case '__dir__': case '__file__': case '__function__': case '__line__': case '__method__': case '__trait__': case '__namespace__': case 'int': case 'float': case 'bool': case 'string': case 'true': case 'false': case 'null': case 'parent': case 'void': case 'iterable': case 'object': case 'fn': return true; default: return false; } } /** * Associate PHP class name with Haxe class name * * @param string $phpClassName * @param string $haxeClassName * * @return void */ public static function registerClass ($phpClassName, $haxeClassName) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:159: characters 3-40 Boot::$aliases[$phpClassName] = $haxeClassName; } /** * Register list of getters to be able to call getters using reflection * * @param string $phpClassName * @param array $list * * @return void */ public static function registerGetters ($phpClassName, $list) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:96: characters 3-31 Boot::$getters[$phpClassName] = $list; } /** * Save metadata for specified class * * @param string $phpClassName * @param mixed $data * * @return void */ public static function registerMeta ($phpClassName, $data) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:144: characters 3-28 Boot::$meta[$phpClassName] = $data; } /** * Register list of setters to be able to call getters using reflection * * @param string $phpClassName * @param array $list * * @return void */ public static function registerSetters ($phpClassName, $list) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:103: characters 3-31 Boot::$setters[$phpClassName] = $list; } /** * Performs `left >>> right` operation * * @param int $left * @param int $right * * @return int */ public static function shiftRightUnsigned ($left, $right) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:540: lines 540-546 if ($right === 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:541: characters 4-15 return $left; } else if ($left >= 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:543: characters 4-82 return ($left >> $right) & ~((1 << (8 * \PHP_INT_SIZE - 1)) >> ($right - 1)); } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:545: characters 4-56 return ($left >> $right) & (2147483647 >> ($right - 1)); } } /** * Returns string representation of `value` * * @param mixed $value * @param int $maxRecursion * * @return string */ public static function stringify ($value, $maxRecursion = 10) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:357: lines 357-420 if ($maxRecursion === null) { $maxRecursion = 10; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:358: lines 358-360 if ($maxRecursion <= 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:359: characters 4-18 return "<...>"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:361: lines 361-363 if ($value === null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:362: characters 4-17 return "null"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:364: lines 364-366 if (\is_string($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:365: characters 4-16 return $value; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:367: lines 367-369 if (\is_int($value) || \is_float($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:368: characters 4-31 return (string)($value); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:370: lines 370-372 if (\is_bool($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:371: characters 11-35 if ($value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:371: characters 20-24 return "true"; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:371: characters 29-34 return "false"; } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:373: lines 373-379 if (\is_array($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:374: characters 4-37 $strings = []; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:375: lines 375-377 $collection = $value; foreach ($collection as $key => $value1) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:376: characters 5-82 $strings[] = (((string)($key)??'null') . " => " . (Boot::stringify($value1, $maxRecursion - 1)??'null')); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:378: characters 4-52 return "[" . (\implode(", ", $strings)??'null') . "]"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:380: lines 380-418 if (\is_object($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:381: lines 381-383 if (($value instanceof \Array_hx)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:382: characters 5-75 return Boot::stringifyNativeIndexedArray(Boot::dynamicField($value, 'arr'), $maxRecursion - 1); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:384: lines 384-392 if (($value instanceof HxEnum)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:385: characters 5-26 $e = $value; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:386: characters 5-24 $result = $e->tag; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:387: lines 387-390 if (\count($e->params) > 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:388: characters 6-109 $strings = \array_map(function ($item) use (&$maxRecursion) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:388: characters 52-97 return Boot::stringify($item, $maxRecursion - 1); }, $e->params); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:389: characters 6-56 $result = ($result??'null') . "(" . (\implode(",", $strings)??'null') . ")"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:391: characters 5-18 return $result; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:393: lines 393-395 if (\method_exists($value, "toString")) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:394: characters 5-28 return HxDynamicStr::wrap($value)->toString(); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:396: lines 396-398 if (\method_exists($value, "__toString")) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:397: characters 5-30 return $value->__toString(); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:399: lines 399-409 if (($value instanceof \StdClass)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:400: lines 400-402 if (isset($value->toString) && \is_callable(Boot::dynamicField($value, 'toString'))) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:401: characters 6-29 return HxDynamicStr::wrap($value)->toString(); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:403: characters 18-50 $this1 = []; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:403: characters 5-51 $result = $this1; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:404: characters 5-46 $data = \get_object_vars($value); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:405: characters 17-34 $data1 = \array_keys($data); $_g_current = 0; $_g_length = \count($data1); $_g_data = $data1; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:405: lines 405-407 while ($_g_current < $_g_length) { $key = $_g_data[$_g_current++]; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:406: characters 6-75 \array_push($result, "" . ($key??'null') . " : " . (Boot::stringify($data[$key], $maxRecursion - 1)??'null')); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:408: characters 5-54 return "{ " . (\implode(", ", $result)??'null') . " }"; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:410: lines 410-412 if (($value instanceof \Closure) || ($value instanceof HxClosure)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:411: characters 5-24 return ""; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:413: lines 413-417 if (($value instanceof HxClass)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:414: characters 5-74 return "[class " . (Boot::getClassName($value->phpClassName)??'null') . "]"; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:416: characters 5-68 return "[object " . (Boot::getClassName(\get_class($value))??'null') . "]"; } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:419: characters 3-8 throw Exception::thrown("Unable to stringify value"); } /** * @param mixed[] $arr * @param int $maxRecursion * * @return string */ public static function stringifyNativeIndexedArray ($arr, $maxRecursion = 10) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:422: lines 422-428 if ($maxRecursion === null) { $maxRecursion = 10; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:423: characters 3-36 $strings = []; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:424: lines 424-426 foreach ($arr as $key => $value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:425: characters 4-60 $strings[$key] = Boot::stringify($value, $maxRecursion - 1); } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:427: characters 3-50 return "[" . (\implode(",", $strings)??'null') . "]"; } /** * Implementation for `cast(value, Class)` * @throws haxe.ValueError if `value` cannot be casted to this type * * @param HxClass $hxClass * @param mixed $value * * @return mixed */ public static function typedCast ($hxClass, $value) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:323: lines 323-324 if ($value === null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:324: characters 4-15 return null; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:325: characters 11-31 $__hx__switch = ($hxClass->phpClassName); if ($__hx__switch === "Bool") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:335: lines 335-337 if (\is_bool($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:336: characters 6-18 return $value; } } else if ($__hx__switch === "Float") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:331: lines 331-333 if (\is_int($value) || \is_float($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:332: characters 6-29 return \floatval($value); } } else if ($__hx__switch === "Int") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:327: lines 327-329 if (\is_int($value) || \is_float($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:328: characters 6-33 return \intval($value); } } else if ($__hx__switch === "String") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:339: lines 339-341 if (\is_string($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:340: characters 6-18 return $value; } } else if ($__hx__switch === "array") { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:343: lines 343-345 if (\is_array($value)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:344: characters 6-18 return $value; } } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:347: lines 347-349 if (\is_object($value) && Boot::isOfType($value, $hxClass)) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:348: characters 6-18 return $value; } } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:351: characters 3-8 throw Exception::thrown("Cannot cast " . \Std::string($value) . " to " . (Boot::getClassName($hxClass->phpClassName)??'null')); } /** * Get UTF-8 code of the first character in `s` without any checks * * @param mixed $s * * @return int */ public static function unsafeOrd ($s) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:641: characters 3-31 $code = \ord($s[0]); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:642: lines 642-650 if ($code < 192) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:643: characters 4-15 return $code; } else if ($code < 224) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:645: characters 4-57 return (($code - 192) << 6) + \ord($s[1]) - 128; } else if ($code < 240) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:647: characters 4-93 return (($code - 224) << 12) + ((\ord($s[1]) - 128) << 6) + \ord($s[2]) - 128; } else { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:649: characters 4-129 return (($code - 240) << 18) + ((\ord($s[1]) - 128) << 12) + ((\ord($s[2]) - 128) << 6) + \ord($s[3]) - 128; } } /** * @internal * @access private */ static public function __hx__init () { static $called = false; if ($called) return; $called = true; #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:60: characters 3-39 \mb_internal_encoding("UTF-8"); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:61: lines 61-81 if (!\defined("HAXE_CUSTOM_ERROR_HANDLER") || !\HAXE_CUSTOM_ERROR_HANDLER) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:62: characters 4-82 $previousLevel = \error_reporting(\E_ALL & ~\E_DEPRECATED); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:63: lines 63-75 $previousHandler = \set_error_handler(function ($errno, $errstr, $errfile, $errline) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:64: lines 64-66 if ((\error_reporting() & $errno) === 0) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:65: characters 6-18 return false; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:71: lines 71-73 if (($errno === \E_WARNING) && ($errstr === "Division by zero")) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:72: characters 6-17 return true; } #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:74: characters 5-10 throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); }); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:77: lines 77-80 if ($previousHandler !== null) { #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:78: characters 5-42 \error_reporting($previousLevel); #/nix/store/ljakxdz94hcvn9b4k9y292dn5lhh20iy-haxe-4.2.5/lib/haxe/std/php/Boot.hx:79: characters 5-46 \set_error_handler($previousHandler); } } $this1 = []; self::$aliases = $this1; $this1 = []; self::$classes = $this1; $this1 = []; self::$getters = $this1; $this1 = []; self::$setters = $this1; $this1 = []; self::$meta = $this1; $this1 = []; self::$staticClosures = $this1; } } require_once __DIR__.'/_polyfills.php'; Boot::__hx__init(); Boot::registerClass(Boot::class, 'php.Boot');