Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Side by Side Diff: tools/json_schema_compiler/h_generator.py

Issue 39113003: Docserver: Display enum value descriptions in API docs. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from code import Code 5 from code import Code
6 from model import PropertyType 6 from model import PropertyType
7 import cpp_util 7 import cpp_util
8 import schema_util 8 import schema_util
9 9
10 class HGenerator(object): 10 class HGenerator(object):
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 ExpandType([], type_) 137 ExpandType([], type_)
138 return dependency_order 138 return dependency_order
139 139
140 def _GenerateEnumDeclaration(self, enum_name, type_): 140 def _GenerateEnumDeclaration(self, enum_name, type_):
141 """Generate the declaration of a C++ enum. 141 """Generate the declaration of a C++ enum.
142 """ 142 """
143 c = Code() 143 c = Code()
144 c.Sblock('enum %s {' % enum_name) 144 c.Sblock('enum %s {' % enum_name)
145 c.Append(self._type_helper.GetEnumNoneValue(type_) + ',') 145 c.Append(self._type_helper.GetEnumNoneValue(type_) + ',')
146 for value in type_.enum_values: 146 for value in type_.enum_values:
147 c.Append(self._type_helper.GetEnumValue(type_, value) + ',') 147 c.Append(self._type_helper.GetEnumValue(type_, value['name']) + ',')
not at google - send to devlin 2013/10/28 18:00:25 maybe GetEnumValue should take the enum not enum['
Sam McNally 2013/10/29 00:39:02 Done.
148 return c.Eblock('};') 148 return c.Eblock('};')
149 149
150 def _GenerateFields(self, props): 150 def _GenerateFields(self, props):
151 """Generates the field declarations when declaring a type. 151 """Generates the field declarations when declaring a type.
152 """ 152 """
153 c = Code() 153 c = Code()
154 needs_blank_line = False 154 needs_blank_line = False
155 for prop in props: 155 for prop in props:
156 if needs_blank_line: 156 if needs_blank_line:
157 c.Append() 157 c.Append()
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 if generate_typedefs: 201 if generate_typedefs:
202 if type_.description: 202 if type_.description:
203 c.Comment(type_.description) 203 c.Comment(type_.description)
204 c.Append('typedef std::string %(classname)s;') 204 c.Append('typedef std::string %(classname)s;')
205 elif type_.property_type == PropertyType.ENUM: 205 elif type_.property_type == PropertyType.ENUM:
206 if type_.description: 206 if type_.description:
207 c.Comment(type_.description) 207 c.Comment(type_.description)
208 c.Sblock('enum %(classname)s {') 208 c.Sblock('enum %(classname)s {')
209 c.Append('%s,' % self._type_helper.GetEnumNoneValue(type_)) 209 c.Append('%s,' % self._type_helper.GetEnumNoneValue(type_))
210 for value in type_.enum_values: 210 for value in type_.enum_values:
211 c.Append('%s,' % self._type_helper.GetEnumValue(type_, value)) 211 c.Append('%s,' % self._type_helper.GetEnumValue(type_, value['name']))
212 # Top level enums are in a namespace scope so the methods shouldn't be 212 # Top level enums are in a namespace scope so the methods shouldn't be
213 # static. On the other hand, those declared inline (e.g. in an object) do. 213 # static. On the other hand, those declared inline (e.g. in an object) do.
214 maybe_static = '' if is_toplevel else 'static ' 214 maybe_static = '' if is_toplevel else 'static '
215 (c.Eblock('};') 215 (c.Eblock('};')
216 .Append() 216 .Append()
217 .Append('%sstd::string ToString(%s as_enum);' % 217 .Append('%sstd::string ToString(%s as_enum);' %
218 (maybe_static, classname)) 218 (maybe_static, classname))
219 .Append('%s%s Parse%s(const std::string& as_string);' % 219 .Append('%s%s Parse%s(const std::string& as_string);' %
220 (maybe_static, classname, classname)) 220 (maybe_static, classname, classname))
221 ) 221 )
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 .Append('} // namespace Results') 388 .Append('} // namespace Results')
389 ) 389 )
390 return c 390 return c
391 391
392 def _GenerateParams(self, params): 392 def _GenerateParams(self, params):
393 """Builds the parameter list for a function, given an array of parameters. 393 """Builds the parameter list for a function, given an array of parameters.
394 """ 394 """
395 if self._generate_error_messages: 395 if self._generate_error_messages:
396 params += ('base::string16* error = NULL',) 396 params += ('base::string16* error = NULL',)
397 return ', '.join(str(p) for p in params) 397 return ', '.join(str(p) for p in params)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698