<?php
-class FFI
+final class FFI
{
- /** @return ?FFI */
- static function cdef(string $code = UNKNOWN, string $lib = UNKNOWN) {}
+ static function cdef(string $code = UNKNOWN, string $lib = UNKNOWN): ?FFI {}
- /** @return ?FFI */
- static function load(string $filename) {}
+ static function load(string $filename): ?FFI {}
- /** @return ?FFI */
- static function scope(string $scope_name) {}
+ static function scope(string $scope_name): ?FFI {}
- /**
- * @param FFI\CType|string $type
- * @return ?FFI\CData
- */
- static function new($type, bool $owned = true, bool $persistent = false) {}
+ /** @param FFI\CType|string $type */
+ static function new($type, bool $owned = true, bool $persistent = false): ?FFI\CData {}
- /**
- * @prefer-ref $ptr
- * @return void
- */
- static function free(FFI\CData $ptr) {}
+ /** @prefer-ref $ptr */
+ static function free(FFI\CData $ptr): void {}
/**
* @param FFI\CType|string $type
* @prefer-ref $ptr
- * @return ?FFI\CData
*/
- static function cast($type, $ptr) {}
+ static function cast($type, $ptr): ?FFI\CData {}
- /** @return ?FFI\CType */
- static function type(string $type) {}
+ static function type(string $type): ?FFI\CType {}
- /**
- * @prefer-ref $ptr
- * @return FFI\CType
- */
- static function typeof(FFI\CData $ptr) {}
+ /** @prefer-ref $ptr */
+ static function typeof(FFI\CData $ptr): ?FFI\CType {}
- /** @return ?FFI\CType */
- static function arrayType(FFI\CType $type, array $dims) {}
+ static function arrayType(FFI\CType $type, array $dims): ?FFI\CType {}
- /**
- * @prefer-ref $ptr
- * @return FFI\CData
- */
- static function addr(FFI\CData $ptr) {}
+ /** @prefer-ref $ptr */
+ static function addr(FFI\CData $ptr): FFI\CData {}
- /**
- * @prefer-ref $ptr
- * @return ?int
- */
- static function sizeof(object $ptr) {}
+ /** @prefer-ref $ptr */
+ static function sizeof(object $ptr): ?int {}
- /**
- * @prefer-ref $ptr
- * @return ?int
- */
- static function alignof(object $ptr) {}
+ /** @prefer-ref $ptr */
+ static function alignof(object $ptr): ?int {}
/**
* @prefer-ref $dst
* @prefer-ref $src
* @param string|FFI\CData $dst
- * @return void
*/
- static function memcpy(FFI\CData $dst, $src, int $size) {}
+ static function memcpy(FFI\CData $dst, $src, int $size): void {}
/**
* @prefer-ref $ptr1
* @param string|FFI\CData $ptr1
* @prefer-ref $ptr2
* @param string|FFI\CData $ptr2
- * @return ?int
*/
- static function memcmp($ptr1, $ptr2, int $size) {}
+ static function memcmp($ptr1, $ptr2, int $size): ?int {}
- /**
- * @prefer-ref $ptr
- * @return void
- */
- static function memset(FFI\CData $ptr, int $ch, int $size) {}
+ /** @prefer-ref $ptr */
+ static function memset(FFI\CData $ptr, int $ch, int $size): void {}
- /**
- * @prefer-ref $ptr
- * @return ?string
- */
- static function string(FFI\CData $ptr, int $size = UNKNOWN) {}
+ /** @prefer-ref $ptr */
+ static function string(FFI\CData $ptr, int $size = UNKNOWN): ?string {}
- /**
- * @prefer-ref $ptr
- */
- static function isNull(FFI\CData $ptr) {}
+ /** @prefer-ref $ptr */
+ static function isNull(FFI\CData $ptr): bool {}
}
/* This is a generated file, edit the .stub.php file instead. */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_cdef, 0, 0, 0)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_cdef, 0, 0, FFI, 1)
ZEND_ARG_TYPE_INFO(0, code, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, lib, IS_STRING, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_load, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_load, 0, 1, FFI, 1)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_scope, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_scope, 0, 1, FFI, 1)
ZEND_ARG_TYPE_INFO(0, scope_name, IS_STRING, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_new, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_new, 0, 1, FFI\\CData, 1)
ZEND_ARG_INFO(0, type)
ZEND_ARG_TYPE_INFO(0, owned, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, persistent, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_free, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_free, 0, 1, IS_VOID, 0)
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_cast, 0, 0, 2)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_cast, 0, 2, FFI\\CData, 1)
ZEND_ARG_INFO(0, type)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_type, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_type, 0, 1, FFI\\CType, 1)
ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0)
ZEND_END_ARG_INFO()
-#define arginfo_class_FFI_typeof arginfo_class_FFI_free
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_typeof, 0, 1, FFI\\CType, 1)
+ ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
+ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_arrayType, 0, 0, 2)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_arrayType, 0, 2, FFI\\CType, 1)
ZEND_ARG_OBJ_INFO(0, type, FFI\\CType, 0)
ZEND_ARG_TYPE_INFO(0, dims, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
-#define arginfo_class_FFI_addr arginfo_class_FFI_free
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_addr, 0, 1, FFI\\CData, 0)
+ ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
+ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_sizeof, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_sizeof, 0, 1, IS_LONG, 1)
ZEND_ARG_TYPE_INFO(ZEND_SEND_PREFER_REF, ptr, IS_OBJECT, 0)
ZEND_END_ARG_INFO()
#define arginfo_class_FFI_alignof arginfo_class_FFI_sizeof
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_memcpy, 0, 0, 3)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memcpy, 0, 3, IS_VOID, 0)
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, dst, FFI\\CData, 0)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, src)
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_memcmp, 0, 0, 3)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memcmp, 0, 3, IS_LONG, 1)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr1)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, ptr2)
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_memset, 0, 0, 3)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_memset, 0, 3, IS_VOID, 0)
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
ZEND_ARG_TYPE_INFO(0, ch, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_FFI_string, 0, 0, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_string, 0, 1, IS_STRING, 1)
ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
ZEND_END_ARG_INFO()
-#define arginfo_class_FFI_isNull arginfo_class_FFI_free
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_FFI_isNull, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(ZEND_SEND_PREFER_REF, ptr, FFI\\CData, 0)
+ZEND_END_ARG_INFO()