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

Unified Diff: ppapi/generators/idl_c_proto.py

Issue 8586031: Convert a few ppapi dev interfaces to IDL. NaCl has tests for these (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clean up a bit more Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/generators/idl_c_header.py ('k') | ppapi/generators/idl_lexer.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/generators/idl_c_proto.py
diff --git a/ppapi/generators/idl_c_proto.py b/ppapi/generators/idl_c_proto.py
index f3eab9da58dbfe137bc6a115c7bce8415429967d..584cfaa813871311e8502976b92ef7a58a5e5f21 100644
--- a/ppapi/generators/idl_c_proto.py
+++ b/ppapi/generators/idl_c_proto.py
@@ -254,7 +254,11 @@ class CGen(object):
# If it's an enum, or typedef then return the Enum's name
elif typeref.IsA('Enum', 'Typedef'):
- name = '%s%s' % (prefix, typeref.GetName())
+ # The enum may have skipped having a typedef, we need prefix with 'enum'.
+ if typeref.GetProperty('notypedef'):
+ name = 'enum %s%s' % (prefix, typeref.GetName())
+ else:
+ name = '%s%s' % (prefix, typeref.GetName())
else:
raise RuntimeError('Getting name of non-type %s.' % node)
@@ -413,12 +417,15 @@ class CGen(object):
def DefineEnum(self, node, releases, prefix='', comment=False):
__pychecker__ = 'unusednames=comment,releases'
self.LogEnter('DefineEnum %s' % node)
- unnamed = node.GetProperty('unnamed')
+ name = '%s%s' % (prefix, node.GetName())
+ notypedef = node.GetProperty('notypedef')
+ unnamed = node.GetProperty('unnamed')
if unnamed:
out = 'enum {'
+ elif notypedef:
+ out = 'enum %s {' % name
else:
out = 'typedef enum {'
- name = '%s%s' % (prefix, node.GetName())
enumlist = []
for child in node.GetListOf('EnumItem'):
value = child.GetProperty('VALUE')
@@ -430,7 +437,7 @@ class CGen(object):
enumlist.append('%s %s' % (comment_txt, item_txt))
self.LogExit('Exit DefineEnum')
- if unnamed:
+ if unnamed or notypedef:
out = '%s\n%s\n};\n' % (out, ',\n'.join(enumlist))
else:
out = '%s\n%s\n} %s;\n' % (out, ',\n'.join(enumlist), name)
« no previous file with comments | « ppapi/generators/idl_c_header.py ('k') | ppapi/generators/idl_lexer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698