> 31) & 0x1)) & ~0xFFFFFFFF); } else { if (bccomp($var, 0x7FFFFFFF) > 0) { $var = bcsub($var, "4294967296"); } $var = (int) $var; } } else { trigger_error("Expect integer.", E_USER_ERROR); } } public static function checkInt64(&$var) { if (is_numeric($var)) { if (PHP_INT_SIZE == 8) { $var = intval($var); } else { $var = bcdiv($var, 1, 0); } } else { trigger_error("Expect integer.", E_USER_ERROR); } } public static function checkUint64(&$var) { if (is_numeric($var)) { if (PHP_INT_SIZE == 8) { $var = intval($var); } else { $var = bcdiv($var, 1, 0); } } else { trigger_error("Expect integer.", E_USER_ERROR); } } public static function checkFloat(&$var) { if (is_float($var) || is_numeric($var)) { $var = floatval($var); } else { trigger_error("Expect float.", E_USER_ERROR); } } public static function checkDouble(&$var) { if (is_float($var) || is_numeric($var)) { $var = floatval($var); } else { trigger_error("Expect float.", E_USER_ERROR); } } public static function checkBool(&$var) { if (is_array($var) || is_object($var)) { trigger_error("Expect boolean.", E_USER_ERROR); return; } $var = boolval($var); } public static function checkMessage(&$var, $klass) { if (!$var instanceof $klass && !is_null($var)) { trigger_error("Expect message.", E_USER_ERROR); } } public static function checkRepeatedField(&$var, $type, $klass = null) { if (!$var instanceof RepeatedField) { trigger_error("Expect repeated field.", E_USER_ERROR); } if ($var->getType() != $type) { trigger_error( "Expect repeated field of different type.", E_USER_ERROR); } if ($var->getType() === GPBType::MESSAGE && $var->getClass() !== $klass) { trigger_error( "Expect repeated field of different message.", E_USER_ERROR); } } public static function Int64($value) { return new Int64($value); } public static function Uint64($value) { return new Uint64($value); } }