Пример #1
0
 def walk(parents):
     for parent in parents:
         parent_name = parent.type.id
         if IsDartCollectionType(parent_name):
             result.append(parent_name)
             continue
         if self.HasInterface(parent_name):
             parent_interface = self.GetInterface(parent_name)
             result.append(parent_interface)
             walk(parent_interface.parents)
Пример #2
0
 def walk(parents):
     for parent in parents:
         parent_name = parent.type.id
         if parent_name == 'EventTarget':
             # Currently EventTarget is implemented as a mixin, not a proper
             # super interface---ignore its members.
             continue
         if IsDartCollectionType(parent_name):
             result.append(parent_name)
             continue
         if self._database.HasInterface(parent_name):
             parent_interface = self._database.GetInterface(parent_name)
             result.append(parent_interface)
             walk(parent_interface.parents)
Пример #3
0
 def walk(parents, walk_result):
     for parent in parents:
         parent_name = parent.type.id
         if IsDartCollectionType(parent_name):
             if not (parent_name in walk_result):
                 walk_result.append(parent_name)
             continue
         if self.HasInterface(parent_name):
             parent_interface = self.GetInterface(parent_name)
             if not (parent_interface in walk_result):
                 # Interface has multi-inherited don't add interfaces more than once
                 # to our parent result list.
                 walk_result.append(parent_interface)
             walk(parent_interface.parents, walk_result)
     return walk_result