| Index: tools/json_schema_compiler/idl_schema.py
|
| diff --git a/tools/json_schema_compiler/idl_schema.py b/tools/json_schema_compiler/idl_schema.py
|
| index 907aacf8e865f00897cdd8231afd4e5e38ccdb90..d8b510f5cc3ee99bd84a90b8537fda2dabb14080 100644
|
| --- a/tools/json_schema_compiler/idl_schema.py
|
| +++ b/tools/json_schema_compiler/idl_schema.py
|
| @@ -9,6 +9,7 @@ import os.path
|
| import re
|
| import sys
|
|
|
| +from json_parse import OrderedDict
|
| import schema_util
|
|
|
| # This file is a peer to json_schema.py. Each of these files understands a
|
| @@ -70,7 +71,7 @@ def ProcessComment(comment):
|
| parent_comment = (parent_comment.strip().replace('\n\n', '<br/><br/>')
|
| .replace('\n', ''))
|
|
|
| - params = {}
|
| + params = OrderedDict()
|
| for (cur_param, next_param) in itertools.izip_longest(parameter_starts,
|
| parameter_starts[1:]):
|
| param_name = cur_param.group(1)
|
| @@ -124,7 +125,7 @@ class Dictionary(object):
|
| self.node = dictionary_node
|
|
|
| def process(self, callbacks):
|
| - properties = {}
|
| + properties = OrderedDict()
|
| for node in self.node.children:
|
| if node.cls == 'Member':
|
| k, v = Member(node).process(callbacks)
|
| @@ -147,13 +148,13 @@ class Member(object):
|
| self.node = member_node
|
|
|
| def process(self, callbacks):
|
| - properties = {}
|
| + properties = OrderedDict()
|
| name = self.node.GetName()
|
| for property_name in ('OPTIONAL', 'nodoc', 'nocompile'):
|
| if self.node.GetProperty(property_name):
|
| properties[property_name.lower()] = True
|
| is_function = False
|
| - parameter_comments = {}
|
| + parameter_comments = OrderedDict()
|
| for node in self.node.children:
|
| if node.cls == 'Comment':
|
| (parent_comment, parameter_comments) = ProcessComment(node.GetName())
|
| @@ -183,7 +184,7 @@ class Typeref(object):
|
| function parameter, converts into a Python dictionary that the JSON schema
|
| compiler expects to see.
|
| '''
|
| - def __init__(self, typeref, parent, additional_properties={}):
|
| + def __init__(self, typeref, parent, additional_properties=OrderedDict()):
|
| self.typeref = typeref
|
| self.parent = parent
|
| self.additional_properties = additional_properties
|
| @@ -200,7 +201,7 @@ class Typeref(object):
|
| for sibling in self.parent.GetChildren():
|
| if sibling.cls == 'Array' and sibling.GetName() == self.parent.GetName():
|
| properties['type'] = 'array'
|
| - properties['items'] = {}
|
| + properties['items'] = OrderedDict()
|
| properties = properties['items']
|
| break
|
|
|
| @@ -217,7 +218,7 @@ class Typeref(object):
|
| elif self.typeref == 'object':
|
| properties['type'] = 'object'
|
| if 'additionalProperties' not in properties:
|
| - properties['additionalProperties'] = {}
|
| + properties['additionalProperties'] = OrderedDict()
|
| properties['additionalProperties']['type'] = 'any'
|
| instance_of = self.parent.GetProperty('instanceOf')
|
| if instance_of:
|
| @@ -283,7 +284,7 @@ class Namespace(object):
|
| self.events = []
|
| self.functions = []
|
| self.types = []
|
| - self.callbacks = {}
|
| + self.callbacks = OrderedDict()
|
| self.permissions = permissions or []
|
|
|
| def process(self):
|
|
|