c
#define SAFE_ASSERT(condition, error_action) \
  do { \
    if (!(condition)) { \
      error_action; \
    } \
  } while (0)

SAFE_ASSERT(func_obj_p != NULL && !ecma_is_lexical_environment (func_obj_p),
            return ecma_raise_type_error (ECMA_ERR_INVALID_FUNCTION_OBJECT));
