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

Unified Diff: mojo/public/tools/bindings/pylib/mojom/generate/module.py

Issue 799113004: Update mojo sdk to rev 59145288bae55b0fce4276b017df6a1117bcf00f (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add mojo's ply to checklicenses whitelist Created 6 years 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
Index: mojo/public/tools/bindings/pylib/mojom/generate/module.py
diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/module.py b/mojo/public/tools/bindings/pylib/mojom/generate/module.py
index 24b49598bf15270085a6eae3b1954c06f1969484..b0dbb1d6de1b3c7533a9d2d7f2cb2cee5db1de4a 100644
--- a/mojo/public/tools/bindings/pylib/mojom/generate/module.py
+++ b/mojo/public/tools/bindings/pylib/mojom/generate/module.py
@@ -204,6 +204,29 @@ class Struct(ReferenceKind):
return field
+class Union(ReferenceKind):
+ ReferenceKind.AddSharedProperty('name')
+ ReferenceKind.AddSharedProperty('module')
+ ReferenceKind.AddSharedProperty('imported_from')
+ ReferenceKind.AddSharedProperty('fields')
+
+ def __init__(self, name=None, module=None):
+ if name is not None:
+ spec = 'x:' + name
+ else:
+ spec = None
+ ReferenceKind.__init__(self, spec)
+ self.name = name
+ self.module = module
+ self.imported_from = None
+ self.fields = []
+
+ def AddField(self, name, kind, ordinal=None):
+ field = Field(name, kind, ordinal, default=None)
+ self.fields.append(field)
+ return field
+
+
class Array(ReferenceKind):
ReferenceKind.AddSharedProperty('kind')
ReferenceKind.AddSharedProperty('length')
@@ -339,7 +362,9 @@ class Module(object):
self.path = name
self.namespace = namespace
self.structs = []
+ self.unions = []
self.interfaces = []
+ self.kinds = {}
def AddInterface(self, name):
interface = Interface(name, module=self)
@@ -347,10 +372,15 @@ class Module(object):
return interface
def AddStruct(self, name):
- struct=Struct(name, module=self)
+ struct = Struct(name, module=self)
self.structs.append(struct)
return struct
+ def AddUnion(self, name):
+ union = Union(name, module=self)
+ self.unions.append(union)
+ return union
+
def IsBoolKind(kind):
return kind.spec == BOOL.spec

Powered by Google App Engine
This is Rietveld 408576698