Update JSON_OBJECT, put routine, now follows Eiffel Style based on HAST_TABLE

This commit is contained in:
jvelilla
2008-06-09 02:18:34 +00:00
parent aaa10d178a
commit cb595d27f4
2 changed files with 32 additions and 27 deletions

View File

@@ -17,7 +17,4 @@
<cluster name="scanner" location=".\scanner\"/> <cluster name="scanner" location=".\scanner\"/>
</cluster> </cluster>
</target> </target>
<target name="json_dotnet" extends="json">
<setting name="msil_generation" value="true"/>
</target>
</system> </system>

View File

@@ -36,10 +36,11 @@ feature -- Initialization
feature -- Change Element feature -- Change Element
put(key:JSON_STRING; value:JSON_VALUE) is put(value:JSON_VALUE ; key:JSON_STRING) is
-- -- Assuming there is no item of key `key',
-- insert `value' with `key'.
require require
not_null: key /= Void not_present: not has_key (key)
local local
l_json_null:JSON_NULL l_json_null:JSON_NULL
l_value:JSON_VALUE l_value:JSON_VALUE
@@ -52,6 +53,7 @@ feature -- Change Element
object.extend(l_value,key) object.extend(l_value,key)
end end
feature -- Access feature -- Access
has_key(key:JSON_STRING):BOOLEAN is has_key(key:JSON_STRING):BOOLEAN is
-- has the JSON_OBJECT contains a specific key 'key'. -- has the JSON_OBJECT contains a specific key 'key'.
@@ -59,13 +61,19 @@ feature -- Access
Result := object.has (key) Result := object.has (key)
end end
has_item(value:JSON_VALUE):BOOLEAN is
-- has the JSON_OBJECT contain a specfic item 'value'
do
Result := object.has_item (value)
end
item(key:JSON_STRING):JSON_VALUE is item(key:JSON_STRING):JSON_VALUE is
-- the json_value associated with a key. -- the json_value associated with a key.
do do
Result:= object.item (key) Result:= object.item (key)
end end
get_keys:ARRAY[JSON_STRING] is current_keys:ARRAY[JSON_STRING] is
-- array containing actually used keys -- array containing actually used keys
do do
Result:=object.current_keys Result:=object.current_keys