summaryrefslogtreecommitdiffstats
path: root/tools/json_to_struct/struct_generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/json_to_struct/struct_generator.py')
-rw-r--r--tools/json_to_struct/struct_generator.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/tools/json_to_struct/struct_generator.py b/tools/json_to_struct/struct_generator.py
deleted file mode 100644
index 501cb57..0000000
--- a/tools/json_to_struct/struct_generator.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-def _GenerateArrayField(field_info):
- """Generate a string defining an array field in a C structure.
- """
- contents = field_info['contents']
- contents['field'] = '* ' + field_info['field']
- if contents['type'] == 'array':
- raise RuntimeError('Nested arrays are not supported.')
- return (GenerateField(contents) + ';\n' +
- ' const size_t %s_size') % field_info['field'];
-
-def GenerateField(field_info):
- """Generate a string defining a field of the type specified by
- field_info['type'] in a C structure.
- """
- field = field_info['field']
- type = field_info['type']
- if type == 'int':
- return 'const int %s' % field
- elif type == 'string':
- return 'const char* const %s' % field
- elif type == 'string16':
- return 'const wchar_t* const %s' % field
- elif type == 'enum':
- return 'const %s %s' % (field_info['ctype'], field)
- elif type == 'array':
- return _GenerateArrayField(field_info)
- else:
- raise RuntimeError('Unknown field type "%s"' % type)
-
-def GenerateStruct(type_name, schema):
- """Generate a string defining a structure containing the fields specified in
- the schema list.
- """
- lines = [];
- lines.append('struct %s {' % type_name)
- for field_info in schema:
- lines.append(' ' + GenerateField(field_info) + ';')
- lines.append('};');
- return '\n'.join(lines) + '\n';