Sixth round of contracts for non-Void-safe users

This commit is contained in:
Colin Adams
2013-03-15 14:50:59 +00:00
parent acc0f4ae94
commit 2d439a2414
3 changed files with 27 additions and 0 deletions

View File

@@ -26,14 +26,27 @@ create
feature {NONE} -- Initialization
make (a_router: WSF_ROUTER)
-- Initialize `router'.
require
a_router_attached: a_router /= Void
do
router := a_router
ensure
router_aliased: router = a_router
not_hidden: not is_hidden
end
make_hidden (a_router: WSF_ROUTER)
-- Initialize `router'.
-- Do not display documentation for `a_router'.
require
a_router_attached: a_router /= Void
do
make (a_router)
is_hidden := True
ensure
router_aliased: router = a_router
hidden: is_hidden
end
router: WSF_ROUTER
@@ -46,6 +59,7 @@ feature {NONE} -- Initialization
feature -- Documentation
mapping_documentation (m: WSF_ROUTER_MAPPING; a_request_methods: detachable WSF_REQUEST_METHODS): WSF_ROUTER_MAPPING_DOCUMENTATION
-- <Precursor>
do
create Result.make (m)
Result.set_is_hidden (is_hidden)
@@ -76,4 +90,8 @@ feature -- Execution
res.send (m)
end
invariant
router_attached: router /= Void
end

View File

@@ -12,7 +12,12 @@ feature -- Documentation
mapping_documentation (m: WSF_ROUTER_MAPPING; a_request_methods: detachable WSF_REQUEST_METHODS): WSF_ROUTER_MAPPING_DOCUMENTATION
-- Documentation associated with Current handler, in the context of the mapping `m' and methods `a_request_methods'.
--| `m' and `a_request_methods' are useful to produce specific documentation when the handler is used for multiple mapping.
require
m_attached: m /= Void
a_request_methods_attached: a_request_methods /= Void
deferred
ensure
mapping_documentation_attached: Result /= Void
end
end