
extern zend_class_entry *phalcon_contracts_container_service_definition_ce;

ZEPHIR_INIT_CLASS(Phalcon_Contracts_Container_Service_Definition);

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_addextender, 0, 1, MAY_BE_STATIC)
	ZEND_ARG_INFO(0, extender)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_buildservice, 0, 1, MAY_BE_OBJECT)
	ZEND_ARG_OBJ_INFO(0, ioc, Phalcon\\Contracts\\Container\\Ioc\\IocContainer, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_getclass, 0, 0, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_getextenders, 0, 0, IS_ARRAY, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_contracts_container_service_definition_getfactory, 0, 0, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_getlifetime, 0, 0, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_getservicename, 0, 0, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_hasclass, 0, 0, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_hasextenders, 0, 0, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_contracts_container_service_definition_hasfactory, 0, 0, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_setclass, 0, 1, MAY_BE_STATIC)
	ZEND_ARG_TYPE_INFO(0, className, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_setextenders, 0, 1, MAY_BE_STATIC)
	ZEND_ARG_ARRAY_INFO(0, extenders, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_setfactory, 0, 1, MAY_BE_STATIC)
	ZEND_ARG_INFO(0, factory)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_setlifetime, 0, 1, MAY_BE_STATIC)
	ZEND_ARG_TYPE_INFO(0, lifetime, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_unsetclass, 0, 0, MAY_BE_STATIC)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_unsetextenders, 0, 0, MAY_BE_STATIC)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_phalcon_contracts_container_service_definition_unsetfactory, 0, 0, MAY_BE_STATIC)
ZEND_END_ARG_INFO()

ZEPHIR_INIT_FUNCS(phalcon_contracts_container_service_definition_method_entry) {
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, addExtender, arginfo_phalcon_contracts_container_service_definition_addextender)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, buildService, arginfo_phalcon_contracts_container_service_definition_buildservice)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, getClass, arginfo_phalcon_contracts_container_service_definition_getclass)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, getExtenders, arginfo_phalcon_contracts_container_service_definition_getextenders)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, getFactory, arginfo_phalcon_contracts_container_service_definition_getfactory)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, getLifetime, arginfo_phalcon_contracts_container_service_definition_getlifetime)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, getServiceName, arginfo_phalcon_contracts_container_service_definition_getservicename)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, hasClass, arginfo_phalcon_contracts_container_service_definition_hasclass)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, hasExtenders, arginfo_phalcon_contracts_container_service_definition_hasextenders)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, hasFactory, arginfo_phalcon_contracts_container_service_definition_hasfactory)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, setClass, arginfo_phalcon_contracts_container_service_definition_setclass)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, setExtenders, arginfo_phalcon_contracts_container_service_definition_setextenders)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, setFactory, arginfo_phalcon_contracts_container_service_definition_setfactory)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, setLifetime, arginfo_phalcon_contracts_container_service_definition_setlifetime)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, unsetClass, arginfo_phalcon_contracts_container_service_definition_unsetclass)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, unsetExtenders, arginfo_phalcon_contracts_container_service_definition_unsetextenders)
	PHP_ABSTRACT_ME(Phalcon_Contracts_Container_Service_Definition, unsetFactory, arginfo_phalcon_contracts_container_service_definition_unsetfactory)
	PHP_FE_END
};
