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

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

Issue 1410053006: Move third_party/mojo/src/mojo/public to mojo/public (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 5 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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 # This module's classes provide an interface to mojo modules. Modules are 5 # This module's classes provide an interface to mojo modules. Modules are
6 # collections of interfaces and structs to be used by mojo ipc clients and 6 # collections of interfaces and structs to be used by mojo ipc clients and
7 # servers. 7 # servers.
8 # 8 #
9 # A simple interface would be created this way: 9 # A simple interface would be created this way:
10 # module = mojom.generate.module.Module('Foo') 10 # module = mojom.generate.module.Module('Foo')
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 587
588 def IsMoveOnlyKind(kind): 588 def IsMoveOnlyKind(kind):
589 return (not IsStringKind(kind) and IsObjectKind(kind)) or \ 589 return (not IsStringKind(kind) and IsObjectKind(kind)) or \
590 IsAnyHandleKind(kind) or IsInterfaceKind(kind) or IsAssociatedKind(kind) 590 IsAnyHandleKind(kind) or IsInterfaceKind(kind) or IsAssociatedKind(kind)
591 591
592 592
593 def IsCloneableKind(kind): 593 def IsCloneableKind(kind):
594 def _IsCloneable(kind, visited_kinds): 594 def _IsCloneable(kind, visited_kinds):
595 if kind in visited_kinds: 595 if kind in visited_kinds:
596 # No need to examine the kind again. 596 # No need to examine the kind again.
597 return True 597 return True
598 visited_kinds.add(kind) 598 visited_kinds.add(kind)
599 if IsAnyHandleKind(kind) or IsInterfaceKind(kind) or IsAssociatedKind(kind): 599 if IsAnyHandleKind(kind) or IsInterfaceKind(kind) or IsAssociatedKind(kind):
600 return False 600 return False
601 if IsArrayKind(kind): 601 if IsArrayKind(kind):
602 return _IsCloneable(kind.kind, visited_kinds) 602 return _IsCloneable(kind.kind, visited_kinds)
603 if IsStructKind(kind) or IsUnionKind(kind): 603 if IsStructKind(kind) or IsUnionKind(kind):
604 for field in kind.fields: 604 for field in kind.fields:
605 if not _IsCloneable(field.kind, visited_kinds): 605 if not _IsCloneable(field.kind, visited_kinds):
606 return False 606 return False
607 if IsMapKind(kind): 607 if IsMapKind(kind):
608 # No need to examine the key kind, only primitive kinds and non-nullable 608 # No need to examine the key kind, only primitive kinds and non-nullable
609 # string are allowed to be key kinds. 609 # string are allowed to be key kinds.
610 return _IsCloneable(kind.value_kind, visited_kinds) 610 return _IsCloneable(kind.value_kind, visited_kinds)
611 return True 611 return True
612 612
613 return _IsCloneable(kind, set()) 613 return _IsCloneable(kind, set())
614 614
615 615
616 def HasCallbacks(interface): 616 def HasCallbacks(interface):
617 for method in interface.methods: 617 for method in interface.methods:
618 if method.response_parameters != None: 618 if method.response_parameters != None:
619 return True 619 return True
620 return False 620 return False
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698