Cosmetic + Optimization + Assertion + Void-safety

(no significant interface changes)
This commit is contained in:
jfiat
2009-03-18 15:29:41 +00:00
parent 1359a1ceae
commit 548a320448
13 changed files with 1367 additions and 1273 deletions

View File

@@ -8,28 +8,31 @@ class
JSON_FILE_READER
feature -- Access
read_json_from(a_path:STRING):STRING is
local
l_file: PLAIN_TEXT_FILE
template_content:STRING
do
create l_file.make (a_path)
-- We perform several checks until we make a real attempt to open the file.
if not l_file.exists then
print ("error: '" + a_path + "' does not exist%N")
else
if not l_file.is_readable then
print ("error: '" + a_path + "' is not readable.%N")
else
l_file.open_read
create template_content.make_empty
l_file.read_stream (l_file.count)
template_content.append (l_file.last_string.twin)
Result := template_content
l_file.close
end
end
end
read_json_from (a_path: STRING): ?STRING is
local
l_file: PLAIN_TEXT_FILE
template_content: STRING
l_last_string: ?STRING
do
create l_file.make (a_path)
-- We perform several checks until we make a real attempt to open the file.
if not l_file.exists then
print ("error: '" + a_path + "' does not exist%N")
else
if not l_file.is_readable then
print ("error: '" + a_path + "' is not readable.%N")
else
l_file.open_read
create template_content.make_empty
l_file.read_stream (l_file.count)
l_last_string := l_file.last_string
check l_last_string /= Void end -- implied by postcondition of `l_file.read_stream'
template_content.append (l_last_string.string)
Result := template_content
l_file.close
end
end
end
end