| Index: tools/json_schema_compiler/cpp_type_generator.py
|
| diff --git a/tools/json_schema_compiler/cpp_type_generator.py b/tools/json_schema_compiler/cpp_type_generator.py
|
| index 95329c3f548614603df6fd0849879f852c57c086..2a19fcdde5f3b9fde58b62a4e46574c68b9a4494 100644
|
| --- a/tools/json_schema_compiler/cpp_type_generator.py
|
| +++ b/tools/json_schema_compiler/cpp_type_generator.py
|
| @@ -6,6 +6,7 @@ from code import Code
|
| from model import PropertyType
|
| import any_helper
|
| import cpp_util
|
| +import operator
|
| import schema_util
|
|
|
| class CppTypeGenerator(object):
|
| @@ -209,7 +210,7 @@ class CppTypeGenerator(object):
|
| c = Code()
|
| namespace_type_dependencies = self._NamespaceTypeDependencies()
|
| for namespace in sorted(namespace_type_dependencies.keys(),
|
| - key=lambda ns: ns.name):
|
| + key=operator.attrgetter('name')):
|
| c.Append('namespace %s {' % namespace.name)
|
| for type_ in sorted(namespace_type_dependencies[namespace],
|
| key=schema_util.StripSchemaNamespace):
|
| @@ -222,7 +223,8 @@ class CppTypeGenerator(object):
|
| 'name': type_name,
|
| 'item_type': self.GetType(namespace.types[type_].item_type,
|
| wrap_optional=True)})
|
| - else:
|
| + # Enums cannot be forward declared.
|
| + elif namespace.types[type_].type_ != PropertyType.ENUM:
|
| c.Append('struct %s;' % type_name)
|
| c.Append('}')
|
| c.Concat(self.GetNamespaceStart())
|
|
|